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
Ö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.
- Beräkna det kumulativa produkten av stegen med numpys metod
- 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()