본문 바로가기
systrader79 칼럼/투자의 기초 (필독)

퀀트 전략의 기초 (1) - 퀀트 전략 만드는 법 (107)

by systrader79 2021. 8. 13.
반응형

 불과 10여년 전만 하더라도 '퀀트 전략'이라고 하면 퀀트 전략을 전문으로 연구하는 소수의 기관 투자자들에게만 한정된 성역이었지만, 퀀트 전략에 대한 저변과 시뮬레이션 및 자동 매매 툴이 급격히 대중에게 보급된 현재 시점에는 누구나 몇 분만에 수십년치 데이터로 쉽게 자신의 퀀트 전략을 시뮬레이션할 수 있는 시대가 되었습니다. 

 

 이번 포스팅에서는 그동안 자세히 다루지 않았던 중장기 퀀트 전략을 어떤 방식으로 디자인하고 개선시킬 수 있는지 단계적으로 시리즈로 살펴보겠습니다. 퀀트 전략에 관심은 많았지만, 어디서부터 손을 대야할 지 너무나 막막하고 감이 안 잡히셨다면 이번 시리즈에서 아주 쉽게 순서대로 알려드리겠습니다. 

 

그럼 시작해볼까요? 

1. 퀀트 전략을 짜는 방법과 순서

* 퀀트 전략은 다음과 같은 순서로 짜면 됩니다. 

 1) 검증하고자 하는 팩터 선정 

 2) 팩터의 성과를 상위, 하위순으로 정렬하여 성과 검증

 3) 보유 기간을 달리하여 테스트

 4) 마켓 타이밍 적용

 5) 필터링 조건 추가

 5) 매수, 매도 조건 최적화

 

2. 검증하고자 하는 팩터 선정

*  첫번째, 팩터 선정부터 살펴보겠습니다. 여러분이 퀀트 전략을 짜려고 한다면, 나름대로의 가설을 세우게 될 것입니다. 예를 들자면, 최근 영업이익이 급증한 종목으로 포트를 구성하면 수익이 잘 날 것이다 혹은 최근 급락 혹은 급등한 종목, 혹은 가치가 좋은 종목으로 포트를 구성하면 수익이 날 것이다라는 것들이 모두 훌륭한 퀀트 전략의 가설이 될 수 있습니다.

 

* 전설적인 복서 핵주먹 타이슨의 유명한 말이 있지요. 

 "누구에게나 계획은 있다. 쳐맞기 전까지는..."

 

 

* 퀀트 전략에도 이 원리는 그대로 적용됩니다. 절대 다수의 망하는 투자자들은 자신이 세운 가설이 무척 합리적이라고 생각하고 그대로 투자합니다. 가설이 너무나 논리적이고 합리적이기 때문에, 수익은 당연히 날 것이며, 검증은 할 필요조차 없다는 겁니다. 소위 말하는 시장을 어떤 경제 논리나 매크로 지표로 방향성을 예측하는 자칭 전문가들도 다 이런 부류에 속합니다. 실제로도 그들의 주장이나 논리는 무척 합리적인 것처럼 들립니다. 하지만, 들어맞는 경우는 거의 없는 이유는, 그들의 논리나 주장은 증명되지 않은 합리적인 '가설'에 불과하기 때문입니다. 

 

 * 우리가 어떤 연구를 할 때 처음 세우는 가설도 모두 '합리적'입니다. 증명할 가치도 없는 허무맹랑한 가설로 연구를 하는 사람은 없지요. 

 퀀트 시뮬레이션을 많이 하다보면 아무리 합리적인 것처럼 생각되는 가설도 실제로 검증해보면 의미가 있다고 생각되는 것은 5%도 채 안되는 것을 발견할 수 있는데요, 이 사실을 여러분이 시뮬레이션을 통해 두 눈으로 확인하는 순간 그동안 막연하게 '이런 이런 종목을 이런 자리에서 사면 당연히 수익이 나지 않을까?' 라는 생각으로 검증도 안해보고 무장적 투자했던 과거를 돌아보며 등줄기에 식은땀이 날 지도 모르겠습니다. 

 

* 착각하지 마십시오. 검증되기 전까지는 여러분, 혹은 전문가들이 주장하는 가설이 아무리 합리적이고 논리적이라고 주장하더라도 그것은 가치가 '전혀' 없습니다. 가설이 합리적, 논리적인 것과 그것이 사실인지 아닌지의 여부는 전혀 상관이 없습니다. 검증해봐야만 알 수 있습니다. 너무 과격한 얘기 아니냐고요? 아닙니다. 팩트는 원래 폭력적입니다. 

 

3. 팩터의 성과를 상하위로 검증

* 어쨌거나 여러분이 검증하고자 하는 팩터를 선정했다면, 이제는 그 팩터의 유용성을 검증할 단계입니다. 이 팩터가 실제로 수익이 나는지 아니면 손실이 나는지, 수익이 나면 얼마나 잘 나는지, 손실이 발생하면 얼마나 큰 지 등의 기본적인 사항을 확인하는 단계입니다. 

 

