Aan de slagGa gratis aan de slag

Voel de drift

In de vorige oefening simuleerde je aandelenkoersen die een random walk volgen. In deze oefening breid je dat op twee manieren uit.

  • Je bekijkt een random walk met een drift. Veel tijdreeksen, zoals aandelenkoersen, zijn random walks maar hebben de neiging om in de tijd op te lopen.
  • In de vorige oefening was de ruis in de random walk additief: willekeurige, normale prijsveranderingen werden op de laatste prijs opgeteld. Maar door ruis toe te voegen kun je theoretisch negatieve prijzen krijgen. Nu maak je de ruis multiplicatief: je telt één op bij de willekeurige, normale veranderingen om een totaalrendement te krijgen, en vermenigvuldigt dat met de laatste prijs.

Deze oefening maakt deel uit van de cursus

Tijdreeksanalyse in Python

Cursus bekijken

Oefeninstructies

  • Genereer 500 willekeurige normale multiplicatieve "stappen" met een gemiddelde van 0,1% en een standaardafwijking van 1% met np.random.normal(). Dit zijn nu rendementen; tel er één bij op voor het totaalrendement.
  • Simuleer aandelenkoersen P:
    • Cummuleer het product van de stappen met de numpy-methode .cumprod().
    • Vermenigvuldig het cumulatieve product van de totale rendementen met 100 om te starten op 100.
  • Plot de gesimuleerde random walk met drift.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren