Zacznij terazZacznij za darmo

Białego szumu nie da się prognozować

Szereg czasowy białego szumu to po prostu ciąg nieskorelowanych zmiennych losowych o identycznym rozkładzie. Stopy zwrotu z akcji są często modelowane właśnie jako biały szum. Niestety, w przypadku białego szumu nie można prognozować przyszłych obserwacji na podstawie przeszłych – autokorelacje dla wszystkich opóźnień wynoszą zero.

Wygenerujesz szereg białego szumu i wykreślisz funkcję autokorelacji, aby pokazać, że wynosi zero dla wszystkich opóźnień. Do wygenerowania losowych zwrotów możesz użyć np.random.normal(). W przypadku gaussowskiego procesu białego szumu całkowity opis procesu sprowadza się do podania średniej i odchylenia standardowego.

Wykreśl ten szereg białego szumu, żeby zobaczyć, jak wygląda, a następnie wykreśl funkcję autokorelacji.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wygeneruj 1000 losowych zwrotów z rozkładu normalnego za pomocą np.random.normal(), przyjmując średnią równą 2% (0,02) i odchylenie standardowe równe 5% (0,05) – argument dla średniej to loc, a dla odchylenia standardowego scale.
  • Sprawdź średnią i odchylenie standardowe zwrotów, używając np.mean() i np.std().
  • Wykreśl szereg czasowy.
  • Wykreśl funkcję autokorelacji za pomocą plot_acf z argumentem lags=20.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Import the plot_acf module from statsmodels
from statsmodels.graphics.tsaplots import plot_acf

# Simulate white noise returns
returns = np.random.normal(loc=___, scale=___, size=___)

# Print out the mean and standard deviation of returns
mean = np.mean(___)
std = np.std(___)
print("The mean is %5.3f and the standard deviation is %5.3f" %(mean,std))

# Plot returns series
plt.plot(___)
plt.show()

# Plot autocorrelation function of white noise returns
plot_acf(___, lags=___)
plt.show()
Edytuj i uruchom kod