Aan de slagGa gratis aan de slag

Genereer een random walk

Aandelenrendementen worden vaak gemodelleerd als white noise, terwijl aandelenkoersen sterk op een random walk lijken. Met andere woorden: de prijs van vandaag is de prijs van gisteren plus een beetje willekeurige ruis.

Je gaat de koers van een aandeel over de tijd simuleren met een startprijs van 100, die elke dag met een willekeurig bedrag stijgt of daalt. Plot daarna de gesimuleerde aandelenkoers. Als je meerdere keren op de knop "Code uitvoeren" klikt, zie je verschillende realisaties.

Deze oefening maakt deel uit van de cursus

Tijdreeksanalyse in Python

Cursus bekijken

Oefeninstructies

  • Genereer 500 normaal verdeelde "stappen" met mean=0 en standaarddeviatie=1 met np.random.normal(), waarbij het argument voor het gemiddelde loc is en voor de standaarddeviatie scale.
  • Simuleer aandelenkoersen P:
    • Cumuleer de willekeurige steps met de numpy-methode .cumsum()
    • Tel 100 op bij P om een startkoers van 100 te krijgen.
  • Plot de gesimuleerde random walk

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Generate 500 random steps with mean=0 and standard deviation=1
steps = np.random.normal(loc=___, scale=___, size=___)

# Set first element to 0 so that the first price will be the starting stock price
steps[0]=0

# Simulate stock prices, P with a starting price of 100
P = ___ + np.cumsum(___)

# Plot the simulated stock prices
plt.plot(___)
plt.title("Simulated Random Walk")
plt.show()
Code bewerken en uitvoeren