최적화란 수익률을 위한 작업만은 아니다. 최대손실폭(MDD)을 줄이는 것 또한 최적화다. 그런데 수익률을 최적화 하다 보면 MDD가 커지고, MDD 최적화를 하다 보면 수익률이 작아진다. 일반적으로 이렇게 된다고 믿고 있는데, 이 글에서는 항상 그런 것은 아니라는 걸 보이려 한다. 다시 말해 MDD를 줄이면서 수익률을 높이는 방법을 설명한다.
이번에 소개하는 최적화 방법 중 처음 공개하는 것이 많이 있다. 따라서 다른 사람이 쓴 퀀트 전략 글이나 책에서는 아래의 내용을 찾아볼 수 없다. 왜냐하면 퀀트 전략책은 있지만 퀀트 전략 최적화를 다루는 책이 없기 때문이다. 예를 들어 "기본적인 전략에서 5~6 가지 최적화 과정을 거치면 수익률이 몇 % 올라가며, MDD가 몇 % 낮아진다" 이런 내용의 책이나 논문을 필자는 본적이 없다.
최적화 내용은 무엇인가?
기본적인 전략은 매우 단순하다. 메트릭 스튜디오에서 소개된 PBR과 PER을 사용한 Filter 전략이다. 즉 PBR이 0~1 사이이면서, PER이 0~7 사이인 종목을 매수하는 것이다. 여기에 Smart Beta의 방법(모멘텀과, VALUE, Quality 지표의 Ranking 전략)을 추가하였다. 여기까지가 기본 전략이다. 이 기본 전략에 6가지 최적화 전략을 추가하였더니 아래와 같은 결과가 나왔다.
튜닝 전 월 수익률은 3.84%로 나쁘지는 않은데, 튜닝 후에 5.36%가 되었으므로 월 수익률이 1.5%정도 개선되었다. 그리고 MDD는 3배정도 개선되었다. 어떤 이는 "월평균수익률이 별볼일 없구만" 라고 할 수도 있겠다. 하지만 3가지 점에서 타 전략과 차별화된다.
1) 월 매수종목 수가 항상 40종목을 유지함에도 불구하고 5% 초반대의 수익률을 유지하기는 쉽지 않다. 또한 월 매수종목수가 10개인 전략에 비해 슬리피지가 1/4로 줄어드는 것도 장점이 된다.
2) 항상 월 40종목을 거래하면서 15년간 악성 상장폐지가 한번도 발생하지 않았다. 2017년 1월에 발생한 상장폐지는 악재가 아니라 호재이다. 왜냐하면 합병에 의한 상장폐지 결정은 주가의 상승을 불러오기 때문이다. 15년간 단 한번 발생한 호재성 상장폐지도 아래에서 소개될 5~6번 전략에서는 발생하지 않는다. 왜냐하면 볼린저밴드를 이용한 필터로 종목이 걸러졌기 때문이다.
3) 2008년의 리먼브라더스 사태를 포함하여 지난 15년간 매매한 MDD가 18% 초반대로 유지하였다. 세계적 금융위기 상황에서 MDD를 18% 초반대로 유지하기는 쉽지 않다.
수익률이나 MDD를 개선하기 위해 아래의 6가지 방법을 사용하였다. 기본전략(Smart Beta)에 아래의 6가지 최적화 방법을 추가적으로 적용하면 수익률이 점점 올라가고 MDD는 점점 내려가는 것을 볼 수 있다.
1,2 번은 각각 적용된 방법이고, 3번부터는 누적된 방법이다. 다시 말해 3번 방법의 수익률과 MDD는 1+2+3 방법이 모두 사용된 결과이고, 6번의 수익률과 MDD는 1~6번 방법이 모두 적용된 결과이다. 1,2 번은 누적결과가 아니며 단순히 1번과 2번을 비교 할 목적으로 사용한 것이다.
이제 1번 방법부터 하나씩 자세히 살펴보자.
1.가치가중매수
가치(value)에 따라 매수금액을 조절한다. 예를 들면 상대적으로 PER이 낮은 종목에 돈을 더 주고, PER이 높은 종목에 돈을 덜 준다. 내재가치에 따라 매수금액에 차이를 두는 것이다. 이것은 알려진 방법이다. 하지만 이 방법은 비효율이 큼으로 이 글에서는 그대로 사용하지 않는다.
비효율이란 하나의 지표 점수로 내재가치를 평가한 다는 것이다. 하나의 지표로 내재가치를 대표할 수 는 없다. 따라서 여러 가지 지표의 점수를 합하여 종합점수를 만들어서 가치를 평가하는 것이 더 안전하다.
예를 들어 PER 점수 하나만으로 차등 매수(가치가중매수)하는 것 보단 PBR + PER + PCR + PSR 의 점수를 종합하여 차등 매수하는 것이 더 안전한 방법이다. 비유하자면 사고로 다리 하나를 잃은 사람은 중심을 잡기가 어려워 잘 넘어지지만 두발로 선 사람은 잘 넘어지지 않는다. 한발 더 나아가 강아지 같은 네발 동물은 넘어지는 경우가 거의 없을 정도로 안전하다.
예를 들어 PER로 차등 매수한 사람은 PCR로 차등 매수한 전략이 잘나갈 때 보고만 있어야 한다. 또한 PSR로 차등 매수한 전략이 수익률이 최고일 때 PER이나 PCR 하나로 차등 매수한 사람의 수익률은 상대적으로 좋지 않다. 이번에는 수익률이 아니라 MDD 관점으로 생각해보자. PER 지표 하나로 가중 매수한 전략의 수익률이 좋지 않아 마이너스가 크다고 가정하자. 이럴 때 PER에 PCR과 PSR을 섞어 놓으면 MDD가 안정되는 효과가 있다. 모든 것은 시간대가 맞아야 한다. 어떨 때는 PCR이 좋고, 어떨때는 PSR이 좋고, 어떨 때는 PBR이 좋고.... 그러니 지표 3~4개를 섞으면 안정적인 수익률과 MDD를 유지할 수 있다.
소스의 152~ 220 LINE이 이 부분이다. 여기서는 PER, PCR, CAP(시총의 역수), DIV(배당수익률) 등의 4가지 방법으로 테스트 하였다. 이렇게 적용하니 월 수익률이 0.41% 좋아졌고, MDD가 0.09% 낮아졌다. 하지만 이 정도는 밑에서 소개될 내용에 비교하면 아무것도 아니다.
혹시라도 CAP이 PER 등의 지표가 아님으로 사용할 수 없다고 주장하는 사람도 있을 것이다. 나는 CAP이야 말로 다른 지표들보다 더 좋은 것이라고 믿는다. 소형주 효과보다 수익성이 더 큰 지표가 어디 있는가? 형식에 얽매이다 보면 많은 것을 잃는다. 다시 말해 PER, PBR등은 CAP보다 수익성이 못한 지표다.
2.가치가중선정
종목을 선택할 때 여러 가지 지표로 Ranking(순위)를 만들어서 순위의 합이 가장 낮은 종목을 선택하게 된다. '주식시장을 이기는 작은 책' 에서 소개된 이후로 많이 쓰는 방법이다. 하지만 이 방법 역시 비효율이 있음으로 그대로 사용해선 안 된다.
대선의 예를 들어보자. 대통령 후보가 4명일 때 득표율이 1:1:1:1인 경우를 보았는가? 각 후보의 득표율이 어떻게 25%로 동일 할 수 있겠는가? 자연상태에서는 웬만해서는 이런 일이 일어나지 않는다. 포트폴리오를 구성할 때도 마찬가지다.
예를 들어 PBR, PER, PCR, PSR의 순위를 모두 합하고, 네 가지 순위의 합이 가장 작은 10종목을 선택한다고 치자. 바로 이것이 비효율이다. 여기서 PBR, PER, PCR, PSR을 모두 1:1:1:1로 두었는가? 자연상태에서는 PBR, PER, PCR, PSR의 중요도가 모두 다르다. 예를 들어 1.2 : 2.5: 0.6 : 0.8 일 수 있다. 1:1:1:1에서 1이라는 숫자는 자연상태에서는 거의 발생하지 않으며 인간이 만들어낸 허상에 불과하다.
각 지표 별로 자연상태에서의 비율을 찾아야 한다. 이런 것이야 말로 최적화이지 않은가? 241~245라인의 비율들( momRatio, gpaRatio, epRatio, bpRatio, rcapRatio)를 사용하는 이유는 자연상태의 값들을 찾고 그것을 사용하기 위함이다. 2번 가치가중선정뿐 아니라 1번의 가치가중매수도 마찬가지다. 소스의 208~211 라인에서 pcrRatio, divRatio, perRatio, capRatio를 사용한 이유이기도 하다. 자연상태에서의 최적 비율을 찾는 과정은 시간이 아주 오래 걸리는 노동 집약적 작업이다.
마지막으로 한가지만 더 이야기하고 최적화 전략 3번으로 넘어가자. 시총기준 하위 10~20%로 필터링하여 소형주 효과를 보겠다는 것은 위험한 생각이다. 왜냐하면 기본적인 전략(PBR과 PER 필터링 + 스마트 베타)에 절대모멘텀이라도 추가한다면 종목수 40을 지키지 못하고 들쑥날쑥 하기 때문이다. 심지어 2008년의 금융위기 상황에서는 종목수가 거의 나오지 않을 수도 있다. 또한 매수할 종목수가 몇 개밖에 되지 않는다면 슬리피지가 매우 커진다. 왜냐하면 40종목을 매매하다가 갑자기 10 종목이 되면 슬리피지가 4배가 되기 때문이다.
이럴 때 사용할 수 있는 것이 소스 245 LINE의 rcapRatio이다. 이 값을 크게 주면 소형주를 매수할 가능성이 커진다. 반대로 이 값을 작게 주면 중형주나 심지어 대형주도 매수하게 된다. 즉 소형주뿐만 아니라 중형주, 대형주도 매매 대상이 됨으로 종목 수를 일정하게 유지할 수 있다.
시총기준으로 필터링 하는 대신에 소형주효과 비율(rcapRatio)을 사용한다면 장단점이 있다. 장점은 매매 종목수를 일정하게 할수 있다는 것이고, 단점은 중형주 혹은 대형주가 매수될 수 있다는 것이다. 아래 소스의 241~245 LINE을 보자. 대형주가 소형주보다 모멘텀, GP/A, PER, PBR 순위(Ranking)를 압도한다면 소형주를 매수하지 않을 수도 있도록 코딩되어 있다. 그런데 이렇게 Value, 모멘텀, Quality 지표가 소형주보다 상대적으로 좋은 대형주를 매수 할 경우 이것이 항상 단점이 될까? 아닐 가능성이 높다고 생각한다. 그래서 필자는 소형주 효과를 보면서도 매매 종목수를 항상 일정하게 유지하는 전략을 사용한 것이다.
3.가치가중선정 + 가치가중매수
수정된 가치가중선정과 수정된 가치가중매수를 결합해서 사용한다. 수익률에서 두 배의 효과를 얻을 수 있다. 가치가중선정 + 가치가중매수를 동시에 사용하면 수익률 상승효과가 희석되지 않는다는 뜻이다. 수익률은 동시에 적용되고 MDD는 둘 중에 낮은 것을 따라가니 일석이조이다. 이렇게 두 방법을 동시에 적용하니 튜닝 전 전략에 비하여 월 수익률은 0.9% 좋아졌고, MDD는 0.67% 좋아졌다.
4.현금비중조절(손절)
개별종목 별로 손절을 하면 큰 시장의 흐름을 읽지 못한다. 따라서 전체 손절을 하거나 부분 현금비중을 조절하려면 시장의 큰 흐름을 타야 한다. 그렇다면 어떻게 시장의 큰 흐름을 알 수 있을까?
필자가 시장의 흐름을 읽는데 사용하는 것은 모멘텀이다. 흔히 모멘텀은 매수할 종목을 고르는데 사용하고 있다. 모멘텀이 살아있는 종목의 수익률이 더 높다는 것이다. 하지만 모멘텀은 용도가 하나 더 있다. 모멘텀은 손절 타이밍을 잡을 때 쓰는 것이다.
1년 모멘텀이 PLUS인 종목수를 전체종목수로 나누면 모멘텀이 PLUS인 비율이 나온다. 이것이 137 라인의 momentumPlusRatio이다. 이 비율을 이용하여 손절 타이밍을 잡는데 쓴다. 저번 달에 비해 이번 달에 모멘텀이 PLUS인 비율이 25% 하락한다면 시장에 대단한 악재가 터진 것이라고 보아야 한다.
또한 1년 모멘텀이 PLUS인 비율이 30% 미만이라면 하락장(drawDown_flag 값이 -1)으로 정의하였다. 만약 1년 모멘텀이 PLUS인 비율이 20% 미만이라면 80% 이상의 종목이 하락 중이라는 뜻이다. 이런 시기는 폭락장(drawDown_flag 값이 -2)이 왔다는 뜻이다. 소스의 140~144 라인이 여기에 해당한다.
이번에 소개할 전략에서는 현금비중조절이 두 가지로 나뉜다. 폭락장에서는 모멘텀이 -4% 이상 하락하면 전체손절(현금비중 100%)을 하고, 하락장에서는 모멘텀이 -4% 이상 하락하면 전월에 비해 주식비중을 절반으로 줄인다. 폭락장은 쉬운데 하락장은 로직이 어려운가? 하락장 현금비중조절의 예를 들어보겠다. 하락장에서 모멘텀이 처음으로 -4% 이하로 떨어졌다면 주식비중은 50%이다. 다음달에도 하락장이면서 모멘텀이 -4% 이하로 나온다면 주식비중은 25%이고, 그 다음달에 모멘텀이 또 -4% 이상 하락한다면 주식비중은 12.5% 이다.
왜 현금비중조절을 두가지로 구분했나?
항상 하락장 --> 폭락장으로 넘어가지 않기 때문이다. 하락장에서 정상장으로 돌아갈 가능성도 있다. 따라서 하락장(1년 모멘텀이 Plus인 종목이 30% 미만인 상황)에서 1~2개월 모멘텀도 -4% 이하가 되면 현금비중을 점점 늘려나간다. 상황이 더 악화되어 폭락장(1년 모멘텀이 Plus인 종목이 20% 미만인 상황)이 와서 2~3개월 모멘텀이 -4% 이하라면 전체손절을 한다. 반대로 하락장에서 정상장으로 들어가면 주식비중을 100% 로 늘린다.
이번 전략은 현금비중조절(손절)이 거의 발생하지 않는다. 왜냐하면 하락장과 폭락장이라고 해도 2개월 혹은 3개월 모멘텀이 -4%이상 하락해야 현금비중조절(손절)을 하고, 정상장에서는 아무리 하락해도 현금비중조절(손절)을 아예 하지 않기 때문이다. 하지만 생각 보다 위험하지는 않다. 왜냐하면 월 매수종목수가 40정도되면 개별 기업에 의한 비체계적 위험이 별로 없기 때문이다. 또한 PBR X PER이 8.43 이하인 종목만 매수됨으로 재무적으로 악성 종목을 고르는 것은 원천적으로 불가능 하다. 만약 그렇다면 오히려 정상장에서 매수와 손절을 자주 반복하는 것이 더 위험하지 않을까?
모멘텀을 이용한 손절은 MDD를 줄이는데 탁월하다. 3번 방법(가치가중선정 및 매수)에 현금비중조절(손절)을 전략을 더하니 MDD가 매우 좋아졌다. 월평균 수익률은 처음으로 5%를 돌파했고, MDD가 54.38%에서 19.63%로 획기적으로 낮아졌다. 하락장과 폭락장에서 현금비중을 조절하였더니 드디어 사용해 볼만한 전략이 만들어 졌다. 하지만 우리는 여기서 멈출 순 없다.
5.BolingerBand 필터
다양한 퀀트 전략을 보았지만 기초적인 필터전략(예를 들면 PBR이 1보다 작고, PER이 7보다 작은 종목 선택)이나 SMART BETA의 방법(Value, Quality, Momentum, LowVol, 배당수익률)등의 지표를 이용하는 것이 전부였다. 기본적(재무적) 지표나 모멘텀만 가지고 모든 것을 해결하려는 생각은 위험하다. 이 글에서는 대표적인 기술적 지표인 볼린저 밴드를 이용한 필터전략을 다룬다.
볼린저밴드는 활용도가 아주 많다. 예를 들면 LowVol 전략에 활용될 수 있다. 밴드의 폭이 8% 미만이라면 에너지가 응집되고 있다는 뜻이다. 따라서 시간이 어느 정도 지나고 응집된 에너지가 폭발하면 수익률이 좋게 나올 가능성이 높아진다. 하지만 아래 전략에서 사용된 것은 LowVol 전략이 아니라 추세추종전략이다.
볼린저 밴드를 이용한 추세추종 방법은 메트릭 스튜디오라는 책을 참조하라. 그 전략을 요약하자면 밴드의 폭이 넓을 때는 주가가 밴드상단 바로 밑에 붙어서 따라가면 수익률이 좋다는 것이다. 반대로 밴드의 폭이 넓을 때 주가가 밴드상단을 돌파하면 수익률이 매우 좋지 않다. 여기서는 수익률을 좋게 하는 방법은 쓰지 않았다. 반대로 밴드폭이 넓을 때 밴드상단을 돌파한 종목을 제거하였다. 왜냐하면 이런 패턴의 종목은 짧은 시간내에 하락추세로 빠지기 때문이다. 소스의 104 LINE이 그것이다.
위의 전략은 미래에 하락추세로 바뀔 종목들을 제거한 것이다. 볼린저 밴드를 이용한 또 하나의 필터링 방법은 이미 하락추세에 들어선 종목을 제거하는 것이다. 즉 밴드의 폭이 넓을 때 주가가 밴드 하단의 바로 위에 있는 종목(하락추세 시작인 종목)을 제거하였다. 소스의 106 LINE이 그것이다. 이렇게 두 가지 필터링을 함으로써 수익률이 월 0.04% 좋아지고 MDD는 1.09% 좋아졌다. 하지만 아직 나는 배가 고프다. 한발 더 나아가 보자.
6.가치가중매수 + Power
가장 쉽게 수익률을 올릴 수 있는 방법이다. 하지만 이 방법을 과도하게 사용하면 아주 위험하다.왜냐하면 POWER를 과도하게 올리는 순간 안전을 위해서 ‘계란을 한 바구니에 담지 말라’ 는 포트폴리오 이론에서 벗어나기 때문이다. 예를 들어 포트폴리오의 전체종목수가 20이라고 가정하면, POWER를 2~3 이상으로 사용한다면 2~3 종목에 50% 이상의 금액이 몰리게 된다. 운이 좋게도 자금이 집중된 2~3종목이 상승해 준다면 좋겠지만, 예상과 다르게 2~3종목이 많이 하락해버린다면 MDD가 커지게 된다.
그럼 어떻게 하란 말인가? POWER는 1을 초과해서는 사용하지 말라는 것인가? 그렇지는 않다. 1을 초과해서 사용 할 수 있는 방법이 있다. 1번의 가치가중매수에서 한발로 서는 것보다 4발로 서는 것이 더 안정적이라고 설명 한바 있다. 4발(4가지 지표)로 서면 안정적임으로 POWER를 올리더라도 MDD가 늘어나는 폭이 적어진다. 반대로 PER과 같이 한가지 지표로만 가치가중매수를 한 상태에서 POWER를 늘린다면 MDD가 급격히 커질 가능성이 높아진다.
가치가중 매수 시 3~4가지 지표를 사용하였다면, 이제 POWER를 조금씩 늘려서 반복적으로 테스트 한다. 1로 시작하여 0.1씩 늘리면서 아래의 세 가지 케이스를 찾아야 한다. 아래의 경우가 아니라면 Power를 1보다 초과해서 사용하는 것은 위험하다.
1) POWER를 0.1씩 늘릴 때 MDD는 거의 그대로 이면서 수익률만 올라가는 경우
2) POWER를 0.1씩 늘릴 때 수익률은 거의 그대로 이면서 MDD만 내려가는 경우
3) POWER를 0.1씩 늘릴 때 수익률은 올라가고 MDD는 내려가는 경우(드문 경우임). 이런 경우를 찾으면 빙고!를 외쳐야 한다^^
341 LINE의 powerNumber도 이런 방법으로 찾은 것이다. 1번 가치가중매수, 2번 가치가중선정에서 사용된 숫자(~Ratio)들도 이런 식으로 찾았다. 다시 한번 말하지만 자연상태의 통계에서는 정수 1, 2, 3, 4… 로 딱 떨어지는 경우는 드물다. 소스의 powerNumber인 1.49 처럼 소수점이 포함된 자연상태의 숫자를 찾아야 한다. 이렇게 하니 월평균 수익률은 0.3% 정도 좋아졌고, MDD도 0.2% 좋아졌다.
결론
1) 여러 가지 지표를 사용하여 가치가중매수 방법을 사용하라. 하나의 지표를 사용하는 것보다 안정성이 높아진다. 또한 각 지표 별로 서로 다른 중요도(~Ratio)를 적용한다면 최적화 할 수 있다.
2) 종목을 선정(가치가중선정)할 때도 각 지표 별로 서로 다른 중요도(~Ratio)를 적용한다면 최적화 할 수 있다. 이렇게 한다면 소형주 효과를 얻기 위해 시총상위 80% ~ 90% 종목을 제거할 필요는 없다.
3) 1)번과 2)번을 동시에 사용하라. 수익률이 희석되지 않으며 MDD도 좋은 쪽으로 적용된다.
4) 장기모멘텀과 단기모멘텀의 역할을 구분하라.1년 모멘텀을 이용하여 하락장이나 폭락장을 판별하라. 하락장이나 폭락장에서 2개월 혹은 3개월 모멘텀이 일정기준 이상 하락하면 현금비중을 조절하라. 반대로 정상장이나 상승장에서 손절은 휩소를 만나 손해 볼 가능성이 높다.
5) 기술적 지표를 사용하라. 간단한 필터만으로 수익률을 올라고 MDD를 낮출 수 있다.
6) 가치가중매수에서 높은 POWER를 사용하면 MDD 또한 높아진다. 그러므로 POWER를 조금씩 늘려가면서 수익률은 높아지고, MDD는 줄어드는 최적 값을 찾아야 한다.
PS
이 글에서 최적화는 주관적인 관점에서 쓰여졌음을 밝혀둔다. 왜냐하면 최적화는 개인마다 다를 수 있고, ‘어떤 특정한 방법을 써야만 최적화된다’ 라는 규칙은 없기 때문이다. 그럼에도 불고하고 이 글을 쓴 이유는 '최적화를 어떻게 할 것인가?'를 고민하는 사람들이 많이 있는데, High Risk High Return이라는 말을 철썩 같이 믿고 있기 때문이다.
“수익률 높아지는 최적화를 했기 때문에 MDD는 좀 높아도 되” 하는 사람들은 다시 한번 생각 해보길 바란다. 퀀트 전략을 믿고 오래 투자하려면 수익률보다 MDD가 낮아야 한다. 그러므로 위의 1~6번 기법을 당신이 사용하는 전략에 적용해보라. 최적화라는 것은 각각의 퀀트전략마다 다름으로 좋아지지 않는 경우도 많을 것이다. 하지만 이 글에서 소개된 최적화 기법들 중 하나라도 당신의 퀀트전략에 적용하여 수익률이 높아지거나 MDD가 낮아진다면 필자의 바램이 달성된 것이다.
끝으로 두서 없고, 실력도 없는 사람의 긴 글을 읽어준 분들께 감사 드린다.