Tillämpa en MA-modell
När aktiekursen studsar mellan köp- och säljkurs uppstår en negativ autokorrelation av första ordningen, men inga autokorrelationer vid fördröjningar högre än 1. Samma ACF-mönster får du med en MA(1)-modell. Därför ska du anpassa en MA(1)-modell till intradagsdata från föregående övning.
Första steget är att beräkna minut-för-minut-avkastning från priserna i intraday och plotta autokorrelationsfunktionen. Du bör observera att ACF liknar den för en MA(1)-process. Anpassa sedan datan till en MA(1)-modell på samma sätt som du gjorde med simulerad data.
Den här övningen är en del av kursen
Tidsserieanalys i Python
Övningsinstruktioner
- Importera modulerna
plot_acfochARIMAfrån statsmodels - Beräkna minut-för-minut-avkastning från priserna:
- Beräkna avkastningen med metoden
.pct_change() - Använd pandas-metoden
.dropna()för att ta bort den första raden i avkastningen, som är NaN
- Beräkna avkastningen med metoden
- Plotta ACF-funktionen med fördröjningar upp till 60 minuter
- Anpassa avkastningsdata till en MA(1)-modell och skriv ut MA(1)-parametern
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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])