[알고리즘 트레이딩] 파이썬으로 KOSPI 지수 로그 수익률 분석
파이썬으로 KOSPI 지수 로그 수익률 분석하기 (FinanceDataReader 활용)
안녕하세요! 오늘은 파이썬을 활용해 한국 대표 주가지수인 KOSPI(코스피) 지수의 일간 로그 수익률을 계산하고, 이를 가우시안(정규) 분포와 비교해보는 과정을 소개합니다.
이 과정에서 FinanceDataReader 라이브러리를 사용해 데이터를 쉽고 빠르게 가져오고, numpy, matplotlib, scipy를 활용해 통계적 분석과 시각화를 진행합니다.
1. FinanceDataReader란?
FinanceDataReader는 한국을 포함해 전 세계 다양한 금융 데이터를 손쉽게 불러올 수 있는 파이썬 라이브러리입니다.
특히 한국 주식시장 데이터를 안정적으로 가져올 수 있어 금융 데이터 분석에 매우 유용합니다.
설치는 간단합니다:
2. 데이터 불러오기
KS11
은 KOSPI 지수 티커(symbol)이며, kospi
변수에는 날짜별 시가, 고가, 저가, 종가, 거래량 등이 포함된 데이터프레임이 저장됩니다.
3. 로그 수익률 계산
일간 수익률을 구할 때 보통 로그 수익률(log returns)을 사용합니다.
로그 수익률은 연속 수익률의 합산이 가능해 통계 분석에 적합하기 때문입니다.
4. 통계적 특성 분석
로그 수익률의 평균과 표준편차를 구해봅니다.
또한, 왜도(skewness)와 첨도(kurtosis)를 계산해 분포의 비대칭성과 꼬리 두께를 확인할 수 있습니다.
5. 로그 수익률과 정규분포 비교 시각화
평균과 표준편차를 이용해 가우시안 분포 샘플을 생성하고, 로그 수익률 히스토그램과 함께 시각화해보겠습니다.
6. 결과 해석 (상세)
이번 분석의 핵심은 KOSPI 일간 로그 수익률 분포가 정규분포(가우시안 분포)와 얼마나 유사한지, 그리고 통계량들이 어떤 의미를 갖는지 이해하는 것입니다.
6.1. 로그 수익률 분포와 정규분포 비교
-
히스토그램과 가우시안 분포의 차이
그래프에서 파란색은 실제 KOSPI 로그 수익률의 분포를 나타내고, 붉은색과 점선은 동일 평균과 표준편차를 가진 정규분포의 분포와 밀도 함수입니다.
일반적으로 금융시장 수익률은 완전한 정규분포를 따르지 않으며, 꼬리가 두껍거나 비대칭적인 특성을 보입니다.
이 차이는 리스크 관리, 옵션 가격 결정, 투자 전략 수립에 중요한 영향을 미칩니다.
6.2. 왜도 (Skewness)
-
왜도는 분포의 비대칭성을 나타내는 지표입니다.
-
0에 가까우면 좌우 대칭, 음수면 왼쪽으로 꼬리가 긴 분포, 양수면 오른쪽 꼬리가 긴 분포입니다.
-
금융시장 로그 수익률에서는 음수 왜도가 자주 관찰되는데, 이는 급격한 하락 가능성이 상승보다 크다는 의미로 해석됩니다.
-
이번 분석에서 계산된 왜도 값이 음수라면, KOSPI 수익률 분포가 약간 왼쪽으로 꼬리가 길어 투자 위험이 조금 더 높을 수 있음을 시사합니다.
6.3. 첨도 (Kurtosis)
-
첨도는 분포의 꼬리 두께와 중앙의 뾰족함 정도를 나타냅니다.
-
통계학에서 보통 정규분포의 첨도는 0으로 정의(Fisher’s definition)되며, 양수면 꼬리가 두껍고 극단값이 많이 발생하는 분포를 의미합니다.
-
금융 수익률은 일반적으로 정규분포보다 첨도가 높은 “뾰족한” 분포를 가지며, 이는 극단적인 가격 변동 가능성이 더 크다는 뜻입니다.
-
따라서 높은 첨도 값은 리스크 관리에 있어 극단 손실 가능성을 반드시 고려해야 함을 알려줍니다.
6.4. 투자 및 리스크 관리 시사점
-
실제 수익률 분포가 정규분포를 따르지 않기 때문에, 단순 평균과 분산(표준편차)만으로 리스크를 평가하는 데 한계가 있습니다.
-
왜도와 첨도 같은 고차 통계량도 함께 살펴야 하며, 투자 전략을 짤 때는 극단 이벤트(블랙스완) 가능성을 고려하는 것이 중요합니다.
-
예를 들어, Value at Risk(VaR)나 Expected Shortfall(ES) 같은 위험 측정법을 도입할 때 비정규 분포 특성을 반영하는 게 효과적입니다.
댓글
댓글 쓰기