본문 바로가기
systrader79 칼럼/실전 투자 전략

실전 투자 전략 (30) - 머신러닝 알고리즘(kNN, SVM, Decision tree)을 이용한 절대수익 전략(5)

by systrader79 2016. 12. 19.
728x90
반응형
728x170


 이번 포스팅에서는 머신 러닝을 이용한 실제 투자 전략을 살펴보겠습니다. 

 머신 러닝 기법은 워낙 범용성이 뛰어나기 때문에, 펀더멘털에 기반을 둔 일반적인 퀀트 전략 뿐만 아니라 기술적 지표를 이용한 트레이딩 전략, 포트폴리오 전략 어디에나 적용이 가능합니다.

 우선 퀀트 전략에 적용한 사례를 먼저 살펴보고, 기술적 트레이딩 전략에 접목한 예를 살펴보겠습니다. 


1. 150개 지표를 결합한 퀀트 모델

 직전 포스팅에서 살펴본 바와 같이 일반적인 주식 퀀트 모델에서는 개별 팩터, 혹은 2~3개 팩터를 선형적으로 결합한 모델을 쓰는 것이 일반적입니다. 하지만, 변수가 2~3개가 아니라 10개, 아니 100개가 넘어가면 이걸 어떻게 조합해야 할까요? 

 팩터의 수가 많아지면 단순히 10등분 랭킹을 매겨서 점수를 다 합산하는 방식은 아무 의미가 없어집니다.  이런 경우, 머신 러닝 기법을 이용하면 수많은 팩터 중 어떤 팩터가 해당 투자 시계열에서 가장 의미가 있는지 실시간으로 확인, 최적화 할 수 있고 팩터 로테이션 전략에도 접목시킬 수 있습니다.

 소개하는 모델은 메리츠 증권 강봉주 퀀트가 2016년 2월 제시한 모델로, 현재 일반적인 퀀트 전략에서 개별 팩터로 분류되는 거의 대부분의 변수를 머신 러닝 기법으로 결합한 롱숏 포트폴리오 전략입니다. 

 방법은 다음과 같습니다. 

 

 - 학습 데이터(입력 자료) : 주가의 움직임과 관련된 7개 팩터군에서 선정된 총 150개 팩터 (최근 5년)

   (이익 모멘텀, 이익 성장성, 퀄리티(수익성, 안정성), 밸류에이션, 리스크, 수급, 수익률)

 - 출력 데이터(예측 자료) : 월 수익률

 - 다양한 머신 러닝 모델을 적용, 매 투자 시점에서 가장 수익률이 좋을 것으로 예측된 20개 종목군을 매수(long), 가장 낮을 것으로 예측된 20개 종목군을 매도(short) 하는 롱숏 포트폴리오 구축

 -  한가지 머신 러닝 기법을 사용하지 않고 다수의 머신 러닝 전략을 결합한 앙상블 기법을 사용

 

시뮬레이션 결과 월 평균 5.6%의 높은 수익률을 달성했으며, KOSPI 월간 수익률과 모델 수익률의 상관 계수가 -0.18로 증시 등락과의 상관성이 낮은 것으로 나타났다고 합니다. 




 어떤 머신 러닝 기법을 선정했고(분류 모델인지, 회귀모델인지, 딥러닝 기법인지), 모델을 어떻게 결합했는지(앙상블 기법)에 대한 상세한 설명이 없어 구체적인 로직을 알기 힘든 점은 아쉽습니다. 

 자료는 여기서 다운받으실 수 있습니다.


