Zacznij terazZacznij za darmo

Zastosowanie modelu MA

Odbijanie się ceny akcji między kursem kupna a kursem sprzedaży powoduje ujemną autokorelację pierwszego rzędu, ale brak autokorelacji przy opóźnieniach wyższych niż 1. Ten sam wzorzec ACF daje model MA(1). Dlatego dopasujemy model MA(1) do śróddziennych danych giełdowych z poprzedniego ćwiczenia.

Pierwszym krokiem jest obliczenie zwrotów z minuty na minutę na podstawie cen z intraday i wykreślenie funkcji autokorelacji. Powinien być widoczny wzorzec ACF charakterystyczny dla procesu MA(1). Następnie dopasuj dane do modelu MA(1) – tak samo jak w przypadku danych symulowanych.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj moduły plot_acf i ARIMA ze statsmodels
  • Oblicz zwroty z minuty na minutę na podstawie cen:
    • Oblicz zwroty metodą .pct_change()
    • Użyj metody pandas .dropna(), aby usunąć pierwszy wiersz zwrotów, który ma wartość NaN
  • Wykreśl funkcję ACF z opóźnieniami do 60 minut
  • Dopasuj dane zwrotów do modelu MA(1) i wyświetl parametr MA(1)

Interaktywne ćwiczenie praktyczne

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

# Import plot_acf and ARIMA modules from statsmodels
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.tsa.arima.model import ARIMA

# Compute returns from prices and drop the NaN
returns = intraday.___
returns = returns.___

# Plot ACF of returns with lags up to 60 minutes
plot_acf(___, ___)
plt.show()

# Fit the data to an MA(1) model
mod = ARIMA(___, order=(0,0,1))
res = mod.fit()
print(res.params[1])
Edytuj i uruchom kod