프로젝트

프로젝트23. 또 하나의 희망, 비슷한 차트들을 활용한 주가예측 검증 Start

dodo4723 2024. 3. 10. 21:17
728x90
반응형

제 프로젝트는 사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트들을 골라 사용자에게 보여줍니다.

 

비슷한 차트 검색기

 

 

비슷한 차트 검색기

전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요?

www.similarchart.com




 

 

나의 또 다른 하나의 희망

저는 2024년 2월에 글 맨 위에서 언급했듯이 웹사이트를 만들었습니다. 사용자가 특정 차트를 고르면, 전 종목의 과거(10년) 차트들을 모두 탐색하여 가장 유사한 차트들을 골라 사용자에게 보여줍니다. 사실 제 프로젝트는 웹 프로젝트이기도 하지만, 본체는 이 웹 안쪽에 있는 비슷한 차트를 추출하는 알고리즘입니다.

 

애초에 제가 시작한 프로젝트는 '주가 예측 프로젝트'입니다. 그래서 처음에는 딥러닝으로 이리저리 주가를 예측하려고 시도했었죠. 딥러닝(CNN, LSTM), 머신러닝(여러 Forest 기법, SVM)등을 사용하여 주가 예측을 시도했지만 하지만 뭔가 부족한 느낌이 들었습니다. 그래서 중간에 프로젝트 주제를 딥러닝 주가예측에서 비슷한 차트 탐색으로 변경했습니다. 자세한 내용은 전에 작성했던 포스팅을 참고해주세요.

 

보통 주식을 분석하는 경우 차트를 중요하게 보기도 합니다. '기술적 분석'이라고 하죠. 보통은 차트만으로 주가를 예측하여 의미 있는 검증결과를 얻는 것은 매우 어렵다고 생각합니다. 보통의 경우는 그렇지만, 수백 수천만 개의 차트 중 향후 주가가 오르는 경우가 많은 패턴이 있을지도 모른다고 생각했습니다.

 

프로젝트 주제를 과거 차트들을 모두 탐색하여 가장 비슷한 차트들을 골라 사용자에게 보여주는 것으로 변경한 이상, '주가예측'은 뒷전으로 생각했습니다. 조금 조사해 보니 가장 비슷한 차트만 보길 원하는 사용자들이 존재하더군요. 그들의 요구만 맞추면 만족하자는 마인드로 진행했습니다. 비슷한 차트로 주가 예측을 진행해 봤자 의미 없는 결과가 나올 것이라는 생각이 지배적이었죠.

 

수백만 개의 차트 중 가장 비슷한 차트들을 탐색하는 알고리즘을 개발하여 결과를 보니 정말 그럴싸하게 비슷한 차트들이 나오더군요. 웹사이트를 어느 정도 완성한 지금, 여유가 생긴 저는 혹시나 모르니 검증을 진행하기로 했습니다.

 

혹시 모르죠, 딥러닝을 사용한 경우보다 더 의미 있는 결과가 나올지도요. 가장 비슷한 패턴을 보인 차트들이 모두 향후 주가가 상승했으면 실제 상승할 가능성이 높게 나오길 은근히 바라고 있었죠.

 


 

 

 

 

검증 시간이 2달!?

 

그렇게 2월 말부터 검증에 들어갔습니다. 전 종목의 2023년 모든 거래일 차트를 검증 대상으로 정했습니다.

 

하지만 시간이 매우 많이 소요됩니다. 당장 한 특정 종목과 가장 비슷한 과거 차트들을 모두 찾는 것만 해도 연산량이 꽤 많습니다. 예를 들어 '삼성전자'의 차트와 비슷한 과거 차트를 찾아달라고 요청하면

 

(전 종목 수) X (각 종목당 10년 치 데이터) X (64, 32, 16, 8 거래일 치) X (시가 고가 저가 종가 4 항목을 고려한 비교) =
2600 X 2460 X (64 + 32 + 16 + 8) X 4 = 3,070,080,000(약 30억)

 

 

다른 로직을 다 제외하고 기본적인 연산의 양만 고려한 경우에도 30억 번 이상의 연산이 필요합니다. 파이썬은 기본적으로 1초에 2천만 번의 연산을 수행한다고 알려져 있는데, 30억 번이면 150초입니다.

 

물론 여러 알고리즘을 사용하여 시간을 많이 줄일 수 있었지만, 그래도 하루에 전 종목의 종목별 비슷한 차트들 4 세트(64, 32, 16, 8 거래일치)를 모두 찾으려면 3시간 정도가 걸립니다. 그래서 실제로 장이 종료되면 웹사이트에 최신 데이터가 3~4시간 후에 업데이트됩니다.

 

하루에 2~3시간 걸리는 작업을 1년 치(약 240 거래일)를 해야 하니 거의 한 달에 가까운 검증 시간이 걸립니다. 게다가 한국 주식만 이렇게 걸리고 미국 주식까지 검증하려면 2배인 2달이 걸릴 것 같네요.

 

내 컴퓨터 고생길이 훤하네


 

웬만한 시험 결과보다 떨리는 순간

자꾸 기대를 하게 됩니다. 만약 특정 종목과 비슷한 차트들이 대부분 일정 기준 이상 상승했을 때 실제로 상승하는 비율이 60% 이상이고, 하락도 마찬가지로 60% 이상으로 적중하면 정말 의미 있는 결과를 얻은 것일 텐데요. 아니, 60%까지도 아니여도 됩니다. 55%만 해도 의미있는 결과라고 생각합니다.

 

과연 어떻게 될까요? 검증이 끝나면 다시 포스팅해 보겠습니다.

반응형