2. 서포트 벡터 머신을 이용한 트레이딩 전략 포트폴리오

 여기서 소개해드릴 내용은 바로 앞과는 완전히 다른 접근법으로 철저히 기술적인 트레이딩 전략에 머신러닝을 접목시킨 전략입니다. (원문 다운로드(클릭))

 앞서 소개한 방법이 주가에 영향을 미칠 것으로 예상되는 다양한 팩터를 대상으로 수익이 가장 높을 것으로 예상되는 팩터를 선정하는 방식이었다면, 이번 전략에서는 다양한 투자 전략에 의해 발생한 수익 곡선을 대상으로 서포트 벡터 머신 알고리즘을 이용, 어떤 투자 전략이 다음날 가장 좋은 수익률을 낼지 예측하여, 해당 투자 전략을 선정 투자하는 방식입니다. 

 이 전략에서는 총 8개의 대표적인 기술적 투자 전략(이동 평균 교차 시스템, MACD 돌파 시스템, 추세 추종자 시스템, 반락매수/랠리 매도 시스템, DMI 시스템, Keltner channel 시스템, Bollinger band 시스템, 피보나치 0.382 되돌림 시스템)을 이용하고 있는데, 각 전략 자체는 지극히 단순하고 널리 알려진 것들이라 특별한 것이 없습니다.

 원문에서는 각 전략의 자세한 로직의 투자 성과는 제시하지 않았지만, 제 경험으로 볼 때 개별 전략의 투자 성과가 썩 좋지는 않을 것으로 생각합니다. 

 하지만, 여기서 주목해야 할 점은 개별 전략의 완벽성으로 승부를 보려고 한 것이 아니라, 전략의 불완전성을 인정한 상태에서 개별 투자 전략을 하나의 종목처럼 간주하고, 머신 러닝을 일종의 이차적인 전략 선정 및 트레이딩 기법처럼 이용하여 절대 수익을 달성할 수 있었다는 점입니다. 


 단순히 종목을 selection 하는 룰로 머신러닝을 적용하려는 시도도 있지만, 그런 방식보다는 이런 트레이딩 전략의 포트폴리오를 대상으로 머신 러닝을 적용하는 방식이 더 의미가 있고 좋은 성과를 보여주는 연구들이 많이 있습니다. 

 실제로 국내 한 웹 어플리케이션 업체에서 각종 기술적 지표를 조합, 머신 러닝 기법을 이용하여 다음 날 특정 종목이 오를지 내릴지 예측하는 서비스를 제공한 적이 있었는데, 예측 정확도가 50% 수준으로 사실상 의미 없는 결과를 보여 현재는 서비스가 중단되었다는 기사를 본 적이 있습니다. 

 기술적 지표나 트레이딩에 대한 충분한 개념 없이, 머신 러닝 알고리즘을 마치 연금술의 도구처럼 여겨 아무 종목이나 지표를 집어놓고 마구잡이로 돌리면 황금이 나올 것으로 착각하는 사람들이 있는데, 철저한 오해이자 무지의 소산이라고 할 수 있습니다. 

 이는 마치 기초적인 해부학과 생리학에 대한 지식이 전무한 일반인이 칼쓰는 테크닉만 잘 익히면, 자신도 고난도의 장기 이식 수술을 노련한 외과 의사와 똑같이 할 수 있을 것이라고 착각하는 것과 근본적으로 차이가 없다고 볼 수 있습니다. 

 이런 관점에서 볼 때 머신 러닝 기법을 이용해서 성공적인 트레이딩 전략을 구사하기 위해서는 무엇보다도 적용할 기본적인 대상에 대한 깊은 이해와 지식이 필수적이라고 할 수 있습니다.

즉, 퀀트 모델을 이용한 머신 러닝 기법을 구사할 경우, 기본적인 펀더멘털 지표나 기존의 전통적인 팩터 모델에 대한 이해가 불필요한 것이 아니라 오히려 필수적이고, 기술적 머신 러닝 기법을 구사하고자 할 경우에도 시스템 트레이딩에 대한 깊은 이해가 반드시 선행되어야 한다고 볼 수 있습니다. 그렇지 않은 경우에는 정말 아무 의미없는 데이터 마이닝이자 과최적화로 덕지덕지한 쓰레기 모델로 끝나게 됩니다. 

 기초가 없는 모델은 사상누각과도 같겠지요? 이런 관점에서 볼 때, 투자자나 개발자나 모두 쏟아져 나오는 인공지능 투자 모델에 대한 막연하고 과도한 환상은 버리고, 기본기가 가장 중요하다는 평범한 진리를 깨닫는 것이 훨씬 중요하다고 생각합니다. 이런 전제 조건이 충족된 상태에서, 머신 러닝 기법이 결합된다면 정말 좋은 투자 모델을 기대할 수 있겠지요?


나가시기 전에 블로그 글 맨 하단의 배너 광고를 한 번만 클릭해주시면 더 좋은 콘텐츠를 만드는데 큰 도움이 됩니다~ 감사합니다! >

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


2. 'systrader79의 주식 단기 매매 전략 온라인 강좌'가 뉴지스탁에서 진행 중입니다!

   개별 주식을 이용한 단기 매매 기법, 뉴지스탁을 통한 완전 자동 투자 매매 구현에 관한 폭넓         은 노하우를 다루고 있으니, 많은 성원 부탁드립니다~

   첫 번째 강의는 수강 신청없이 무료로 시청 가능합니다 (아래 링크 클릭 --> 1번 방송 클릭)

     강의 소개 (클릭)

     * 강의 바로가기 (클릭)



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



728x90
반응형
그리드형

댓글