변동성과 극단값

Python을 활용한 정량적 리스크 관리

Jamsheed Shorish

Computational Economist

Chow 검정 가정

  • Chow 검정: 잠재적 구조적 단절의 통계적 유의 식별
  • 필요: 미리 지정한 단절 시점
  • 필요: 선형 관계(예: 팩터 모형) $$ \log(\text{Population}_t) = \alpha + \beta * \text{Year}_t + u_t $$

구조적 단절점이 표시된 중국 인구 증가 이미지

Python을 활용한 정량적 리스크 관리

구조적 단절 신호

  • 추세 시각화만으로는 단절점이 보이지 않을 수 있음
  • 대안: 추세보다 변동성 확인
    • 구조 변화는 종종 불확실성 증가와 동반됨 => 변동성
    • 예: 확률적 변동성 등 더 풍부한 모형 고려 가능

구조적 단절 가능성이 있는 월별 변동성 이미지

Python을 활용한 정량적 리스크 관리

이동 창 변동성

  • 이동 창: 시간에 따른 변동성 계산 및 변화 탐지
  • 복습: 30일 이동 창

    • .rolling() 메서드로 이동 창 생성
    • 이동 창의 변동성 계산(결측 날짜 제거)
    • 관심 요약통계 계산, 예: .mean(), .min()

     

rolling = portfolio_returns.rolling(30)

volatility = rolling.std().dropna()
vol_mean = volatility.resample("M").mean()
Python을 활용한 정량적 리스크 관리

이동 창 변동성

  • 결과 변동성(분산 또는 표준편차) 시각화
import matplotlib.pyplot as plt
vol_mean.plot(
  title="Monthly average volatility"
).set_ylabel("Standard deviation")
plt.show()

월별 평균 변동성 이미지

Python을 활용한 정량적 리스크 관리

이동 창 변동성

  • 결과 변동성(분산 또는 표준편차) 시각화
  • 변동성의 큰 변화 => 잠재적 구조적 단절점
  • 제안된 단절점을 변동성 선형 모형에 활용
    • Chow 검정의 변형
  • 예: ARCH, 확률적 변동성 모형 적용 가이드
vol_mean.pct_change().plot(
  title="$\Delta$ average volatility"
).set_ylabel("% $\Delta$ stdev")
plt.show()

월별 변동성 증감률 이미지

Python을 활용한 정량적 리스크 관리

극단값

  • VaR, CVaR: 특정 신뢰수준에서 최대 손실, 기대 초과손실
  • VaR로 최대 손실 변화 시각화?
    • 대규모 데이터에 유용
    • 소규모 데이터: 정보 부족
  • 대안: 임계값을 초과하는 손실 찾기
  • 예: $\text{VaR}_{95}$는 95% 구간의 최대 손실
    • 즉 5%에서는 손실이 $\text{VaR}_{95}$를 초과할 수 있음
  • 백테스트: 과거 데이터를 사후적으로 사용해 위험 추정 성능 평가
    • 기업 위험관리에서 광범위하게 사용
Python을 활용한 정량적 리스크 관리

백테스트

  • $\text{VaR}_{95} = 0.03$이라고 가정
  • 3%를 초과하는 손실은 극단값
  • 백테스트: 과거 손실의 약 5%(100% - 95%)가 3%를 초과해야 함
    • 5%보다 많음: 꼬리가 두툼한 분포
    • 5%보다 적음: 꼬리가 얇은 분포
  • CVaR로 백테스트: VaR보다 꼬리 반영이 우수

손실과 95% VaR 임계값 이미지

Python을 활용한 정량적 리스크 관리

연습해 봅시다!

Python을 활용한 정량적 리스크 관리

Preparing Video For Download...