본 게시글은 'Using Deep Learning Neural Networks and Candlestick Chart Representation to Predict Stock Market'의 논문을 한글로 번역한 것입니다. 틀린 부분이 있으면 언제든지 말씀해주세요.
https://arxiv.org/pdf/1903.12258.pdf
- 요약
주식 시장 예측은 기업 뉴스와 성과, 산업 성과, 투자자 심리, 소셜 미디어 감성 및 경제적 요인과 같은 많은 요소들이 주식 시장 가격에 영향을 미치기 때문에 여전히 도전적인 문제입니다. 본 연구는 딥 컨볼루션 네트워크와 캔들스틱 차트를 활용하여 주식 시장에서의 예측 가능성을 탐색합니다. 그 결과는 트레이더가 미래 주식 가격 방향에 대한 제안된 지표를 제공하는 데 사용될 수 있는 의사 결정 지원 프레임워크를 설계하는 데 활용됩니다. 본 연구에서는 컨볼루션 신경망, 잔여 네트워크 및 시각 기하 그룹 네트워크와 같은 다양한 유형의 신경망을 사용하여 이 작업을 수행합니다. 주식 시장의 역사적 데이터로부터 캔들스틱 차트로 변환한 후, 이러한 캔들스틱 차트는 컨볼루션 신경망 모델을 훈련시키기 위한 입력으로 사용됩니다. 이 컨볼루션 신경망 모델은 캔들스틱 차트 내부의 패턴을 분석하고 주식 시장의 미래 움직임을 예측하는 데 도움을 줄 것입니다. 우리의 방법의 효과는 대만 주식 시장 데이터셋과 인도네시아 주식 시장 데이터셋에 대해 각각 92.2%와 92.1%의 정확도로 평가되었습니다. 구축된 모델은 캔들스틱 차트와 딥러닝 신경망을 사용한 주식 시장 예측을 위해 무료로 이용할 수 있는 웹 기반 시스템으로 구현되었습니다. http://140.138.155.216/deepcandle/ 에서 사용 가능합니다.
1. 소개
주식 시장은 현대인의 삶에서 분리할 수 없는 요소입니다. 전 세계 사람들은 수입을 저축하여 주식 시장에 투자하여 더 많은 이익을 창출하기 위해 행운을 시도합니다. 트레이더들은 미래에 가치가 상승할 것으로 예상되는 주식을 더욱 구매하는 경향이 있습니다. 반면, 미래에 가치가 하락할 것으로 예상되는 주식은 구매를 삼가는 경향이 있습니다. 따라서 자본 이익을 극대화하고 손실을 최소화하기 위해 주식 시장 가격의 추세를 정확하게 예측하는 것은 긴요한 요구사항입니다. 게다가 주식 시장 예측은 기업 뉴스와 성과, 산업 성과, 투자자 심리, 소셜 미디어 감성 및 경제적 요인과 같은 많은 요소들이 주식 시장 가격에 영향을 미치기 때문에 여전히 도전적인 문제입니다. Fama의 효율적 시장 가설에 따르면 투자자가 저평가된 주식을 사거나 과대 가격으로 주식을 판매하여 이점을 얻는 것은 불가능하다고 주장합니다. 따라서 투자자가 더 높은 수익을 얻기 위해서는 우연이나 더 위험한 투자를 구입하는 한 가지 방법만 가지고 있습니다. 현재의 기술적 발전으로 인해 기계 학습은 오늘날 인간의 생활의 다양한 측면에서 첨단 기술로 떠오르고 있으며, 딥 신경망은 다양한 연구 분야에서 잠재력을 보여주고 있습니다. 이 연구에서는 컨볼루션 신경망, 잔여 네트워크, 가상 기하 그룹 네트워크, k-최근접 이웃 및 랜덤 포레스트를 사용하여 주식 시장 예측의 성능을 향상시키기 위해 다양한 유형의 기계 학습 알고리즘을 적용합니다.
기계 학습에서의 데이터셋 형식은 다양할 수 있습니다. 텍스트 시퀀스, 이미지, 오디오, 비디오 등 많은 종류의 데이터셋 형식이 기계 학습에 적용될 수 있습니다. 예를 들어, 이미지는 입력으로서의 이미지 분류뿐만 아니라 상태를 예측하는 데에도 사용됩니다. 구글 딥마인드의 Alpha Go 연구를 예로 들면, 이미지를 입력으로 사용하는데, 해당 이미지는 고 게임 보드를 나타내며, 이 이미지 데이터셋은 고 게임 상대방의 다음 단계를 예측하기 위해 사용됩니다. 또 다른 예로는 주식 시장의 역사적 데이터를 딥 컨볼루션 웨이브넷 구조를 사용하여 오디오 파형으로 변환하여 주식 시장 움직임을 예측하는 것이 있습니다.
본 연구에서 제안된 방법은 대만과 인도네시아 주식 시장의 캔들스틱 차트를 사용하여 가격 움직임을 예측하는 것입니다. 우리는 세 가지 거래 기간을 활용하여 해당 기간과 주식 시장의 움직임 사이의 상관 관계를 분석했습니다. 우리가 제안한 캔들스틱 차트는 일일 거래량 주식 데이터를 포함하거나 포함하지 않은 시계열의 순서를 나타낼 것입니다. 이 연구에서는 캔들스틱 차트의 두 가지 이미지 크기(예: 50 및 20 차원)를 사용하여 다양한 이미지 크기에서 숨겨진 패턴의 상관 관계를 분석했습니다. 그런 다음 우리의 데이터셋은 전통적인 기계 학습인 랜덤 포레스트와 k-최근접 이웃뿐만 아니라 현대적인 기계 학습인 CNN, 잔여 네트워크, VGG 네트워크의 여러 학습 알고리즘에 대한 입력으로 사용됩니다. 목표는 주기 시간, 이미지 크기, 특징 집합과 주식 시장의 움직임과의 상관 관계를 분석하여 다음 날 주식 시장이 상승할지 하락할지를 확인하는 것입니다.
2. 최근 연구
많은 연구자들이 주식 시장 예측을 위한 컴퓨팅 도구를 개발하기 시작했습니다. 1990년에는 Schneburg이 독일 주식 시장에서 임의로 선택한 데이터를 사용하여 역전파 방법을 기반으로 기계 학습 아키텍처를 연구했습니다 [13]. 우리의 지식으로는 주식 시장 데이터는 개장 가격 데이터, 종가 데이터, 고가 데이터, 저가 데이터 및 일일 거래 활동의 거래량 데이터로 구성됩니다. 또한, 주식 시장의 역사적인 시계열 데이터를 사용하기 위해 주식 시장 예측 분야의 일부 연구자들은 감성 분석 방법을 통해 주식 시장의 움직임을 예측하고 분석하기 시작했습니다. J. Bollen은 유명한 마이크로블로깅 사이트인 Twitter에서 데이터를 가져와 다우 존스 산업 평균(DJIA) 주식 시장의 움직임을 예측하는 감성 분석 방법을 보고했습니다[1]. 주식 시장 예측에 대한 더 많은 연구들이 있으며, 이들은 역사적인 시계열 데이터의 요소만 사용하는 것뿐만 아니라 데이터를 다른 다양한 형태로 가공하는 방법도 사용합니다. (Borovykh, Bohte et al.)는 S & P500 및 CBOE의 데이터를 사용하여 분석 및 예측을 수행하기 위해 깊은 컨볼루션 웨이브넷 아키텍처 방법을 사용하려고 시도했습니다[2].
또한, 일부 연구에서는 캔들스틱 차트를 사용한 연구도 발견되었습니다. (do Prado, Ferneda et al. 2013)은 브라질 주식 시장에 포함된 패턴을 학습하기 위해 캔들스틱 차트를 사용하였으며, 이를 위해 16가지 캔들스틱 패턴을 사용했습니다[3]. (Tsai and Quan 2014)는 캔들스틱 차트를 7가지 다른 웨이블릿 기반 텍스처와 결합하여 캔들스틱 차트를 분석했습니다[15]. 반면 (Hu, Hu et al. 2017)은 캔들스틱 차트를 사용하여 주식 시장 투자의 의사 결정 시스템을 구축했습니다. 그들은 컨볼루션 인코더를 사용하여 캔들스틱 차트 내에 포함된 패턴을 학습했습니다[5], (Patel, Shah et al. 2015)는 주식 거래 데이터로부터 10가지 기술적 지표를 사용하여 입력 데이터를 구성하고 인공 신경망(ANN), 서포트 벡터 머신(SVM), 랜덤 포레스트 및 나이브 베이즈와 같은 네 가지 예측 모델을 비교했습니다[11]. 랜덤 포레스트와 같은 전통적인 기계 학습 방법은 주식 시장 예측에 성공적으로 적용되었습니다. (Khaidem, Saha et al. 2016)은 상대 강도 지수 (RSI)와 같은 기술적 지표와 랜덤 포레스트를 결합하여 좋은 성능을 보였습니다[7]. 더 많은 특징 집합을 추가하는 것은 데이터셋을 보강하고 분류 결과를 향상시키는 한 가지 방법일 수 있습니다. (Zhang, Zhang et al. 2018)에 따르면, 입력 데이터는 역사적인 주식 거래 데이터뿐만 아니라 금융 뉴스 및 소셜 미디어의 사용자 감성과 관련시켜 주식 시장의 움직임을 예측할 수 있습니다[16].
기존의 대부분의 연구들은 주식 거래 데이터, 뉴스 이벤트 또는 감성만을 고려하는 반면, 우리의 제안된 방법은 캔들스틱 차트 이미지의 표현을 활용하여 주식 시장의 움직임을 분석하고 예측하는 것을 목표로 하며, 이는 현대적인 신경망과 전통적인 신경망을 비교하기 위한 새로운 접근입니다.
3. 데이터
3-1. 데이터셋 모으기
정확한 데이터를 올바른 형식으로 확보하는 것은 기계 학습에서 매우 중요합니다. 이는 학습 시스템이 올바른 방향으로 진행되고 좋은 결과를 얻을 수 있도록 도와줍니다. 우리는 대만과 인도네시아라는 두 개의 다른 주식 시장에서 모델을 학습하고 평가했습니다. 우리는 기술적 분석에서 성장한 대표적인 주식 시장으로 대만 주식 시장의 50개 회사와 인도네시아 주식 시장의 10개 회사를 수집했습니다.
이 데이터 수집에서는 Yahoo! Finance의 응용 프로그램 인터페이스(API) 서비스를 사용하여 각 주식 시장의 역사적인 시계열 데이터를 얻었습니다. 표 1에서 설정한 기간으로부터 우리는 월요일부터 금요일까지의 거래일 기간을 얻을 수 있었습니다.
데이터 훈련과 데이터 테스트를 미리 정해진 시간에 따라 분리하는 것은 중요합니다. 몇몇 연구에서는 데이터를 뒤섞는 실수를 하지만, 이는 시계열 데이터이기 때문에 치명적일 수 있습니다.
3.2 데이터 전처리
역사적인 시계열 데이터를 가져와서 Matplotlib 라이브러리를 사용하여 캔들스틱 차트로 변환했습니다[6]. 주식 시장의 움직임과 다른 기간 간의 상관관계를 분석하기 위해 5개 거래일 데이터, 10개 거래일 데이터 및 20개 거래일 데이터와 같은 세 가지 기간으로 나누어 캔들스틱 차트를 생성하는 데 사용된 데이터를 분할했습니다. 기간 외에도 볼륨 지표가 있는 캔들스틱 차트와 볼륨 지표가 없는 캔들스틱 차트로도 나누었습니다. 볼륨 지표를 캔들스틱 차트에 추가하는 것은 캔들스틱 차트 정보와 예측 결과 간의 상관관계를 찾기 위한 접근 방식 중 하나입니다.
4.방법론
우리가 제안한 방법의 아키텍처는 그림 1에 나타나 있습니다. 첫째로, Yahoo! Finance API를 사용하여 주식 시장의 역사적인 데이터를 수집했습니다. 그 후에는 슬라이딩 윈도우 기법을 적용하여 기간 데이터를 생성하고 컴퓨터 그래픽 기술을 사용하여 캔들스틱 차트 이미지를 생성했습니다. 마지막으로, 우리의 캔들스틱 차트는 몇 가지 딥 러닝 신경망 모델의 입력으로 사용되어 주식 시장 예측을 위한 가장 좋은 모델을 찾고, 출력은 주식 가격이 가까운 미래에 상승할지 하락할지를 나타내는 이진 클래스로 나타납니다.
4.1 캔들스틱 차트
캔들스틱 차트는 특정 기간 동안의 가격 움직임을 설명하는 데 사용되는 금융 차트의 한 종류입니다. 캔들스틱 차트는 일별 거래 데이터를 일반적으로 표시하므로 한 달 차트는 20개의 캔들스틱 차트로 표시될 수 있습니다. 캔들스틱 차트는 라인 차트와 바 차트의 조합과 같은 형태입니다. 각 막대는 거래일에 대한 4가지 중요한 정보인 시가, 종가, 저가, 고가를 나타냅니다. 캔들스틱은 일반적으로 상단 그림자, 하단 그림자 및 본체 세 가지 구성 요소로 구성됩니다. 만약 시가가 종가보다 높다면 본체는 빨간색으로 채워집니다. 그렇지 않으면 본체는 초록색으로 채워집니다. 상단과 하단 그림자는 지정된 시간 범위 내의 고가와 저가 범위를 나타냅니다. 그러나 모든 캔들스틱에 그림자가 있는 것은 아닙니다. 캔들스틱 차트는 주식 거래에서 결정을 내리는 데 도움을 주는 시각적 도구입니다. 캔들스틱 차트를 기반으로 하면 트레이더는 고가와 저가, 시가와 종가 사이의 관계를 더 쉽게 이해할 수 있습니다. 따라서 트레이더는 특정 시간대의 주식 시장 동향을 식별할 수 있습니다. 캔들스틱의 종류는 종가가 시가보다 큰 경우 상승 캔들스틱이라고 하며, 그렇지 않은 경우 하락 캔들스틱이라고 합니다. Figure 2와 Figure 3는 우리의 캔들스틱 차트 표현을 볼륨과 볼륨 없이 각각 다른 기간과 크기로 보여줍니다.
'Data > ML&DL' 카테고리의 다른 글
Text Mining(임베딩) (0) | 2023.06.06 |
---|---|
Attention(Seq2Seq와 Attention) (0) | 2023.04.23 |
RNN(Recurrent Neural Network) (0) | 2023.04.23 |
FFNN(Feed Forward Neural Net) (0) | 2023.04.22 |
음성인식개론(문제정의, 저장방법, Tokenization) (0) | 2023.04.22 |