* 이 단계에서는 내가 선정한 팩터를 상/하위로 정렬하여 팩터의 성과를 검증하게 되는데요, 예를 들어, PER 이라는 대표적인 가치 투자 지표를 이용해서 성과를 검증하고자 한다면 PER이 낮은 30종목 vs PER 이 높은 30종목으로 포트폴리오를 구성하여 각각의 퍼포먼스를 비교해보면 됩니다. 보유기간은 넉넉하게 250일 과 같이 잡으면 됩니다. 

 

* 이 때, 중요한 것은 세부적인 매수와 매도의 조건은 전혀 걸지 않아야 한다는 것입니다. 

 '아니 전략의 성과를 향상시키려면, 매수와 매도 로직도 세부적으로 걸어야 되는 거 아닙니까?' 라고 질문할 수 있지만, 모든 것에는 다 단계가 있는 법입니다. 여러분이 생각하는 기똥찬 매수와 매도 로직까지 장착을 해버리면, 시뮬레이션 단계에서 내가 선정한 개별 팩터가 유용해서 수익이 잘 난 것인지, 아니면 여러분이 장착한 매수와 매도의 로직이 너무나 기똥차서 수익이 잘 난 것인지 전혀 알 수가 없기 때문입니다. 

 

* 따라서, 처음 시작하는 단계에서는 매수와 매도의 구체적인 로직은 생략하고, 팩터 자체의 성과에만 집중하는 것이 중요합니다. 

 

4. 보유 기간을 달리하여 테스트 (리밸런싱 주기 선정)

* 팩터의 기본적인 성과를 확인했다면, 이제는 리밸런싱 주기를 선정하는 단계입니다. 

 예를 들어, PER 하위 포트가 상위 포트보다 성과가 압도적으로 우월하게 나타났다면, 보유 기간을 조절하여 어느 정도의 기간을 가지고 리밸런싱 할 것인지 결정하는 단계입니다. 

 

* 일반적으로 보유 기간이 길면 세금과 수수료를 절약할 수 있지만, 종목의 교체가 낮아지기 때문에 분산 효과를 누리기 어렵고, 충분한 수익 혹은 손실이 발생했을 때 얻을 수 있는 리밸런싱 효과에서 손해를 볼 수 있습니다. 어떤 종목이 짧은 기간에 급등을 하면 이후에 재차 하락할 수가 있는데 무작정 리밸런싱 기간을 너무 길게 잡으면 적절히 올랐을 때 의미있는 수준의 차익실현을 하기 어렵기 때문입니다. 

 

* 따라서, 일반적인 퀀트 시뮬레이션에서 널리 쓰이는 방법은 월단위 리밸런싱 전략입니다. 1달에 1번 종목 전체를 교체하는 방법입니다. 일단위로 접근한다면 대략 20 거래일이 한 달에 해당되므로 1개월 혹은 20일 리밸런싱을 기본으로 이용하시면 되겠습니다. 

5. 마켓 타이밍 적용

* 아무리 내가 짠 전략, 종목이 좋다고 하더라도 시장이 추세적으로 하락하거나 급락하는 구간에서는 전체 포트도 반드시 손실이 나게 되어 있습니다. 2008년 금융 위기, 2020년 코로나 사태와 같은 무시무시한 구간에서, '내가 선택한 종목들은 좋은 종목이니까 괜찮을거야' 라고 생각하실지 모르겠으나, 전혀 괜찮지 않습니다. 그것은 여러분의 희망 사항일 뿐입니다. 

 

* 시장이 의미있게 하락하는 구간에서는 운이 좋아 들고 있는 종목 몇 개는 수익이 날 수 있겠지만, 전체 포트폴리오 단위로는 반드시 손실을 보게 되어 있습니다. 제가 블로그에서 지겹도록 강조한 바 있죠? 하락장에서는 종목간의 상관관계가 급증하면서 하락하기 때문에 그렇습니다. 

 

* 따라서, 여러분이 퀀트 전략을 장기로 유지하실 계획이라면 시장의 하락구간으로 접어들 때는 반드시 매수를 쉬고, 보유하고 있는 종목 전체를 청산했다가 장이 좋아질 때 다시 진입하는 마켓 타이밍 전략을 반드시 장착해야 합니다. 

 

* 마켓 타이밍 전략은 코스피나 코스닥 지수를 바탕으로 쉽게 디자인하면 됩니다. 이후의 시리즈에서는 마켓 타이밍 필터를 어떻게 디자인하고 장착하는지 알려드릴 것입니다. 

 마켓 타이밍에 대해 이렇게 얘기하는 사람들이 많습니다. 

 

 '마켓 타이밍? 그거 뭐 코스피 20일 이평선 보고 위에 있을 때 사고, 아래 있을 때 팔라는 그런 류 아냐? 그거 모르는 바보도 있나? 근데, 코스피 20일 아래에 있어도 급등할 때도 있고, 위에 있을 때도 폭락할 때도 있어. 그게 절대로 완벽한 게 아니라고.. 지수는 절대로 예측 못해... 어설픈 지식으로 과최적화 하지 말라고'

 

