배경

지난번 포스팅에서는 CNN 사이트에서 공개하는 Fear-and-Greed Index의 과거 데이터를 크롤링하여 CSV 파일로 저장하는 방법에 대해 설명해 보았습니다.

CNN-Fear-and-Greed index 시계열(historical) 데이터 크롤링 하기
CNN-Fear-and-Greed Index의 과거 데이터를 크롤링하여 CSV 파일로 저장하는 방법에 대해 설명합니다.

이 지수가 미국 주식시장의 심리 상태를 나타내는 지표라면, 이를 활용해서 투자한 성과는 과연 어떨까요?🙄
이번 포스팅에서는 CNN-Fear-and-Greed index를 이용한 간단한 ETF 투자전략을 만들고, Google Spreadsheet 에서 백테스팅 시뮬레이션을 해보도록 하겠습니다~
모든 과정과 결과물이 포함된 Google Spreadsheet를 하단에 공유하니, 보시면서 포스팅 내용을 따라오시면 좋을것 같네요~

💡
공유된 Google Spreadsheet는 "파일" > "사본 만들기"를 통해 자신의 Google Drive에 저장한 뒤, 편집 등 자유롭게 사용하시면 되겠습니다!
Fear-Greed-Model-by-izycodes
etf_price_googlefinance NYSEARCA:SPY,NYSEARCA:SPYDate,Open,Datevalue,Open,Date,Close,Datevalue,Close2020. 5. 26,301.93,43977,301.93,2020. 5. 26 오후 4:00:00,299.08,43977,299.082020. 5. 27,302.12,43978,302.12,2020. 5. 27 오후 4:00:00,303.53,43978,303.532020. 5. 28,304.65,43979,304.65,2020. 5. 28 ...

사전작업

SPY ETF 주가 데이터 불러오기

S&P 500 지수를 추종하는 ETF는 SPY(SPDR S&P 500 Trust ETF)로 선정하고, 과거 일간 가격데이터를 불러옵니다. googlefinance() 함수를 사용하면 원하는 기간의 데이터를 Google Spreadsheet에서 불러올 수 있으니 공식문서를 참고해 주시고, 저의 경우에는 아래와 같은 함수로 1000일치의 일간 시가("open")와 종가("close") 데이터를 로드하였습니다.

=GoogleFinance("NYSEARCA:SPY", "open", TODAY()-1000, TODAY(),"daily")

CNN-Fead-and-Greed index 과거 데이터 불러오기

Fear-and-Greed 인덱스의 경우 기존 제 포스팅을 통해 얻은 CSV 파일을 Spreadsheet에서 불러와서("파일" > "가져오기") 사용하시면 되는데요, 저의 경우 "index_data_simulation" 시트내 "A"~"C" 열에 데이터를 로딩하였습니다.
("2021-02-01" 이후의 데이타만 유효한 것 같아서 2021-02-01 ~ 2023-02-09까지 약 2년간의 데이터를 사용하였습니다.)

트레이딩 전략 세우기

다양한 가상의 트레이딩 전략을 세우는게 가능하지만, 저는 다음과 같이 현실적이면서 단순한 로직을 적용해보았습니다.

  • 전일자 Fear-and-Greed index의 Rating값을 기반으로 금일자 SPY ETF의 투자 비중을 조정함.(투자비중을 제외한 부분은 연 2.00%의 현금수익률로 운용한다고 가정)
  • 투자 비중 조정시 ETF 시가("open")로 매매한다고 가정하고, 매매비용은 매매금액의 0.25%로 가정함
  • Fear-and-Greed index의 Rating값에 따른 SPY ETF의 비중을 하단과 같음. 기본 철학은 "Fear" 심리가 강할수록 SPY 비중을 확대하고 "Greed" 심리가 강할수록 SPY 비중을 축소하는 전략임.
Rating Lower Upper Position
Extreme Fear 0 25 100%
Fear 25 45 70%
Neutral 45 55 50%
Greed 55 75 30%
Extreme Greed 75 100 0%

위 전략을 적용한 경우 SPY ETF의 포트폴리오 비중 변화는 하단과 같습니다.

Fear-and-Greed index, SPY ETF Price, ETF's simulated position(%)

백테스팅 결과

트레이딩 전략 실행에 따른 가상 포트폴리오의 일간성과("daily_ret_strategy"열 참고)를 계산한 후 데이터 기간(2021-02-01 ~ 2023-02-09) 동안의 누적성과를 SPY ETF(benchmark)의 누적성과와 비교해 보았습니다.
SPY ETF가 추세 상승하였던 2021-02-01 ~ 2021년말 기간동안은 유사한 성과를 보였지만, 그 이후 기간에서 누적 +20%를 상회하는 초과 성과를 기록하였네요~!
누적 성과를 Sharp Ratio, Maximum Drawdown 등의 지표들로 비교해 보는 것도 의미있을 것 같으니 Google Spreadsheet에서 개별적으로 한번 연습해 보아도 좋을 것 같습니다~

Index를 활용한 투자전략의 누적성과(vs SPY ETF 100% benchmark)

정리

CNN-Fear-and-Greedy index를 활용하여 전체적인 포트폴리오의 위험자산 비중을 조절한다면, 장기적으로 시장을 Outperform 하는 것도 어렵지 않을 것 같습니다😎
저의 경우에는 Google Spreadsheet로 시뮬레이션 작업을 진행하였지만, Python 코드 등을 통한 백테스팅도 가능하니 참고해주시고, 워렌버핏의 명언과 함께 포스팅을 마치도록 하겠습니다~!

“Be Fearful When Others Are Greedy and Greedy When Others Are Fearful” - Warren Buffett