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

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

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

 이번 포스팅부터는 트레이딩에도 서서히 확산되고 있는 머신 러닝 기법을 이용한 다양한 실전 투자 전략에 대해서 살펴보겠습니다. 지난 포스팅에서 보여드린 전략은 지극히 단순한 지표만을 가지고 개념만 설명한 것이고, 실전에서는 훨씬 더 다양한 변수를 정교하게 조합한 모델을 적용하는 것이 중요할 것입니다.

 사실 저도 머신 러닝의 초보이기 때문에, 아주 멋진 모델을 시뮬레이션 할 능력은 되지 못합니다. 대신 이번 포스팅부터 소개해드릴 전문가들의 다양한 모델을 살펴보면, 향후 머신러닝이나 인공지능이 투자에 어떻게 접목될 수 있고, 가능성과 한계점은 무엇인지 훨씬 더 피부에 와 닿으리라 생각합니다. 


1. 머신 러닝을 이용한 트레이딩 전략, 어떻게 만들까?

 머신 러닝을 이용한 트레이딩 전략이라고 하면 뭔가 아주 복잡하고 심오할 거라고 생각할 수 있겠지만 (물론 알고리즘의 수학적 원리는 단순한 것부터 아주 복잡한 것까지 다양합니다), 알고리즘이 아닌 투자 전략의 컨셉 자체는 기존의 투자 전략을 짜는 것과 전혀 다르지 않습니다. 

 한 번 생각해봅시다. 여러분이 가치 투자자이건, 기술적 트레이더건, 중장기 포트폴리오 투자자이건, 단타 투자자건 투자 전략을 짜고, 검증하는 과정은 기본적으로는 동일하다고 볼 수 있습니다. 그 과정을 아마 다음과 같이 정리할 수 있겠지요. 


 - 1 단계 : 투자에서 수익이 잘 날거라고 생각하는 변수 선정 (ex : PBR, 이동 평균선....)

 - 2 단계 : 해당 변수를 이용한 트레이딩 전략 설정 (ex : PBR이 1보다 작은 종목만 보유, 20일 이평선 위에 있는 경우만 보유)

 - 3 단계 : 2단계 과정을 데이터 시뮬레이션을 통해 해당 변수 전략의 유효성 검증

 - 4 단계 : 결과 양호하면 전략에 따라 투자, 양호하지 않으면 전략 폐기


 요약하면, 수익을 잘 낼 수 있을 것 같은 가설 (변수, 전략)을 세워보고, 이를 데이터로 검증하여 가설이 맞는지 확인한 후 투자하는 상식적으로 단순한 구조입니다. 머신 러닝을 이용한 투자 전략도 기본적인 컨셉은 전혀 다르지 않습니다. 


