CNN 공포탐욕지수로 고점/저점 알수있나? 백테스팅 결과는
- 주식투자/백테스팅
- 2022. 12. 20.
공탐지수 라고 줄여서 부르기도 하는 Fear & Greed Index, CNN 공포탐욕지수는 한국의 개인투자자들도 한번씩은 들어봤을 것이다. 이걸로 단기고점, 저점을 판단하는 투자지표로 활용할 수 있을지 백테스팅한 결과들을 찾아보았다.
예전 같으면 티비에 전문가들이나 나와서 읊었을 법한 VIX 라던지, 이런 FGI 같은 지표들을 이제는 개인도 알고있는 시대이다. 그만큼 투자지식의 상향평준화가 되었다 해야할지, 개나 소나 알게 되었으니 지표로서의 가치를 상실했다고 해야할지...
사실 어떤 기법을 모두가 알고있고 매수 매도의 신호로 삼는다면 그 자체가 지표로서의 기능을 상실하게 된다.
하지만 CNN 공포탐욕지수는 아직까지 이 툴을 참고한 효과적인 매매기법이 나오진 않은 것 같다. 그저 80이상이면 (Extreme Greed 광기) 팔고 20아래이면 (Extreme Fear 패닉) 사라는 막연한 가이드만 전해질 뿐이다.
남들이 탐욕일때 고점에서 팔고 남들이 공포일때 저점에서 사라는 것이 역발상 투자의 기본인데 그걸 이 공포탐욕지수를 이용해서 하겠다는 것. 과연 가능할까??
CNN 공포탐욕지수를 활용하겠다고 한다면,
① 이 지수가 어떻게 산출되고 무슨 의미를 가지고 있는지 이해부터 해야할 것이고,
② 이걸 이용해서 고점/저점을 감지하고 매매에 도움이 되는지 여러가지 백테스팅도 해보아야 할 것이다.
CNN 공포탐욕 지수란?
CNN MONEY 에서 제공하는 시장의 투자심리를 나타내는 지표로, 정식 명칭은 Fear & Greed Index 이다. 공포탐욕지수 라는 뜻인데 시장이 현재 공포와 탐욕 사이 어디쯤에 위치해 있는지를 나타내 준다.
여기서 중요한 말은 '현재' 라는것을 기억해 두자!!
https://money.cnn.com/registry/html/.element/img/8.0/data/feargreed/1.png
(이 블로그 글의 공탐지수 및 각 지표별 차트는 실시간으로 업데이트 된다. 즉 매일 공탐지수가 바뀌면 같이 업데이트 되도록 해놓았다.)
글을 쓰는 211103 현재는 78점으로 S&P 500과 나스닥은 신고가 행진을 이어가고 있고 이 CNN 공탐지수도 곧 80 돌파를 목전에 두고 있다.
그렇다면 시장에 탐욕이 팽배했네? 돔황챠!! 하고 다 내던진 뒤 돌아서야 할까?
http://markets.money.cnn.com/Marketsdata/Api/Chart/FearGreedHistoricalImage?chartType=AvgPtileModel
이 간단한 질문에 답하기 위해서는 위와 같은 CNN FGI historical data로 S&P 500 index와 비교해서 그려보고 백테스팅을 하면 될 일이다.
(* FGI : Fear Greed Index)
처음에는 내가 직접 엑셀로 된 FGI data 를 받아서 백테스팅을 해보려고 했다. 그러나 곧 문제가 무엇인지 깨달았다.
CNN 사이트 및 그 어디에도 FGI raw data를 제공하는 곳이 없다. 즉 저렇게 사이트에 표시되는 3년치 차트 그림을 가지고 적당히 그려서 보던지, 아니면 직접 매일매일 숫자를 적어서 데이터를 만드는 수밖에 없는 것이다. 헐
구글링을 해보니 누군가는 차트 그림을 가지고 데이터를 만들어서 백테스팅을 해봤고, 누군가는 1년치를 직접 기록해서 데이터를 만든 뒤 백테스팅을 했다.
내가 직접 해볼까 생각만 했던걸 실천으로 옮긴 사람들이 있다니 실로 그 노고가 대단하다. 그 결과는 아래에 소개한다.
공탐지수를 구성하는 7가지 지표
먼저 공탐지수를 구성하는 7가지 지표가 어떠한 것들인지, 그 의미는 무엇인지 살펴본다. 다 아는 내용이고 백테스팅 결과만 궁금하다면 여기는 통과하고 아래로 내려서 보면 된다.
공탐지수는 5가지 주식시장의 지표 + 2가지 채권시장의 지표를 동일가중방식으로 합산하여 산출한다. 정확한 계산 로직은 공개되지 않았다. 공개하면 누군가가 분석한 뒤 뭐가 잘못되고 뭐가 문제라고 공격할 것이 뻔해서?
(마찬가지로 아래의 모든 차트 이미지들은 실시간으로 업데이트 된다. 즉 이 블로그 페이지를 로딩하면 해당 날짜의 공탐지수가 반영되어 보이도록 해놓았다.)
1) S&P 500 지수와 125일 이동평균선과의 이격
먼저 시장의 모멘텀을 나타내는 지표이다. 이동평균선과의 이격은 차트매매에서도 가장 기본적으로 참고하는 지표이기도 하다.
평균으로 회귀하려는 특성이 있기 때문에 많이 벗어나 있는 것만으로도 곧 회귀할 시기가 다가온다고 볼 수 있고, 탄력을 받아서 강한 상승추세가 이어진다고 볼 수도 있다. 이평선에서 7% 정도 벗어나는 경우 탐욕에 해당된다고 판단한다.
2) VIX와 50일 이동평균
VIX 자체로도 유용한 지표인데, 향후 30일의 S&P 옵션 프리미엄으로 산출하는 것이라 투자자들이 근시일내에 생각하는 내재변동성이 어떠한지를 나타낸다.
그런데 CNN FGI 에서 이 지표는 거의 항상 neutral 중립이다. VIX는 언제나 박스권에서 움직이면서 바닥을 다지다가 한번씩 튀는 습성을 가지고 있는데 50일 이동평균을 같이 고려하는게 과연 적절할지 개인적으로는 의문이다.
차라리 이동평균을 하회하고 있는 기간과 이격이 어느정도 누적되었는지로 '곧 한번 튈 시기가 올 거 같다'를 판단하는게 보다 쓸모있지 않을런지
3) CBOE Put/Call Ratio 의 5일 평균
풋옵션 콜옵션 사이의 거래량 (Volume 볼륨) 차이이다. 상승장에서 거의 항상 call이 많기 때문에 1 이하이며 이게 0.5라는 것은 put/call=0.5 >> put이 call 거래의 반 정도밖에 없다는 뜻이다.
숏충이들이 다 뒈지면 그제서야 찐 하락이 온다는 말이 있듯이 put/call ratio가 극단적으로 낮을때, 아무도 하방베팅을 하지않을때가 진짜 하락을 앞둔 것이라는 원리를 참고한다.
4) McClellan 거래량 합계 지수
상승 종목과 하락 종목의 거래량 차이를 보여주는 지수이다. 시장의 힘을 알려주는 지표라 볼 수 있다. McClellan Volume Summation이 높을수록 상승 종목들에 활발한 거래가 일어나며 시장을 들어올리고 있다는 의미가 된다.
5) NYSE 52주 최고가 최저가 종목수 비율
비슷한 의미를 가지는 지표인데. 52주 신고가를 갱신한 종목수와 52주 최저가를 갱신한 종목수의 비율이다. 피터린치도 이게 많아야 시장이 전체적으로 힘을 받고 가는 강세장의 상황이라고 하였다.
신고가/신저가 비율은 적은데 종합주가지수는 계속 달리고 있다면 이는 일부 소수의 종목들이 지수를 끌어올리고 있다는 의미가 된다.
여기까지가 주식과 관련된 지표들이었고 다음 두개는 채권과 관련된 지표이다.
6) 일드 스프레드 : 정크본드-투자등급 수익률차이
위험도가 높은 정크본드의 수익률이 투자등급대비 얼마나 차이나는가를 yield spread 라고 한다. 금융시장이 위험할 때는 쓰레기 채권들부터 내던지기 때문에 이 yield spread가 치솟는다.
시장이 탐욕스런 상황이거나 돈이 넘쳐서 갈 데가 없으면 이 spread가 줄어들면서 정크본드 채권의 가격도 올라가게 된다.
7) 최근20일 채권대비 주식의 상대수익률
안전 자산에 대한 수요 safe haven demand를 나타내는 거승로, 최근 20일간 채권수익률 대비 주식의 초과수익률이다. 이게 높다는 것은 주식시장이 과열되며 위험자산 선호현상이 생기고 있다는 것이고 반대의 경우는 채권쪽 안전자산 선호가 나타난다는 것이다.
이렇게 7가지 지표를 면면이 살펴보면 시장 상황을 잘 나타내는 것들로 구성되어 있는것 같은데, 투자판단의 신호로써도 가치가 있을까?
백테스팅 결과 1
GIANLUCA LEO 라는 사람이 1년동안 당일/1년전 공탐지수를 기록해서 2년치의 데이터를 직접 모으고 거기에 다른 사람것과 합쳐서 백테스팅을 한 내용이다.
차트1 : S&P 500과 CNN FGI의 weekly data를 비교
차트2 : S&P 500 daily chart와 CNN FGI의 시간대별 차트의 비교
CNN FGI의 경우 daily data에 노이즈가 너무 많아서, 주간으로 플로팅 하는 것이 보다 의미있는 결과를 얻었다.
위에 S&P 500 차트에서 빨간색 부분은 공탐지수가 25 아래일 때이고 초록색 부분은 75 이상일 때를 나타내었다.
보면 공탐지수가 extreme greed로 갔을 경우 (초록색) 2~6주정도 후에 하락이 오는 경향이 있었다. 이 사람은 CNN FGI가 저점보다는 고점을 캐치하는데 보다 유용하다고 판단했다.
그 이유는 지수를 구성하는 지표들이 갖는 특성 때문이다. 옵션, 변동성(VIX), 정크본드 등은 리테일 투자자들보다는 기관투자자들의 영역이다. 따라서 FGI는 고점을 찍고 기관 투자자들은 이미 빠지고 있는 상황에서 개미떼들은 마지막까지 신나게 달려들며 주가를 끌어올리는 경향이 있다. 이것이 두 지표간 다이버전스를 만든다.
반대로 시장이 패닉에 빠진 바닥에서는 많은 투자자들이 이미 아웃된 상태이다. 다 털리고 더 팔 사람이 없는 상태에서 큰 손들은 상방을 보고 매집을 시작한다. 따라서 바닥에서는 다이버전스가 크게 발생하지 않는다.
이렇게 보면 공탐지수는 결국 개미들에 선행하는 '기관투자자들의 투자심리'를 나타낸다고 생각할 수 있겠다.
백테스팅 결과 2
위에서는 차트 비교로 백테스팅을 했는데 이번에는 Jamm Systems 라는 사람이 historical graph를 포토샵에서 눈금자 대고 하나한 수치데이터로 만든 뒤 수익률 비교를 백테스팅한 사람의 결과이다. 노가다 대단....
이렇게 찾은 차트에서 데이터를 추출하고 백테스팅을 했다고 하는데, 기간을 보면 2008년 금융위기 이후이고 2020 코로나 팬데믹 이전이라서 큰 하락장은 포함되어 있지 않은 구간이다.
백테스팅 모델
- 공탐지수가 80이상이면 매도한다
- 60까지 내려오면 다시산다
결과
- 기간내 buy&hold로 S&P 500 인덱스투자시 수익률 96%
- 전체 2160일 중 270일 동안 현금보유, 최종 수익률 50%
- 배당 및 세금을 고려하면 그냥 가만히 있는 것보다 수익률 훨씬 못미친다는 결론
다시 사는 시점을 공탐지수 50으로 해서 백테스팅 돌려보면 수익률 44%로 결과가 더 좋지 않았다고 한다.
이 결과가 의미하는 것은, 공탐지수가 극단적 탐욕 extreme greed에 가있으면 분명 조심해야하는 경고의 시그널임은 맞지만, 상승장에서 많은 부분은 탐욕스런 상황에서 이루어졌다는 것이다.
시장이 탐욕스럽네? 하고 빨리 내던지면 먹을걸 덜 먹어서 결국 벤치마크를 밑도는 수익률을 기록하게 되고, 한가지 문제는 재진입 시점을 잡는 것이 어렵다는 것이다.
앞서 말했듯이 이 구간에서는 대폭락이 없었기 때문에 이런 결과가 나왔을 수 있다. 한달만에 30%가 빠져서 몇년치 수익률이 한번에 날아갔던 팬데믹 대폭락 구간을 시그널로 피할 방법이 있다면 조금 덜먹고 크게 안잃는게 나을지는 다시 대봐야 하는 문제다.
마치며...
두 가지의 상반된 백테스팅 결과를 살펴보았는데,
CNN 공탐지수의 경우는 인베스팅 닷컴에서처럼 엑셀로 제공한다던지 아니면 지난 기간의 수치들을 볼 수 있게라도 해주지 않아서 백테스팅에 쓸 기본 데이터가 없는 것이 문제이다. 그래서 이렇게 학구열 넘치는 몇몇 사람이 노가다로 직접 데이터를 만들고 테스트해본게 전부이다. (기왕 만들었으면 엑셀로 좀 올려서 공유좀 하지...)
백테스팅 방법도 너무 단순한데, 여기에 로직을 추가한다던지 하면 좀 더 효과적인 참고방식을 찾을수도 있지 않을까?
단순히 80이면 판다가 아니라 80넘어가는 시간이 누적됨에 따라 가중치를 부여해서 분할 매도에 들어간다던지 하는 식으로 말이다. 반대로 20 이하이면 현금비중을 줄이던지 레버리지를 늘리던지 해서 자금을 더 투입하고.
엑셀로 historical data만 있으면 앉은 자리에서 수십가지 로직을 백테스팅 해볼수도 있는건데 아쉽네. 시간이 너무 많이 들어갈 것 같아서 내가 직접 하기도 좀 그렇고. 다른 공부들 다 하고 나중에 시간이 난다면 한번 직접 해봐야겠다.
CNN FGI 뿐만 아니라 어떤 지표나 기법을 이용해서 본인이 직접 백테스팅 해보고 고민/연구하는 것은 실력 향상에 큰 도움이 될 것이다.