이런 분들의 논리를 비유로 설명하면 이렇습니다

 

 '안전벨트? 에어백? 그거 있다고 교통사고에서 안 죽는 거 아냐. 안전벨트에 에어백 최고로 좋은 거 달아도 죽는 사람도 있어. 완벽한 안전벨트랑 에어백은 없어. 아무리 새로 나오는 좋은 제품을 다 테스트해봐도 죽는 사람은 반드시 나와. 그러니까 안전벨트랑 에어백은 필요 없다고'

 

마켓 타이밍 필터의 목표는 '완벽하게 손실을 전혀 안보는 타이밍'을 찾으려는 게 전혀 아닙니다. 

마켓 타이밍 신호와 정반대로 시장이 움직이는 경우도 당연히 많이 있고, 완벽한 마켓 타이밍 조건을 찾는 것은 불가능하다는 것도 당연히 압니다. 

마켓 타이밍 조건의 목표는 손실이 전혀 없고, 실패가 전혀 없는 마법의 진입과 청산 시점을 찾으려는 것이 전혀 아니고, 예상치 못하게 진행할 수 있는 최악의 추세 하락 구간을 피하기 위한 비록 불완전하지만 반드시 필요한 타이밍을 설정하는 것입니다. 

안전벨트와 에어백의 존재 이유는, 그것이 완벽해서이기 때문이 전혀 아니라, 비록 완벽하지 않더라도, 그것을 장착한 것과 안한 것 사이에는 엄청난 차이가 나기 때문입니다. 존재 목적이 완전무오함을 추구하는 것이 아니라는 거죠. 

 

'백테스트는 미래를 담보하지 않기 때문에 모두 과최적화다'

'완벽한 전략은 없기 때문에 우상향 전략도 모두 신기루다'

'완벽한 마켓 타이밍 전략은 없기 때문에, 찾으려는 시도는 무의미하다'

 

이런 논리는 모두 궤변이라고 할 수 있겠죠?

완전무오하게 손실을 막으려면 트레이딩을 하면 안됩니다. 은행에서 예금을 들어야 합니다. 

6. 필터링 조건 추가 / 매수, 매도 조건 최적화

* 마켓 타이밍 조건까지 장착하면 어느 정도 우상향하는 전략의 뼈대가 완성됩니다. 백테스트 수익 곡선을 봐도 약간 불안정한 구간이 보이지만, 안정적으로 우상향하는데는 큰 지장이 없기 때문에, 관상용으로 감상하기에도 뿌듯한 상황이 됩니다. 

 

* 하지만 실전에 투자하려면 좀 더 정교하게 가다듬을 필요가 있기 때문에, 나쁜 종목을 걸러내고, 매수와 매도의 조건을 좀 더 정교하게 디자인하는 과정이 필요합니다. 

 단순한 우선 순위 조건만으로는 불량한 종목을 골라내기 힘들기 때문에, 기술적, 가치적, 재무적, 혹은 자신만의 기준에서 편입되어서는 안되는 종목들의 조건을 선정하여 필터링 아웃하여 안정성을 기하고, 수익을 극대화하기 위해 단순한 마켓 타이밍 조건에 부가하여 의미있는 매도 조건을 추가합니다. (의미있는 수준의 수익률 달성시, 의미있는 기술적 지표 조건 충족시 등)

 

* 이런 조건을 디자인할 때는 반드시 상식적이고 합리적인 논리에 근거를 두어야 합니다. 이 과정이 끝나고 백테스트에서 만족할 만한 성과를 확인한다면, 실전에 투입을 할 수 있게 되지요. 

 

지금까지 간단하게 퀀트 전략을 어떻게 시뮬레이션 하는지 커다란 틀을 설명드렸습니다. 

다음 포스팅부터는 아주 단순한 전략부터 시작하여, 이상의 순서로 어떻게 전략의 퍼포먼스를 향상시키는지 구체적인 방법을 단계적으로 살펴보겠습니다. 

 

1. 네이버 카페 '실전주식투자연구소' 로 오시면, 본 블로그의 모든 내용을 카테고리별로 정렬하여 순서대로 확인하실 수 있고, 다양한 실전 투자 정보도 얻을 수 있습니다~

2. 자타가 공인하는 주식 단기 시스템 트레이딩의 최고 전략가, '닥터 퀀트의 단기 트레이딩 강좌'가 뉴지스탁에서 진행중입니다. 닥터 퀀트의 강좌에서는 그동안 공개하지 않았던 무려 50개 이상의 실전 트레이딩 전략과 주기적인 업데이트 강의가 제공됩니다~

3. 'systrader79의 단기 시스템 트레이딩 강의'와 '자산 배분 완전 정복 강의', '팩터 백과 사전 강의' 가 뉴지스탁에서 진행중입니다~     주식 단기 트레이딩과 자산 배분 전략에 관심이 있으신 분들의 많은 성원 부탁드립니다

4. 여러분의 인생이 걸린 너무나도 중요한 소식 ----> 여기를 클릭하세요!

 

반응형

댓글0