이제 어떠한 방식으로든 분석하고자 하는 종목의 TR 데이터를 구했습니다. TR 데이터는 여러 통계량을 추출하는 기반이 되는 데이터입니다. (상황에 따라서는 PR 데이터만 얻을 수 있는 자산도 있을 수 있습니다.) 투자자는 날짜별로 하나씩 수백 또는 수천 개의 값을 요약해서 투자에 참고할 수 있는 몇 개의 수치로 정리해야 합니다.
대부분의 투자자가 1차적으로 관심을 가지는 통계량은 두 가지 부류입니다. 하나는 수익이 얼마나 컸느냐라는 것이고, 다른 하나는 얼마나 위험했느냐는 것입니다. 전자는 수익 지표로 누적 수익률, CAGR(연평균 성장률), 1년 산술 평균 수익률 등이 있고, 후자는 위험 지표로 MDD, 표준 편차 등이 있습니다.
어떤 지표를 중요하게 볼지는 투자자가 결정합니다. 고수익을 기대한다면 수익 지표에 집중할 것이고, 위험에 민감하다면 위험 지표를 신중하게 살펴볼 것입니다. 본인에게 알맞은 지표가 없다고 느낀다면, 직접 고안해서 만들 수도 있습니다.
많이들 사용하는 데이터 분석 방법과 지표는 여럿 있지만, 정답은 없습니다. 투자에서 과거 데이터 분석에는 개별 투자자의 투자 환경과 미래에 대한 전망이 큰 영향을 미칩니다. 애초에 과거 데이터를 분석하는 이유가 미래를 위한 투자 결정에 참고를 하기 위함인데, 투자자마다 투자 목적이 다르기 때문입니다. 동일한 통계량을 보더라도 각각의 투자자는 다른 투자 결정을 내릴 수 있습니다. 참고: 통계학적으로는 주관적 확률론으로 볼 수 있습니다.
몇 가지 수익 지표를 계산해 봅니다.
주의: 이 글은 특정 상품 또는 특정 전략에 대한 추천의 의도가 없습니다. 이 글에서 제시하는 수치는 과거에 그랬다는 기록이지, 앞으로도 그럴 거라는 예상이 아닙니다. 분석 대상, 기간, 방법에 따라 전혀 다른 결과가 나올 수 있습니다. 데이터 수집, 가공, 해석 단계에서 의도하지 않은 오류가 있을 수 있습니다. 일부 설명은 편의상 현재형으로 기술하지만, 데이터 분석에 대한 설명은 모두 과거형으로 이해해야 합니다.
CAGR 계산하기
다음은 미국 S&P 500 지수를 추종하는 SPY의 1993년 1월 29일부터 2024년 12월 31일까지 31년 11개월치 TR 데이터입니다. 제 경우에는 파이썬을 이용하여 TR 데이터를 구했습니다. 데이터 라이선스가 정확히 어떻게 되는지 몰라 제가 구한 데이터를 공유하지 않습니다. 각자 자신의 방법으로 얻어야 합니다. 데이터를 어떻게 처리하는지에 대해서만 알면 충분하다면, GOOGLEFINANCE() 함수로 PR 데이터를 구해 작업해도 됩니다. 참고: [데이터 분석] 주가 데이터를 불러와서 그래프로 그려보자 (구글 시트 편)
FIRST DATE와 LAST DATE 셀에 MIN(), MAX() 함수를 이용하여 데이터에서 가장 오래된 날짜와 가장 최근 날짜를 찾습니다. 날짜는 모두 날짜 형식으로 변환한 상태입니다. 개인적으로는 분석 기간이 늘어나는 상황을 고려해서 범위를 지정할 때 마지막 데이터 셀 대신 더 큰 값을 사용합니다. 위에서는 A8044 대신 A9999를 사용했습니다. 참고: 이 연재에서는 날짜를 오름차순으로 정렬해서 사용합니다. 상황에 따라서는 날짜가 내림차순으로 정렬된 데이터가 더 편리할 수 있습니다. 함수에 따라서는 빈 셀이 포함된 셀범위를 지정하면 기대와 다른 결과가 나올 수 있습니다.
보편적으로 사용하는 수익 지표의 하나는 CAGR(Compound Annual Growth Rate, 연평균 성장률)입니다. CAGR은 자산의 최종 가격과 최초 가격의 비를 연단위 복리 수익률로 환산한 값입니다. 다음과 같은 구할 수 있습니다.
(최종 가격 / 최초 가격) ^ (1 / 투자 기간) - 1
최종 가격을 최초 가격으로 나누면 자산이 몇 배가 되었는지 자산비를 알 수 있습니다. 여기에 캐럿(^)으로 표시된 (1 / 투자 기간)으로 지수승을 구하면 단위 투자 기간 복리 자산비를 구할 수 있습니다. 1 / k 지수승은 k 거듭제곱근(ᵏ√)의 다른 표현입니다. 이렇게 구한 값에서 1을 빼면 복리 수익률로 환산됩니다.
투자 기간이 얼마인지 알기 위해서는 두 날짜를 빼면 됩니다. 일단위로 나오니 1년 평균 일수인 365.25로 나누면 몇 년에 해당되는지 알 수 있습니다. 예제에서는 =(B2-B1) / 365.25 수식을 사용했습니다. 31.9년이 나왔습니다.
이렇게 구한 투자 기간(년), 최초 가격, 최종 가격을 이용하면 CAGR을 구할 수 있습니다. POW() 함수를 쓰면 됩니다. -1은 자산비를 수익률로 환산하기 위해 사용한 것입니다. SPY는 연평균 10.45% 복리로 성장했습니다.
1년 산술 평균 수익률 계산하기
CAGR은 자산의 수익을 비교하는데 무난한 지표입니다. 장기 투자를 계획하는 경우 CAGR은 1년 복리 수익률로 간주할 수 있습니다. 평균-분산 분석에서도 CAGR을 사용해도 되지만, 1년 산술 평균 수익률이 좀 더 적합할 수 있습니다. 자산의 성과를 선형적으로 분석하기에는 1년 산술 평균 수익률과 표준 편차가 편리하기 때문입니다.
다음은 250거래일을 1년으로 간주하고 SPY의 1년 수익률을 구한 결과입니다.
미국의 경우 1년 거래일수가 252일 정도입니다. 유럽은 이보다 조금 작아 250거래일 정도에 가깝고, 한국은 공휴일이 며칠 더 있기에 약간 더 작습니다. 미국과 한국의 공통 거래일만 추출하면 240거래일 정도가 됩니다. 구글 시트로는 해 보지 않았지만, 정확하게 1년을 기준으로 수익률을 구하려면 복잡해질 수 있습니다. 파이썬으로도 구현하기 번거롭습니다.
이러한 이유로 제 경우에는 데이터 처리에 편리하고 실제와 큰 차이가 없는 250거래일을 주로 사용합니다. 간혹 252거래일을 사용하는 경우도 있습니다. 252거래일은 미국의 1년 거래일수에 가깝고, 1개월을 21거래일로 간주할 수 있어 월단위 분석에 편리하기 때문입니다. 이 연재에서는 주로 연단위로 데이터를 살펴보며, 개인 취향이 반영되어 250거래일을 사용합니다. 참고: 스프레드시트 활용에 익숙한 분은 거래일을 며칠로 둘 것인지를 셀에 지정해서 사용할 수 있을 것입니다.
매거래일 기준으로 1년 수익률을 구했으니, 평균값, 최대값, 최소값을 구할 수 있습니다. 각각 AVEREAGE(), MAX(), MIN() 함수를 사용하면 됩니다.
1년 수익률의 산술 평균은 11.7%입니다. 계산에 사용한 기초 데이터가 조금 다르긴 하지만, 평균 복리 수익률이라 할 수 있는 CAGR보다 대개 큰 값이 나옵니다. 1년 최대 수익률과 최소 수익률은 77.5%와 -47.4%였습니다. SPY에 1년간 투자했을 때, 반토막이 난 적이 있었다는 뜻입니다. 1년 산술 평균 수익률과 CAGR의 의미 차이에 대해서는 평균-분산(Mean-Variance) 그래프 해석 방법 및 주의 사항을 참고하기 바랍니다.
정리하며
SPY 가격 데이터를 이용하여 수익 지표인 CAGR, 1년 산술 평균, 최대, 최소 수익률을 구해 보았습니다.
이어지는 글: [데이터 분석 4] 주가 데이터에서 위험 지표인 MDD를 뽑아보자 (구글 시트 편)
목록: 자산 배분 분석 방법과 사례 글 모음 [목록] (순서대로 차근차근 읽기를 권합니다)
출간 안내: 연재를 묶어 읽기 쉽게 보완하여 편집한 책이 종이책(교보문고)과 전자책(리디북스, 교보문고, Yes24, 곧 알라딘)으로 출간되었습니다. 책 소개: 구글 시트로 시작하는 투자 포트폴리오 분석 (오렌지사과의 불친절한 워크북) 출간에 부쳐 (샘플북 포함)
참고 서적: <왜 위험한 주식에 투자하라는 걸까? - 장기 투자와 분산 투자에 대한 통계학적 시각> - 이 연재에서 소개하는 각종 분석 방법의 의미를 소개합니다.
함께 읽으면 좋은 글:
- [데이터 분석 2] TR 데이터를 받아 그래프로 그려보자 (구글 시트 편)
- [데이터 분석 1] 주가 데이터를 불러와서 그래프로 그려보자 (구글 시트 편)
- [자산 배분] QQQ + SOXX(미국 반도체 ETF) + 환율 (평균-분산 그래프 분석)
- [자산 배분] VUG(미국 성장주 ETF) + VTV(미국 가치주 ETF) + 환율 (평균-분산 그래프 분석)
- <왜 위험한 주식에 투자하라는 걸까? - 장기 투자와 분산 투자에 대한 통계학적 시각> 출간에 부쳐 (샘플북 포함)
- S&P 500 국내 ETF는 무엇이 좋을까? (국내 상장 ETF 9종 비교와 분석)
- 나스닥 100 국내 ETF는 무엇이 좋을까? (국내 상장 ETF 5종 비교와 분석)
- QQQ5(QQQ 5배 레버리지)는 1년간 얼마나 녹았을까?
- 외화 RP는 위험한가? (증권사가 RP를 운용하는 방법)
- 한국인은 커버드콜 ETF에 장기 투자해도 좋을까? - 커버드콜 ETF에 대한 글 모음
'주식투자' 카테고리의 다른 글
[데이터 분석 7] 자산과 예금 혼합 포트폴리오를 평균-분산 그래프에 나타내 보자 (구글 시트 편) (0) | 2025.01.07 |
---|---|
[데이터 분석 6] 수익률 분포를 정규 분포로 모델링하여 위험을 추정해 보자 (구글 시트 편) (0) | 2025.01.07 |
[데이터 분석 5] 수익률 분포를 정규 분포와 함께 그려보자 (구글 시트 편) (0) | 2025.01.06 |
[데이터 분석 4] 주가 데이터에서 위험 지표인 MDD를 뽑아보자 (구글 시트 편) (1) | 2025.01.06 |
[데이터 분석 2] TR 데이터를 받아 그래프로 그려보자 (구글 시트 편) (5) | 2025.01.05 |
[데이터 분석 1] 주가 데이터를 불러와서 그래프로 그려보자 (구글 시트 편) (0) | 2025.01.05 |
[자산 배분] QQQ + SOXX(미국 반도체 ETF) + 환율 (평균-분산 그래프 분석) (0) | 2025.01.04 |
[자산 배분] VUG(미국 성장주 ETF) + VTV(미국 가치주 ETF) + 환율 (평균-분산 그래프 분석) (0) | 2025.01.03 |