퀀티랩 Long-Term Trading (QL) 모델 개선 작업
2021-09-19 • quant • 딥러닝, 중장기, 주식투자, 모델, Long-Term • 2 min read
퀀티랩 주식투자 대표 모델인 Quantylab Long-Term Trading (QL) 모델을 업데이트 했습니다. 기존 모델에 비해 다양한 시장지표 및 종목지표를 추가하고 레이블링을 조정하는 작업이었습니다.
Feature 수는 412개로 326개 시장지표 자질과 86개 종목지표 자질로 구성했습니다. 각종 지표에 Moving Average 등을 적용하여 자질 수는 부풀려진 면이 있습니다.
시장지표는 코스피/코스닥 지수, 해외 주식 시장 지수, 환율, 채권, 금리, 원자재, GSCI, 달러 지수, BDI, 필라델피아 반도체 지수, 미국시장 변동성 지수, MSCI 지수 등을 포함합니다. 종목지표는 종목 주가, 거래량, 시가총액, Bollinger Band, MACD, RSI, 수급, PER, PBR, ROE, 배당수익률, 기관/외국인/개인 수급, 공매도 비율, 대차잔고액 등을 포함합니다. 이들 시장지표 및 종목지표 자질들을 모아서 표준화 (Standardization) 했습니다.
레이블링은 수익성, 변동성, 거래규모 지표를 만들어 조합했습니다. 수익성 지표는 중장기 기간에서 종가의 변곡점을 찾아서 현재 종가와 다음 변곡점과의 차이를 기대 수익률로 삼았습니다. 변동성 지표는 변곡점 사이에서의 표준편차로 구했습니다. 거래규모 지표는 종목의 거래대금에 log를 취해 사용했습니다.
이렇게 자질과 레이블링을 마치고 적당히 심층신경망 레이어를 구성하여 학습했습니다. 중간에 이런저런 실수로 시행착오를 겪었지만 다 생략하고 결과를 바로 공유하려 합니다.
학습에는 2015~2019년 기간내의 데이터를 사용했습니다. 이렇게 학습한 모델로 2020년부터 현재까지 일단위로 종목 점수를 구하여 매수/매도를 판단해서 종가매매 백테스팅을 수행했습니다. 즉, 학습과 백테스팅 데이터가 겹쳐지지 않게하여 의미있는 백테스팅이 되도록 했습니다.
백테스팅 결과 2020년 부터 2021-09-17 까지의 평가 수익률은 +73.07%로 동기간 코스피 대비 30% 정도 높았습니다. QL 모델로 매수/매도를 판단한 내역은 다음과 같습니다.
날짜 | 매매 | 종목명 | 단가 | 수량 | 수익률 | 평가총액 |
---|---|---|---|---|---|---|
2021-08-19 | 매도 | 현대자동차 | 206,500 | 58 | +20.41% | 173,831,949 |
2021-05-06 | 매수 | LG전자 | 151,500 | 66 | 177,219,388 | |
2021-05-06 | 매수 | SK케미칼 | 256,000 | 39 | 177,220,888 | |
2021-05-06 | 매수 | LG화학 | 938,000 | 10 | 177,222,386 | |
2021-05-06 | 매도 | 포스코 | 395,500 | 51 | +103.87% | 177,223,793 |
2021-03-23 | 매도 | 현대모비스 | 286,500 | 49 | +40.79% | 172,520,635 |
2021-03-23 | 매수 | 셀트리온 | 292,500 | 34 | 172,517,645 | |
2021-03-23 | 매수 | 삼성전기 | 185,000 | 54 | 172,519,136 | |
2021-01-13 | 매도 | 삼성SDI | 754,000 | 26 | +100.80% | 178,728,737 |
2021-01-08 | 매도 | 삼성전기 | 193,000 | 112 | +116.37% | 179,837,188 |
2020-11-16 | 매도 | NAVER | 278,000 | 55 | +53.17% | 148,783,070 |
2020-09-24 | 매수 | SK텔레콤 | 230,500 | 43 | 136,101,988 | |
2020-09-24 | 매수 | 현대자동차 | 171,500 | 58 | 136,103,475 | |
2020-09-24 | 매수 | 케이티앤지 | 80,400 | 124 | 136,104,967 | |
2020-09-24 | 매도 | 셀트리온 | 245,502 | 61 | +51.06% | 136,106,463 |
2020-08-03 | 매도 | LG화학 | 635,000 | 31 | +102.23% | 137,605,846 |
2020-07-24 | 매수 | 현대모비스 | 203,500 | 49 | 131,218,600 | |
2020-07-24 | 매수 | 포스코 | 194,000 | 51 | 131,215,651 | |
2020-07-24 | 매수 | 삼성SDI | 375,500 | 26 | 131,217,135 | |
2020-07-24 | 매도 | 엔씨소프트 | 802,000 | 17 | +41.95% | 131,220,096 |
2020-06-29 | 매도 | SK케미칼 | 134,500 | 163 | +120.49% | 128,438,310 |
2020-03-23 | 매수 | 삼성전기 | 89,200 | 112 | 81,295,074 | |
2020-03-23 | 매도 | 케이티앤지 | 63,600 | 108 | -31.24% | 81,296,573 |
2020-03-17 | 매수 | SK케미칼 | 61,000 | 163 | 85,736,761 | |
2020-03-17 | 매도 | 현대자동차 | 80,100 | 84 | -32.12% | 85,738,252 |
2020-03-16 | 매도 | 삼성SDI | 253,000 | 43 | +10.48% | 86,948,811 |
2020-03-16 | 매도 | 포스코 | 162,000 | 42 | -31.36% | 86,977,640 |
2020-03-16 | 매수 | 삼성전자 | 48,900 | 204 | 86,945,828 | |
2020-03-16 | 매수 | 셀트리온 | 162,522 | 61 | 86,947,324 | |
2020-03-13 | 매도 | 현대모비스 | 171,500 | 40 | -30.71% | 91,169,271 |
2020-01-03 | 매수 | 이마트 | 122,500 | 81 | 99,845,350 | |
2020-01-03 | 매수 | NAVER | 181,500 | 55 | 99,846,838 | |
2020-01-03 | 매수 | 케이티앤지 | 92,500 | 108 | 99,848,336 | |
2020-01-03 | 매수 | 삼성SDI | 229,000 | 43 | 99,849,834 | |
2020-01-03 | 매수 | 엔씨소프트 | 565,000 | 17 | 99,851,311 | |
2020-01-02 | 매수 | LG화학 | 314,000 | 31 | 99,994,081 | |
2020-01-02 | 매수 | 현대모비스 | 247,500 | 40 | 99,995,541 | |
2020-01-02 | 매수 | 현대자동차 | 118,000 | 84 | 99,997,026 | |
2020-01-02 | 매수 | LG생활건강 | 1,266,000 | 7 | 99,992,752 | |
2020-01-02 | 매수 | 포스코 | 236,000 | 42 | 99,998,513 |
퀀티랩에서 매일 올라오는 QL 모델의 매매내역과 보유종목을 확인해 보세요.