Bir MA Modeli Uygulama
Hisse senedi fiyatının alış ve satış kotasyonları arasında gidip gelmesi, birinci dereceden negatif otokorelasyona yol açar; ancak 1’in üzerindeki gecikmelerde otokorelasyon görülmez. MA(1) modelinde de aynı ACF desenini elde edersin. Bu nedenle, önceki egzersizdeki gün içi hisse verilerine bir MA(1) modeli uygulayacaksın.
İlk adım, intraday içindeki fiyatlardan dakika dakika getirileri hesaplamak ve otokorelasyon fonksiyonunu çizmek. ACF’nin bir MA(1) süreci gibi göründüğünü gözlemlemelisin. Ardından, simüle edilmiş veride yaptığın gibi bu veriyi bir MA(1) modele uydur.
Bu egzersiz
Python ile Zaman Serisi Analizi
kursunun bir parçasıdırEgzersiz talimatları
- statsmodels içinden
plot_acfveARIMAmodüllerini içe aktar - Fiyatlardan dakika bazında getirileri hesapla:
.pct_change()yöntemiyle getirileri hesapla- İlk satırı NaN olduğu için pandas’ın
.dropna()yöntemiyle at
- ACF’yi 60 dakikaya kadar gecikmelerle çiz
- Getiri verisini bir MA(1) modele uydur ve MA(1) parametresini yazdır
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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])