시작하기무료로 시작하기

MA 모델 적용하기

호가 스프레드 사이에서 주가가 위아래로 튀는 현상은 1시차에서 음의 자기상관을 만들지만, 시차 1을 넘는 구간에서는 자기상관이 나타나지 않아요. MA(1) 모델도 동일한 ACF 패턴을 보입니다. 따라서, 이전 연습 문제에서 다룬 일중 주식 데이터를 MA(1) 모델에 적합해 보겠습니다.

첫 단계로 intraday의 가격 데이터에서 분 단위 수익률을 계산하고, 자기상관함수(ACF)를 그려 보세요. ACF가 MA(1) 과정과 유사한 모습을 보이는 것을 확인할 수 있을 거예요. 그런 다음, 모의 데이터에 했던 것과 같은 방식으로 MA(1) 모델을 적합해 보세요.

이 연습은 강의의 일부입니다

Python으로 배우는 시계열 분석

강의 보기

연습 안내

  • statsmodels에서 plot_acfARIMA 모듈을 임포트하세요
  • 가격으로부터 분 단위 수익률을 계산하세요:
    • .pct_change() 메서드로 수익률을 계산하세요
    • pandas의 .dropna() 메서드로 NaN인 첫 행을 제거하세요
  • 최대 60분 시차까지 ACF를 그리세요
  • 수익률 데이터에 MA(1) 모델을 적합하고 MA(1) 모수 값을 출력하세요

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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])
코드 편집 및 실행