Zacznij terazZacznij za darmo

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

Zobacz kurs

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.
  • 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()
Edytuj i uruchom kod