Aplicarea unui model MA
Oscilarea prețului acțiunii între prețul de cumpărare și cel de vânzare induce o autocorelare negativă de ordinul întâi, fără autocorelare la lag-uri mai mari de 1. Același tipar ACF îl obții și cu un model MA(1). Prin urmare, vei potrivi un model MA(1) pe datele intraday ale acțiunii din exercițiul anterior.
Primul pas este să calculezi randamentele minut cu minut din prețurile din intraday și să reprezinți grafic funcția de autocorelare. Ar trebui să observi că ACF arată ca cel pentru un proces MA(1). Apoi, potrivește datele pe un model MA(1), la fel cum ai făcut pentru datele simulate.
Acest exercițiu face parte din cursul
Analiza seriilor de timp în Python
Instrucțiuni pentru exercițiu
- Importă modulele
plot_acfșiARIMAdin statsmodels - Calculează randamentele minut cu minut din prețuri:
- Calculează randamentele folosind metoda
.pct_change() - Folosește metoda pandas
.dropna()pentru a elimina primul rând din randamente, care este NaN
- Calculează randamentele folosind metoda
- Reprezintă grafic funcția ACF cu lag-uri de până la 60 de minute
- Potrivește datele randamentelor pe un model MA(1) și afișează parametrul MA(1)
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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])