ÎncepețiÎncepe gratuit

Predicția prețului unui activ

Acum poți folosi o rețea neuronală pentru a prezice prețul unui activ – o componentă esențială atât în analiza financiară cantitativă, cât și în managementul riscului.

Vei folosi prețurile acțiunilor Citibank, Goldman Sachs și J. P. Morgan din perioada 2005–2010 pentru a antrena o rețea care să prezică prețul acțiunilor Morgan Stanley.

Vei crea și antrena o rețea neuronală cu un strat de intrare, un strat de ieșire și două straturi ascunse.

Apoi, un grafic de tip scatter va arăta cât de aproape sunt prețurile prezise ale Morgan Stanley de valorile lor reale din perioada 2005–2010. (Reține că, dacă predicțiile sunt perfecte, graficul de tip scatter va fi aliniat pe diagonala la 45 de grade a reprezentării.)

Obiectele Sequential și Dense sunt disponibile, alături de DataFrame-ul prices cu prețurile băncilor de investiții din 2005–2010.

Acest exercițiu face parte din cursul

Managementul Cantitativ al Riscului în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează datele de intrare ca fiind toate prices ale băncilor cu excepția Morgan Stanley, iar datele de ieșire să fie doar prices ale Morgan Stanley.
  • Creează o rețea neuronală Sequential numită model cu două straturi ascunse Dense: primul cu 16 neuroni (și trei neuroni de intrare), iar al doilea cu 8 neuroni.
  • Adaugă un singur strat de ieșire Dense cu 1 neuron pentru a reprezenta prețul Morgan Stanley.
  • Compilează rețeaua neuronală și antreneaz-o prin ajustarea model.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Set the input and output data
training_input = prices.____('Morgan Stanley', axis=1)
training_output = prices['Morgan Stanley']

# Create and train the neural network with two hidden layers
model = ____()
model.add(Dense(16, input_dim=____, activation='sigmoid'))
model.add(____(8, activation='relu'))
model.add(____(1))

model.____(loss='mean_squared_logarithmic_error', optimizer='rmsprop')
model.____(training_input, training_output, epochs=100)

# Scatter plot of the resulting model prediction
axis.scatter(training_output, model.predict(training_input)); plt.show()
Editează și rulează codul