Kom igångKom igång gratis

Med en tendens

I föregående övning simulerade du aktiekurser som följer en slumpvandring. I den här övningen utvidgar du det på två sätt.

  • Du tittar på en slumpvandring med en tendens (drift). Många tidsserier, till exempel aktiekurser, är slumpvandringar men tenderar att stiga över tid.
  • I föregående övning var bruset i slumpvandringen additivt: slumpmässiga, normalfördelade prisförändringar adderades till det senaste priset. Detta innebär dock att negativa priser teoretiskt sett kan uppstå. Nu gör du i stället bruset multiplikativt: du adderar ett till de slumpmässiga, normalfördelade förändringarna för att få en totalavkastning, och multiplicerar sedan med det senaste priset.

Den här övningen är en del av kursen

Tidsserieanalys i Python

Visa kurs

Övningsinstruktioner

  • Generera 500 slumpmässiga normalfördelade multiplikativa "steg" med medelvärdet 0,1 % och standardavvikelsen 1 % med hjälp av np.random.normal(). Dessa representerar avkastningar – addera ett för att få totalavkastning.
  • Simulera aktiekurserna P:
    • Beräkna det kumulativa produkten av stegen med numpys metod .cumprod().
    • Multiplicera den kumulativa produkten av totalavkastningarna med 100 för att få startvärdet 100.
  • Rita upp den simulerade slumpvandringen med tendens.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod