IniziaInizia gratis

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

Visualizza il corso

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.
  • 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()
Modifica ed esegui il codice