왜도와 첨도

Python으로 시작하는 포트폴리오 리스크 관리

Dakota Wixom

Quantitative Analyst | QuantCourse.com

왜도는 분포의 세 번째 적률입니다.

  • 음의 왜도: 분포의 질량이 오른쪽에 집중됩니다. 일반적으로 오른쪽으로 치우친 곡선
  • 양의 왜도: 분포의 질량이 왼쪽에 집중됩니다. 일반적으로 왼쪽으로 치우친 곡선
  • 금융에서는 일반적으로 양의 왜도를 선호합니다

 

Python으로 시작하는 포트폴리오 리스크 관리

Python에서 왜도

StockData 객체에 주식 수익률 데이터가 미리 로드되어 있다고 가정합니다.

수익률의 왜도를 계산하려면:

from scipy.stats import skew
skew(StockData["Returns"].dropna())
0.225

이 예에서 왜도가 0보다 크므로 비정규성을 나타냅니다.

Python으로 시작하는 포트폴리오 리스크 관리

첨도는 분포의 꼬리 두께를 측정하는 지표입니다.

  • 대부분의 금융 수익률은 급첨 분포를 따릅니다
  • 급첨(Leptokurtic): 초과 첨도가 양수인 경우 (첨도 > 3)
  • 초과 첨도: 표본 첨도에서 3을 빼서 계산합니다

 

Python으로 시작하는 포트폴리오 리스크 관리

Python에서 초과 첨도

StockData 객체에 주식 수익률 데이터가 미리 로드되어 있다고 가정합니다. 수익률의 초과 첨도를 계산하려면:

from scipy.stats import kurtosis
kurtosis(StockData["Returns"].dropna())
2.44

이 예에서 초과 첨도가 0보다 크므로 비정규성을 나타냅니다.

Python으로 시작하는 포트폴리오 리스크 관리

Python에서 정규성 검정

정규성 통계 검정은 어떻게 수행하나요?

샤피로-윌크 검정의 귀무가설은 데이터가 정규분포를 따른다는 것입니다.

# Run the Shapiro-Wilk normality test in Python 
from scipy import stats
p_value = stats.shapiro(StockData["Returns"].dropna())[1]
if p_value <= 0.05:
     print("Null hypothesis of normality is rejected.")
else:
     print("Null hypothesis of normality is accepted.")

p값은 리스트에서 두 번째로 반환되는 값입니다. p값이 0.05 미만이면 데이터가 비정규분포일 가능성이 높으므로 귀무가설을 기각합니다.

Python으로 시작하는 포트폴리오 리스크 관리

연습해 봅시다!

Python으로 시작하는 포트폴리오 리스크 관리

Preparing Video For Download...