일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ggplot
- pandas
- SQL
- lstm
- 머신러닝
- 데이터처리
- 데이터분석
- R프로그래밍
- 빅데이터처리
- 주가예측
- 그래프
- CNN
- 그래프시각화
- 딥러닝
- 기계학습
- 빅데이터
- R시각화
- R그래프
- Python
- Deeplearning
- 자연어처리
- 데이터
- 하둡
- Hadoop
- r
- 데이터시각화
- AI
- HIVE
- NLP
- word2vec
- Today
- Total
욱이의 냉철한 공부
[논문 요약] RCN : Predict Stock Price with Financial News Based on Recurrent Convolutional Neural Network, 2017 본문
[논문 요약] RCN : Predict Stock Price with Financial News Based on Recurrent Convolutional Neural Network, 2017
냉철한 욱 2020. 4. 17. 20:48* 논문 Predict Stock Price with Financial News Based on Recurrent Convolutional Neural Network, 2017
1. 입력 데이터
- 입력 데이터 대상
대만증시(1개) : Taiwan Stock Exchange(TWSE)
기업(4개) : TSMC, Hon Hai Precision Industry(Foxconn Technology Group), China Steel Corporation(CSC), Graffe King Bio
=> 각각 독립적인 모델링 설계
- 입력 데이터 종류 : 일 단위
일 단위의 거래데이터(종가)와 텍스트데이터(뉴스제목) 사용
- 입력 데이터 기간
1. 종가데이터 : 2007-06-21 ~ 2017-02-13, 2,397일
2. 뉴스제목 : 2007-06-21 ~ 2017-02-13, 2,397일
- 입력 데이터 구체화
1. 종가 : 2,397개
2. 뉴스제목 : 2,397일 * 일당 5개 = 총 11,985
- 입력 데이터 벡터화
1. 종가 : (2,397, 1)
2. 뉴스제목 : (2,397 * 5, 14, 250) = (sample, word_length, word_dim)
=> word_dim 250차원은 사전 학습된 워드임베딩에서 lookup 된 값이다.
=> word_length 14는 단어 숫자를 의미, 이것보다 적다면 zero-padding 실시
- 입력 데이터 출저
1. 종가 : https://finance.yahoo.com/lookup, http://www.twse.com.tw
2. 뉴스제목 : http://www.epochtimes.com/b5/nsc420.htm (Epoch News Website)
2. 출력 데이터
- 출력 데이터 종류
1) 종가
2) 등락
- 0 : neutral
- 1 : rise
- 2 : fall
- 출력 데이터 기간 : Delay
1) 종가 : 5일 후
2) 등락 : 5일 후
- 학습(최적화) : 손실함수
종가예측하는 모델(RCN) : RMSE
등락예측하는 모델(RCN-C) : Categorical cross entropy
3. 모델링
1. 수집된 뉴스제목 텍스트를 Word2Vec으로 워드임베딩 한다.
=> 의미있고, dense한 vectors인 word representation을 얻을 수 있다.
이것이 (2,397 * 5, 14, 250)다.
2. 워드임베딩된 word representation을 Convolutional Neural Networks를 통해 high-level feature를
추출한다.
=> CNN을 쓰는 이유는 가볍고 속도빠르다. (파라미터 적음) 더불어 지역적 특징들 추출 가능하다.
3. Convolutional Neural Networks를 통해 추출되는 feature는 기존 3차원 텐서에서 1차원 배열로 변환된다.
이후 fully-connected layers로 투입된다.
4. CNN으로 추출된 1차원 배열 high-level-feature와 또 다른 데이터인 종가가 LSTM의 input으로 투입된다.
5. 역전파를 통해 학습을 하며 결국, 예측값(price)과 실제값(price)의 차이를 최소화하며 모델링의 정확도를 높인다.
4. Trading Simulation
- Trading 기간
training data의 1/10인 240일 동안의 수익으로 평가
- Trading 초기값
One million New Taiwanese Dollar(NTD)
- Trading 방법
KD(stochastic osillator), MA(Moving average model)기법 하에 RCN적용
5. 평가
=> 결국은 RCN이 좋다는 의미