Přidej drift
V předchozím cvičení jsi simuloval/a ceny akcií sledující náhodnou procházku. V tomto cvičení ji rozšíříš dvěma způsoby.
- Podíváš se na náhodnou procházku s driftem. Mnoho časových řad, například ceny akcií, se chová jako náhodná procházka, ale má tendenci postupem času růst.
- V předchozím cvičení byl šum v náhodné procházce aditivní: náhodné, normálně rozdělené změny ceny se přičítaly k poslední ceně. Při takovém přístupu by ale ceny mohly teoreticky klesnout do záporných hodnot. Nyní šum uděláš multiplikativní: k náhodným, normálně rozděleným změnám přičteš jedničku, čímž získáš celkový výnos, a ten pak vynásobíš poslední cenou.
Toto cvičení je součástí kurzu
Analýza časových řad v Pythonu
Pokyny k cvičení
- Vygeneruj 500 náhodných normálně rozdělených multiplikativních „kroků" pomocí
np.random.normal()se středem 0,1 % a směrodatnou odchylkou 1 % — tyto kroky představují výnosy — a přičti k nim jedničku pro získání celkového výnosu. - Simuluj ceny akcií
P:- Kumulativně vynásob kroky pomocí metody
.cumprod()z NumPy. - Vynásob kumulativní součin celkových výnosů číslem 100, aby počáteční hodnota byla 100.
- Kumulativně vynásob kroky pomocí metody
- Vykresli simulovanou náhodnou procházku s driftem.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()