2. 머신 러닝을 이용한 투자 전략, 뭐가 다르지?

 그렇다면, 기존의 투자 전략과 머신 러닝을 이용한 투자 전략은 대체 무엇이 다른 걸까요? 

 개인적으로는 크게 2가지로 봅니다.

 첫째는, 변수나 전략의 비선형적인 결합이 가능하다는 점이고, 둘째는, 시장 상황에 맞게 변수나 전략을 동적으로 교정이 가능하다는 점입니다. 쉬운 예를 들어보겠습니다. 

 우선 첫 번째 특징인 전략의 비선형적인 결합이 가능하다는 점에 대해 살펴보겠습니다. 

 흔히 다양한 팩터를 이용한 주식 포트폴리오 전략을 짜서 검증하는 일반적인 방법은, 특정 팩터(ex: PBR, PER 등)을 랭킹 순으로 10등분 한 뒤 (수능 점수를 10등급으로 나누는 것과 유사), 장기간 동안 각 그룹의 평균 수익률이나 리스크를 비교하는 식입니다. 일반적으로 PBR과 같은 지표가 낮을수록(가치가 높을수록) 높은 그룹에 비해 초과 수익률이 나는 것으로 알려져 있기 때문에, 저 PBR 주로 구성하는 포트폴리오 전략의 구사가 가능합니다. 

 그런데 만일, 단일 변수가 아니라 다양한 변수를 조합해서 보고 싶다면 어떻까요? 

 예를 들어, PBR은 낮은데, 변동성도 낮고, 모멘텀도 좋은 (가치주 중에서 안정적으로 우상향하는 종목군)을 선별하려고 하면 어떻게 해야 할까요?

 통상적으로 가장 널리 쓰이는 방법은, 개별적인 변수를 스코어링하여 이를 다 합산한 결과를 다시 랭킹으로 매기는 방법입니다. 비유를 하자면, 누가 공부를 제일 잘하는지 평가하기 위해, 영어 수학 점수를 모두 더한 총점을 기준으로 랭킹을 매기는 방법과 같습니다. 이러한 방식이 선형 결합 방식입니다 (일차 함수적인 결합).

 이 방법은 단순하면서도 직관적인 장점이 있지만, 단순한 점수의 합이 항상 평균적인 속성을 잘 반영하지는 못할 수도 있고(영어 60점, 수학 60점인 학생이 영어 20점, 수학 100점인 학생과 동급이라고 봐야 하는지?), 변수의 개수가 많아지면 이도저도 아닌 잡탕이 되는 문제도 있습니다. 또한, 단순하고 직관적인 방법이 장점이기도 하지만 , 변수간의 상관성을 정교하게 반영하지 못한다는 점에서는 단점으로 작용하기도 합니다. 

 하지만, 머신 러닝 알고리즘은 이런 부분을 '비선형적인 방법'으로 극복할 수 있습니다. 비선형적인 방법이라함은 앞서 언급한 것과 같이 스코어를 산술적으로 곱하거나 합하는 수준의 선형적인 접근법이 아닌, 다항 회귀식, 기하학적 거리 계산, 로지스틱 함수 등과 같은  방법입니다.  

 예를 들자면 이런 방식입니다. PBR, 변동성, 모멘텀의 3가지 변수를 이용하여 수익률을 예측하는 머신 러닝 모델을 만들려고 합니다. 기존의 선형적인 방식이라면, 3가지 변수의 스코어 값을 합산한 뒤, 스코어 값에 따른 장기적인 수익률을 보고 판단을 하겠지만, 머신 러닝 접근법에서는 3가지 변수를 조합할 때 단순한 스코어의 합이 아닌, 방금 위에 설명드린 것 같은 좀 더 다양한 수학적 도구를 이용해서 예측 함수를 만들 수 있습니다. 

 두 번째 특징인 시장 상황에 맞게 변수나 전략이 동적으로 교정 가능하다는 점은 어떤 것일까요? 앞의 예로 다시 돌아가봅시다. 선형적인 스코어 합산 방법에서는 과거 테스트상에서 어떤 결과가 나오면, 그 결과 그대로 고정된 상태로 투자가 이루어져야 하기 때문에, 시장의 상황이 바뀌면 대처하기가 쉽지 않습니다.(물론, 테스트 구간을 최근 몇 년간 식으로 잡으면서 업데이트하는 방식이라면 대처가 가능하겠습니다.)

 하지만, 머신 러닝적인 접근법에서는 변수를 기초로 한 예측 함수를 만들게 되는데, 그 예측 함수에는 실제 결과와 얼마나 잘 일치하는지 확인하고 그 오차를 보정하고 최적화하는 과정이 포함되어 있기 때문에 시장 상황에 좀 더 잘 대응하는 모델을 만들 수 있습니다. 

 이 부분에 대해서도 예를 들어볼까요? 앞에서는 주식 팩터에 관련된 예를 들었는데요, 팩터 스코어링 합산 같은 개념은 기술적 투자 지표에서도 찾아볼 수 있습니다.

 기술적 지표 중 binary wave라는 지표가 있는데, 이는 이동평균선, 모멘텀, 스토캐스틱, MACD의 4가지 지표값의 신호를 합산하여 매수와 매도 타이밍을 정하는 지표입니다. 예를 들자면, 주가가 특정 이동 평균선 위에 있으면 1점, 아래에 있으면 -1점 이런 식으로 점수를 부여하고, 4가지 지표의 점수를 다 합친 값이 binary wave 값입니다. 전형적인 선형 결합 방식이라고 볼 수 있죠. 이 스코어 값이 높을수록 상승 추세가 강하고 낮을수록 하락 추세가 강함을 의미하고, 이 경계값에 따라 매수와 매도를 결정할 수 있는데, 이런 방식의 단점은 실제 데이터상에서 투자 수익이 잘 발생하는지 발생하지 않는지의 여부를 피드백할 수 없고, 로직을 rigid 하게 가져갈 수 밖에 없다는 점입니다. 

 비슷한 예로, 평균 모멘텀 스코어가 높을수록 투자 비중을 높이는 전략을 살펴 보면, 횡보장이 펼쳐지면 모멘텀 스코어가 높으면 오히려 수익이 아니라 손실이 발생하게 되는데 이런 문제는 해당 로직을 짜는 선에서는 절대로 해결이 불가능합니다. 일단 그 로직을 통해 발생하는 손익을 확인한 후, 해당 로직이 잘 먹히는지 안 먹히는지 피드백을 통해 확인하고 로직을 계속 수정, 보완하는 과정이 없으면 불가능하지요. 이런 개념은 시스템 스탑이나 수익곡선 모멘텀 같은 개념으로 설명드린 바 있습니다. 

 하지만 머신 러닝을 binary wave에 접목을 시키면, binary wave의 4가지 구성 요소의 지표값의 조합에 따른 매수 매도의 기준은 얼마든지 다변화 할 수 있습니다. 단순무식하게 binary wave > 0 이면 무조건 매수, 0보다 작으면 무조건 매도와 같은 고정된 접근법이 아니고, 접근 알고리즘에 따라 각각 변수가 취하는 값에 따라 고정되지 않은 다양한 결과를 보여줄 수 있습니다.  

 머신 러닝적인 접근법에서는 한 번 백테스트에서 나온 모델이나 추정 방법을 고정한 상태로 지속하는 것이 아니라, 예측치와 실측치간의 차이를 확인하고 계속 교정해나가는 과정이 내포되어 있다는 점이 차별성이자 장점이라고 볼 수 있습니다.


3. 머신 러닝을 이용한 투자 전략의 예시

 최근 1~2년 사이에 머신 러닝이 사회 전반에 급격하게 확산되고 있지만, 사실 이론 자체는 반세기 이상 전부터 발전되어 왔고, 머신 러닝 기법을 이용한 투자 전략도 검색해보면 십수년 전부터 많이 발표되고 있었습니다. 다만, 그것이 확산되기 위한 기술적 환경이 최근에 조성되기 시작했기에 최근에 본격적으로 대두가 되고 있는 것이지요. 

 다음 포스팅에서는 머신러닝이 어떤 방식으로 실제 투자 모델에 접목되고 있는지, 다양한 방법으로 발표되고 있는 전략들을 확인해보겠습니다. 

 


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


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


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

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

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

     강의 소개 (클릭)

     * 강의 바로가기 (클릭)



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



728x90
반응형
그리드형

댓글