주가 변동성 GARCH 모형 (Python)

중급 정량 분석 economic python
예상 소요 시간 60분
사전 지식 Python 기초, 시계열 기초
표본 크기 기준 일간 데이터 500개 이상
통계 가정 정상성, 조건부 분산
난이도: 중급 — 실제 연구에 바로 적용 가능한 수준입니다.

개요

주가 수익률의 변동성(volatility)을 GARCH(1,1) 모형으로 모델링한다. Python의 arch 패키지를 사용하여 조건부 분산을 추정하고 변동성을 시각화한다.

분석 절차

1단계: 수익률 계산

종가 데이터에서 일간 수익률을 계산한다: r_t = (P_t – P_{t-1}) / P_{t-1} × 100

2단계: GARCH 모형 적합

arch_model() 함수에 vol=’Garch’, p=1, q=1을 지정하여 GARCH(1,1) 모형을 적합한다.

3단계: 결과 해석

alpha(arch coefficient)와 beta(garch coefficient)의 합이 1에 가까우면 변동성이 지속성(persistence)을 가진다.

4단계: 조건부 변동성 시각화

conditional_volatility 속성으로 추정된 변동성을 시계열 플롯으로 확인한다.

코드 예제

import pandas as pd
import numpy as np
from arch import arch_model
import matplotlib.pyplot as plt

# 수익률 계산
df = pd.read_csv('stock_data.csv')
df['returns'] = df['close'].pct_change() * 100
df = df.dropna()

# GARCH(1,1) 모형 적합
model = arch_model(df['returns'], vol='Garch', p=1, q=1, mean='Constant', dist='normal')
results = model.fit(disp='off')
print(results.summary())

# 조건부 변동성 시각화
fig, ax = plt.subplots(figsize=(12, 4))
ax.plot(results.conditional_volatility)
ax.set_title('Conditional Volatility (GARCH(1,1))')
ax.set_ylabel('Volatility')
plt.tight_layout()
plt.savefig('garch_volatility.png', dpi=150)

참고문헌

Engle, R. F. (2001). GARCH 101: The Use of ARCH/GARCH Models in Applied Econometrics. Journal of Economic Perspectives, 15(4), 157-168.

코드 예제

PYTHON
import pandas as pd import numpy as np from arch import arch_model import matplotlib.pyplot as plt # 수익률 계산 df = pd.read_csv('stock_data.csv') df['returns'] = df['close'].pct_change() * 100 df = df.dropna() # GARCH(1,1) 모형 적합 model = arch_model(df['returns'], vol='Garch', p=1, q=1, mean='Constant', dist='normal') results = model.fit(disp='off') print(results.summary()) # 조건부 변동성 시각화 fig, ax = plt.subplots(figsize=(12, 4)) ax.plot(results.conditional_volatility) ax.set_title('Conditional Volatility (GARCH(1,1))') ax.set_ylabel('Volatility') plt.tight_layout() plt.savefig('garch_volatility.png', dpi=150)

참고문헌

Engle, R. F. (2001). GARCH 101: The Use of ARCH/GARCH Models in Applied Econometrics. Journal of Economic Perspectives, 15(4), 157-168.

이 방법론과 연결된 콘텐츠