캔들차트 CNN 분석 - 개요

캔들차트는 유가증권의 가격움직임을 차트로 표현 할때 굉장히 많이 사용하는 방법이다. 캔들차트에서는 기본적으로 각 단위시간 동안의 시가, 종가, 고가, 저가의 정보를 모두 가지고 있기 때문에 캔들차트를 분석하는 것으로만 투자를 진행하는 경우도 많다고 한다.

CNN(합성곱 신경망) 은 이미지 분석에서 뛰어난 성능을 보인다. “Using Deep Learning Neural Networks and Candlestick Chart Representation to Predict Stock Market” 에서는 캔들차트 이미지를 정제 한 후 CNN으로 학습시켜 주식시장을 예측한다고 한다. 논문 요약에서는 이 방법을 이용해 대만과 인도네시아 주식시장에서 각각 92.2% 와 92.1% 의 정확도를 달성했다고 한다. 너무 높은 수치이기 때문에 과적합일 확률이 상당히 높지만 논문의 abstract에서는 “The effectiveness of our method is evaluated in stock market prediction with a promising results 92.2 % and 92.1 % accuracy for Taiwan and Indonesian stock market dataset respectively.”(Rosdyana Mangir Irawan Kusuma, 2019) 라고 소개되어있다.

본 연구에서는 한국주식인 삼성전자 주가데이터를 가지고 캔들차트를 만들고 이것을 CNN 에 학습시켜 주가데이터를 예측해 본다. 연구는 내가 정의한 유가증권 가격 예측모델 시퀀스를 따라서 진행한다.

S0. 종목 선택

  • KOSPI200 의 시가총액 1위인 삼성전자 주식

S1. 데이터 찾기

  • FinanceDataReader를 통해 불러온 일일 주가데이터를 사용한다.

S2. 데이터 전처리

  • 결측치 제거, 일일 주가 트렌드 레이블링
  • 캔들차트 생성

S3. 학습

  • 학습모델이라면 모델을 학습시킨다.
  • 어떤 모델을 사용해야 좋은 결과를 얻으 수 있는지 알기 힘든 부분. 여러가지 아이디어와 트렌드로 다양하게 시도하는 수 밖에 없다.

S4. 백테스팅

  • 과거 데이터를 통해 백테스팅을 진행한다.
  • 수수료, 슬리피지, 편향 등을 잘 고려하여 실제 트레이딩과 차이점이 있다는 점을 보정시켜야 한다.

S5. 평가

  • 백테스팅 결과를 통해서 모델을 평가한다.
  • 평가조건에 부합할 시 전략실행으로 넘어간다.
  • 부합하지 않을 시 모델을 조정하거나 전처리 방법을 조정한다.

S6. 전략실행

  • 전략을 실행한다.
  • 실제 투자에 적용시킨다. 모델의 시그널에 따라 수동, 혹은 자동으로 매매를 실시한다.

S7. 사후평가

참고문헌:

‘퀀트전략을 위한 인공지능 트레이딩, 김태헌 신준호, 2020’ Rosdyana Mangir Irawan Kusuma & Trang-Thi Ho & Wei-Chun Kao & Yu-Yen Ou & Kai-Lung Hua, 2019. “Using Deep Learning Neural Networks and Candlestick Chart Representation to Predict Stock Market,”[https://arxiv.org/pdf/1903.12258.pdf]

Updated: