본문 바로가기

주식 데이터 모델링

SAEs와 LSTM으로 주식 예측하기 - [A deep learning framework for financial time series using stacked autoencoders and long-short term memory] - 논문요약

 이번에는 논문의 내용만 간단히 요약해보겠습니다. 

 A deep learning framework for financial time series using stacked autoencoders and long-short term memory

라는 논문 입니다. 

 이번 논문은 수집 하기 쉬운 일자별 데이터를 사용합니다. 그리고 저자들이 사용한 데이터를 공개하기도 했구요. Wavelet Transform으로 데이터의 노이즈를 제거하고, stacked autoencoder로 feature를 생성하고, lstm으로 다음날의 종가를 예측했다고 합니다. 2017년에 나온 논문이고, 논문 인용수는 현재 기준으로 152회나 되었습니다. 

 

0. Introduction

 주식 예측은 noise가 굉장히 많아 어렵다고 하고, ANN, SVR 등의 모델이 과거에 꽤나 성공적으로 작동했다고 합니다. 최근 머신러닝과 패턴 인식등의 발달로, nonlinear topology를 고려하는 모델들이 시계열 예측에 이용된다고 합니다. 물론 쉽지는 않습니다.

 

 딥러닝 접근 방법으로는 3가지 메인 주제가 있습니다. 1) CNN 2) DBN 3) Stacked Autoencoders 입니다. 이 중 앞의 두가지 방법은 논문으로 소개가 되어있습니다. 하지만 3번의 방법으로 접근한 논문은 얼마 없다고 하며, 이 논문은 Stacked Autoencoder를 활용하여 주식을 예측하고자 한다고 합니다.

 

 논문에서 제시한 논문은 3가지 부분으로 구성됩니다. Wavelet transforms(WT), stacked autoencoders(SAEs), long-short term memory(LSTM) 입니다. 

 

 SAEs가 모델의 main part 입니다. 비지도 학습 방법으로 financial time series의 deep features를 학습합니다. 구체적으로 SAEs는, single layer를 가진 여러개의 autoencoders로 구성됩니다. 각 layer의 output은 다음 AE의 input으로 들어가고, input과 output data의 차이를 최소화시키며 학습합니다.

 

 LSTM은 기본 RNN 보다 time series 데이터를 잘 학습하기 때문에 사용하였습니다.

 

 WT는 financial time series의 noise feature를 고정하기 위해 사용되었습니다. WT는 1차원 시그널을 filtering 하거나 mining 할때 자주 사용됩니다. 

 

 위 세가지 방식의 이름을 합쳐서, 모델의 이름은 WSAEs-LSTM 입니다.

 

 

 논문은 모델의 성능을 테스트 하기 위해서, CSI300, S&P 500 지수 등 6개의 지수를 선택했습니다. 여러 지수를 선택한 이유는 모델의 강건한 결과를 보여주기 위해서 입니다. EMH(효율적 시장 이론)에 따르면 시장의 효율성은 그 자산의 예측가능성에 영향을 미칩니다. 다시 말하자면, 한 시장을 예측 하는데 성공한다 하더라도, 그 모델이 다른 시장에서도 성공할거라고 말하기 힘들다는 겁니다. 

 

 6개의 지수도 위의 이유들을 반영하여 선정되었습니다. 중국, 인도 시장은 developing markets(신흥 시장) 이고, 둘다 빠르게 성장하고 있으며 규제는 아직 미성숙한 단계 입니다. 반면에 뉴욕 주식 시장은 developed market(선진 시장) 이고, 세계에서 가장 효율적인 시장입니다. 홍콩과 일본 시장은 그 사이에 있다고 할 수 있습니다.

 

 

 모델의 input도 3가지 타입이 있습니다. 첫번째는 historical stock trading data인 Open, High, Low, Close Price(OHLC) 입니다. 두번째는 기술적 지표들(technical indicators) 입니다. 세번째는 macroeconomic variables(거시경제 변수?) 입니다. 거시경제는 주식 시장에 막대한 영향을 줄 수 있고, 논문에서 제시한 딥러닝 모델로 거시경제 변수에서 중요한 요소들을 추출해낼 수 있다고 생각하기 때문입니다.

 

 모델의 성능은 예측의 정확도와 수익성 측면에서 평가했습니다. 

 

 예측의 정확도는 1)Mean Mean absolute percentage error (MAPE), 2) correlation coefficient (R), 3) Theil's inequality coefficient (Theil U)로 측정했습니다. 

 수익성 측면에서는 buy and sell 거래 전략을 만들었다고 합니다. 모델의 예측 값을 통해 거래를 진행한다고 합니다.

 

 ...

 

 저자들의 main contribution은 각 data에서 SAEs를 이용해서 feature를 뽑아내고, LSTM을 통해서 주가를 예측 했다는 점 입니다. 

 

마지막으로 전체 모델을 보여주는 그림 입니다.

WSAEs-LSTM