Python으로 배우는 GARCH 모델
Chelsea Yang
Data Science Instructor
규칙 1: 돈을 잃지 말라
규칙 2: 규칙 1을 잊지 말라
-- 워런 버핏

VaR는 Value at Risk의 약자입니다
세 가지 요소:
1일 5% VaR: $1백만
1일 동안 포트폴리오 가치가 100만 달러 이상 하락할 확률 5%
10일 1% VaR: $9백만
10일 동안 포트폴리오 가치가 900만 달러 이상 하락할 확률 1%

GARCH로 더 현실적인 VaR 추정
VaR = 평균 + (GARCH 변동성) * 분위수
VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
# Specify and fit a GARCH model
basic_gm = arch_model(bitcoin_data['Return'], p = 1, q = 1,
mean = 'constant', vol = 'GARCH', dist = 't')
gm_result = basic_gm.fit()
# Make variance forecast
gm_forecast = gm_result.forecast(start = '2019-01-01')
2단계: GARCH로 선행 평균과 변동성을 구합니다
mean_forecast = gm_forecast.mean['2019-01-01':]
variance_forecast = gm_forecast.variance['2019-01-01':]
3단계: 신뢰수준에 따른 분위수를 구합니다
표준화 잔차의 GARCH 가정 분포에 기반해 분위수를 추정합니다
# Assume a Student's t-distribution
# ppf(): Percent point function
q_parametric = garch_model.distribution.ppf(0.05, nu)
GARCH 표준화 잔차의 관측 분포에 기반해 분위수를 추정합니다
q_empirical = std_resid.quantile(0.05)
Python으로 배우는 GARCH 모델