Błądzenie z dryfem
W poprzednim ćwiczeniu symulowałeś ceny akcji zgodnie z modelem błądzenia losowego. Teraz rozszerzysz ten model na dwa sposoby.
- Przyjrzysz się błądzeniu losowemu z dryfem. Wiele szeregów czasowych, takich jak ceny akcji, to błądzenia losowe, które z czasem mają tendencję do wzrostu.
- W poprzednim ćwiczeniu szum w błądzeniu losowym był addytywny: losowe, normalne zmiany ceny były dodawane do ostatniej ceny. Taki sposób dodawania szumu mógłby jednak teoretycznie prowadzić do ujemnych cen. Teraz szum będzie multiplikatywny: do losowych, normalnych zmian dodasz jedynkę, aby uzyskać całkowitą stopę zwrotu, a następnie pomnożysz ją przez ostatnią cenę.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w Pythonie
Instrukcje do ćwiczenia
- Wygeneruj 500 losowych, normalnych multiplikatywnych „kroków" ze średnią 0,1% i odchyleniem standardowym 1% przy użyciu
np.random.normal()– kroki te reprezentują stopy zwrotu – a następnie dodaj jedynkę, aby uzyskać całkowitą stopę zwrotu. - Zasymuluj ceny akcji
P:- Skumuluj iloczyn kroków metodą
.cumprod()z biblioteki NumPy. - Pomnóż skumulowany iloczyn całkowitych stóp zwrotu przez 100, aby uzyskać wartość początkową równą 100.
- Skumuluj iloczyn kroków metodą
- Narysuj wykres zasymulowanego błądzenia losowego z dryfem.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()