Cattura il drift
Nell’ultimo esercizio hai simulato prezzi azionari che seguono un random walk. In questo esercizio lo estenderai in due modi.
- Esaminerai un random walk con drift. Molte serie temporali, come i prezzi azionari, sono random walk ma tendono a salire nel tempo.
- Nell’esercizio precedente, il rumore nel random walk era additivo: variazioni casuali e normali del prezzo venivano sommate all’ultimo prezzo. Tuttavia, aggiungendo rumore potresti teoricamente ottenere prezzi negativi. Ora renderai il rumore moltiplicativo: aggiungerai uno alle variazioni casuali e normali per ottenere il rendimento totale e lo moltiplicherai per l’ultimo prezzo.
Questo esercizio fa parte del corso
Analisi delle serie temporali in Python
Istruzioni dell'esercizio
- Genera 500 "passi" moltiplicativi casuali normali con media 0,1% e deviazione standard 1% usando
np.random.normal(), che ora sono rendimenti, e aggiungi uno per ottenere il rendimento totale. - Simula i prezzi azionari
P:- Calcola il prodotto cumulato dei passi usando il metodo numpy
.cumprod(). - Moltiplica il prodotto cumulato dei rendimenti totali per 100 per avere un valore iniziale di 100.
- Calcola il prodotto cumulato dei passi usando il metodo numpy
- Traccia il random walk con drift simulato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Generate 500 random steps
steps = np.random.normal(loc=___, scale=___, size=___) + ___
# Set first element to 1
steps[0]=1
# Simulate the stock price, P, by taking the cumulative product
P = ___ * np.cumprod(___)
# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk with Drift")
plt.show()