Help us understand the problem. What is going on with this article?

深層学習による株価予測入門;全体像と研究の今後(研究フローやTipsなど)

image.png

株価の予測を深層学習を用いて行う際に必要なtipsをまとめてみました。このサイトには、現在のトレンドや、データの種類、モデルの種類を掲載しています。まず、この論文やこのサイトを読むと、概要がわかって入りやすくなると思います。これらは、以下の論文を参考にしています。図に引用がない場合、この論文が引用先である。

よく使われるデータが何であるか、実際にサイトなどを表示している。(3章)
用いられている深層学習の種類に関しては、2章に主に記載されている。

最後に注目している論文を紹介する。注意機構をやりたいのがばれてる。

LGTMもらったことないので、くれるとがんばれます笑

Applications of deep learning in stock marketprediction: recent progress

  1. 概要
  2. 研究フロー
  3. 実装と再現性
  4. 将来の研究
  5. まとめ
  6. 気になる論文リスト

1. 概要

この論文でまとめた論文数は、124個であり、その内115個/124個が2017-2019からの物であり、arXiv.orgに載っている

本論文は、個別株とマーケットインデックスの予測に重点を置いている。手法にはETF(exchange-traded fund)や対象のマーケットインデックスを追跡する方法も含んでいる。債権価格(bond price)や暗号資産の価格(cryptocurrency price)は含まれていない。本論文では
regression(回帰) ・・・ 目的が価格予測の場合
classification(分類) ・・・目的が株価の増減を予想するか
と定義する。また、105/124は1日単位の予測で、18/124は5分や数時間単位の予測(intraday)をした論文となっている。2つを検討しているのは、たった1つだけである。その124個のうち、以下の配分になっている。

方法\期間 daily intraday
回帰 54 11
分類 52 8

時系列では、以下の通りである。

image.png

これは、アカデミックな領域がintradayの情報(株価やニュース)を獲得する事が難しいことを如実に表した結果である。Section5でもう一度再考する。また、研究するマーケットも研究者ごとで異なっていて、研究対象とするマーケットがほとんどの人は1つである。しかし、中には複数個考える人もいて、研究の中で成熟した市場(e.g. アメリカ)と新興国市場(e.g. 中国)を比べる事が注目を集めている。

個数別で見ると、以下の通りである。

image.png

2. 予測のフロー

まず株価の変動や価格の予測を深層学習を用いて行う場合、4つのステップが取られる。

step Flow
1 生データ
2 データ処理
3 予測モデル
4 モデル評価

それぞれについて説明する。

2.1 生データ

過去のデータが有益な情報である前提をおいた内因性のデータ(株価)と市場に影響を与える外因性のデータがある。EMH(Efficient-Market Hypothesis)である場合、市場は全ての外因性の影響を含んでいると仮定している。多くの研究者はこれを否定しており、様々な外因性のデータを用いて、価格予測しようと試みている。例えば、Weng et al. 2017は、市場データ、テクニカルデータ、Wikipedia、google news、一般的なデータを用いている。

data
内因性 株価
外因性 ニュース、ファンダメンタル、、、、

2.1.1. データタイプ

株価の予測に用いられるデータは以下の7つに分けられる。

データタイプ データ 説明
1 市場データ open/high/low/close price, trading volume 入力は前の株価で、予測目的を次の日の終値にする事が多い
2 テキスト SNS、ニュース、ウェブなど テキストは入手が難しく、データの整形も難しい。反面市場データには無い要素を含んでいる。心理的な予測(SentimentAnalysis)でも用いられ、株価の予測にも(positive/neural/negative)の要素として用いられる。
3 マクロ経済データ 消費者物価指数(CPI)、国内総生産(GDP)など 市場全体の信頼性や健康度などを図る指数である事が多い。
4 ナレッジグラフ FreeBase、WikiData 検索エンジン拡張のためのデータベースであり、異なる企業や市場の関連性を導ける。左にある大規模なKBでは、予測可能なほど良い物である。
5 画像 ローソク型チャート、衛生画像、監視カメラ CNNやObject Detectionなどを用いて、株価を予測する事が多い。監視カメラや衛生画像は株価予測に有益ではあるが、著作権などの問題でレポートとして用いられる事は、決してない
6 ファンダメンタル 財務データ 発表頻度の点から、深層学習による株価予測では用いられる事は少ない。
7 アナリストデータ 外資銀行やリサーチ会社のレポート 有益だが、高く広く普及している場合が多い。

これらのデータタイプの使用量は以下にある通りである。

image.png

 2.1.2 データの期間

評価には、過去の株価を用いる必要があり、その用いる期間が大きな論点となる。評価と期間の長さはトレードオフ関係があり、短い期間だと過学習のリスクが、長い期間だと市場のリスクと陳腐化が問題となる。使えるデータ量とコストも大きな課題である。やはり、intradayのデータは高く、intradayを用いている研究は、大体期間は1年以下である。

image.png

lag・・・入力を使えるまでの期間
horizon・・・モデルによって予測する期間。大体1日から数分程度。長くて5日から10日程度。

2.2 データ整形

2.2.1 データの欠落

株価の研究におけるデータの欠落は他の分野ほど大きな問題とならない事が多い。それは、市場データは、よくメンテナンスされており、信頼性のある物であるから。サンプルの時間幅が異なるデータ(e.g. 株価とファンダメンタル)には注意。

2.2,2 ノイズの除去

株価は、非合理なノイズに満ちていている。このノイズは、予測の失敗やトレンドを誤認識する原因である。故にノイズを取り除く方法があり、いくつか方法がある。

手法 説明 引用
ウェーブレット変換 時系列の株価のノイズを削除できる Bao et al.,2017;Liang et al.,2019
k-近傍法 異なるラベルを持つ異なるデータが必要。使い方はわからない。 Sun et al.(2017)

2.2.3 特徴量抽出

特徴量エンジニアリングは、生データからその領域の知識を用いて、特徴を抽出する作業であり、予測精度を大きく改善する効果がある。市場データにおいては、
テクニカル分析がそれに一致する。テクニカル分析指標は、過去の株価や株の取引量(e.g. MACD)から特徴量を抽出している。画像も取り入れていて、分析指標15個と日数15日で作った画像を入力とする場合がある。
 これらのテクニカル分析指標は、信頼が強く、長年使われてきた。しかし、近年深層学習の発展では、テキストからの特徴量分析が進んでいる。これは、市場は外因性の刺激の影響を受けやすく、それをニュースを用いて抽出できるからである。

手法 説明 引用先
neural tensor network ニュースを表すイベント埋め込みを学習するため Ding et al. 2015
news embedding ニュースをベクトルにエンコードするため Hu et al., 2019b
CNN イベントが持つ目立った特徴を抽出するため Wang et al., 2019b

同様に、sentiment analysisも進んでいる。

手法 説明 引用先
CNN Jin et al., 2019
Natural Language Toolkit(NLTK) Mohan et al., 2019
Stock2vec 株価のニュースとハーバード辞典4を学習した。市場予測とは直接関係がない Lien Minh et al., 2018

以下に研究者が何を対象に株価予測しているかを円グラフで示した。

image.png

株価とテクニカル指標を用いているものが最も一般的であり、ついでテキスト、マクロ経済指標が入る。他の市場データよりも入手・整形の点から簡単だからである。

2.2.4 次元削減

例えば、基本的にテクニカル分析指標は、市場価格のデータが含まれており、データが重複する可能性がある。これに限らず、類似性があるデータがある場合、過学習を起こす可能性がある。これを緩和するために、次元削減をする。
 基本的に主成分分析を用いられる事が多い。Zhong&Enke, 2017は、PCAの種類間の精度を比較した。PCA-ANNは僅かに他の手法(SPY, FRPCA, KPCA)よりも精度が高くなった。以下に手法をまとめる。

手法 引用先
PCA etc
ICA(independent components analysis) Setihna&Raut, 2019
autoencoder Chong et al., 2017
restricted Boltzmann machine Chong et al., 2017)
EMD(empirical mode decomposition) Cao et al., 2019; Zhou et al., 2019a
SMC(ubmode coordinatealgorithm) Huang et al., 2018
テンソル分解 Huang et al., 2018
カイ二乗検定 & MRMR(maximum relevance and minimum redundancy) Kumar et al., 2019; Gunduz et al., 2017
RSAR(rough set attribute reduction) Lei, 2018
ACF(autocorrelation function) Wu & Gao, 2018
PCF(partial correlationfunction) Wu & Gao, 2018
ANOVA(the analysis of variance ) Niaki & Hoseinzade, 2013
MICFS(maximal information coefficient feature selection) Yang et al., 2018

2.2.5 標準化・正規化

0-1のデータに直す必要がある。また、画像分野でも白色化のように分散や平均を用いて標準化するものもある。

2.2.6 データ分割

機械学習では、訓練データ(in-sample)とそれ以外?(out-od-sample split)と評価(validation)とテスト用に分ける必要がある。これらには二つのやり方が存在し、Rooling Training Set(左)とSuccessive Training Set(右)で分けられる。

image.png

2.2.7 データ拡張

市場価格予測ではあまり使われない。しかし、幾つか関連した研究が行われていて、例としてZhang et al., 2017がある。

2.3 予測モデル

まず、モデルのタイプとして大きく「標準」「ハイブリッド」「その他」に分解した。以下に準ずるモデルを示した。

タイプ モデル
標準的なモデル FNN, CNN, RNN, etc
ハイブリッドモデル ANN+古典的手法
その他 GAN, 転移学習,強化学習

さらに、標準モデルを分割する

大枠 タイプ モデル
ANN FFNN(Feedforward Neural Network) DNN(BPNN, MLP, ELM, IDLNN, STEFNN,RBFN)
ANN CNN FCN(1-D fully-CN)
ANN RNN RNN, LSTM, GRU, BiRNN, BiLSTM, BiGRU
ANN Other stacked models, Attention Mechanithm, RBM, seq2seq
古典的手法 線形回帰, ARIMA, GARCH, ロジスティック回帰, SVM, kNN

これらの予測モデルによって予測された株価から、中長期的な戦略を考える必要がある。最もシンプルなものが買い持ち戦略(Buy&Hold Strategy)である。テクニカル分析指標もベースラインとして多用される。例えば、MACDがある。Sezer & Ozbayoglu,(2018)では、RSI(14days,70-30)とSMA(50 days)としていた。

次にハイブリッドモデルである。ハイブリッドモデルは、DNNと古典的な手法を合わせたような方法である。Li et al. (2019b)は、ニュースのデータを隠れ層として入れるために、 sentiment-ARMA modelを考えた。これらには、LSTMとVADER model (人手でポシネガ判定をしたデータベース?)とdifferential privacy mechanism?が導入されている。深層学習の組み合わせる研究もあり、CNN+RNNか、RNN+RNNが主流である。前者は例えば、TreNet(Lin et al., 2017)は、LSTMとCNNの組み合わせである。後者は例えば、LSTM autoencoder と tacked LSTM network の組み合わせである。また、Liu & Chen (2019)は、LSTMs, GRUs と MGUs を同時に含むSRCGUs(electiveRecurrent Neural Networks with Random Connectivity Gated Unit)を提唱した.

最後にその他である。以下5個に分類できる。

タイプ 説明 引用
GAN 特になし Zhou et al. (2018)
GNN(Graph NN) グラフの利用によって、企業間の関係がわかる。独立で考えるよりも性能が良い。これと他に予測モデルを考える必要がありそう Chen et al. (2018c);Kim et al.(2019)→(LSTM, GRU)
カプセルネットワーク 関連性の高い情報の重みを大きくする? 直感的に深層学習にスカラーでなくベクトルをinputする感じ? Liu et al. (2019a)
強化学習 前後の情報を使える利点がある。トレーディングシステムに応用されている例あり(引用の後者)。 Lee et al., 2019; Deng et al., 2016
転移学習 特になし Nguyen& Yoon (2019)

以下に時系列に手法の件数を示す。
image.png

最適化手法

image.png

ベースライン

image.png

2.4 モデル評価

本章では、予測モデルの評価方法について、述べていきます。評価方法を大きく4つに分けました。

評価方法 説明 評価方法の例
分類問題 精度と正確性を求められる 正確度(accuracy), 精度(accuracy), 再現率(recall), 感度(sensitivity), 特異度(specifity), F1値, マクロ平均F値(macro-average F score),マシューズ相関係数(Matthews correlation coefficient), 平均AUC,サイルのの不確定性係数(Thile's U coef), hit ratio,average relative varience, 混合行列(confusion matrices)
回帰問題 回帰による株価の予測の精度をみる MAE(平均絶対誤差), RMSE(平均平方2乗誤差), MSE(平均二乗誤差), NMSE(正規化MSE), NRMSE(正規化平均平方二乗誤差), MAPE(平均絶対パーセント誤差), 相互情報量, 決定係数
利益分析(profit analysis) 実際に利益が得られるかどうかを評価する。主にリターンとリスクで評価される。リターンは株のポートフォリオの変化、リスクは最大損失(maximal drawdown)で評価される(Zhou et al., 2019a ; Karathanasopoulos & Osman, 2019)。Sezer & Ozbayoglu (2018, 2019)ではもっと詳しく述べている。 maximal drawdown, 効率係数(sharpe ratio)
有意性検定 ベースラインとの比較に有意性があるか考える。あまり使われないが、使う人もいる(Kumaret al., 2019; Zhang et al., 2019b) Kruskal-Wallis検定, Diebold-Mariano検定

論文内では、誰がどのような評価を用いたかが掲載されている。やりたい目的に応じてみてみると、良いかもしれない。

それぞれ分類と回帰の使用状況をしたの図で表す。

image.png

image.png

3. 実装と再現性

3.1 実装

実装環境は、Pythonが圧倒的1位となっている。論文中には図が乗っているが、圧倒的にPythonなので、載せない。これは、パッケージが充実しているからだと考えられ、Keras, TensorFlow, PyTorch, Theano, scikit-learnなどがある。あと、深層学習の研究をするならば、今後GPUが拡大していくことは間違いない。クラウドとか使っても良いだろう。

3.2 結果の再現性

深層学習が、各分野で有効な結果をもたらしているのは事実だが、反対に懐疑や懸念も存在する。

3.3 データの可用性

データとして、よく使われるものを述べる。

データ 説明
Yahoo! Finance 無料、市場状態・価格、etc
Tushare 中国の株価情報
IMF, World Bank マクロエコノミクスの指標
CNBC, Reuter, Wall Street Journal, Fortune, etc 金融のニュース
Twitter, Sina Weibo SNS
Wikidata 会社間の関係の情報など
Bloomberg, Wind, Quan-topian, Investing.com
Interactive Broker Online Broker
CSMAR database 中国企業の株価データ、バランスシート、収支、キャッシュフローなどなど
Wharton Research Data Services(WRDS) financial, accounting, banking, economics, marketing, and public policy databases
Kaggle データコンペ
Two Sigma Financial Modeling Challenge 株価予測のコンペ
github 研究者がまとめた情報がある。例えば、各国の株価のデータなどなど。本論文でよくまとまっているので、自分で探す前に一読の価値あり。

3.4 コードの可用性

Githubをみよう。

4. 将来の方向性

4.1 新たなモデル

近年に出てきたアーキテクチャーを持つ深層学習は、あまり使われ切れていない様子である。
特に、GANや注意機構は、伸び代がある。BERTやTransformerはあまり使われていない。
2020年において多少使われている印象はある(印象)。

4.2 マルチデータソース

1つのデータだけで結果を出そうとするのは、新規性と結果という観点から好ましくないので、たくさんのデータを使おうね

4.3 クロスマーケット分析

様々な市場ををやるのも良い。それぞれ異なるルールなどがあるからこそ、行っている人は少ない。実際に、良い結果が出ている(Hoseinzade &Haratizadeh, 2019; Lee et al., 2019; Merello et al., 2019; Nguyen & Yoon, 2019;Hoseinzade et al., 2019)。USの市場データを用いた転移学習をしている人もいる(Lee et al., 2019)。

4.4 アルゴリズムトレード

株価予測が結論ではない。ポートフォリオの戦略などを行っている人もいるが、シンプルであまり実践的でない場合が多い。
 近年、戦略の1つとして注目されているのが、深層強化学習である(Xiong et al., 2018; Lee et al., 2019)。良い結果が出ているそう。

5. まとめ

たくさん比較した。

今回は、まとめ論文を和訳する形になったが、株価予測を深層学習で行う人(自分も含めて)にとって、最初に読むと全体像がみれて良いと思う。
しかし、深層学習全体と枠が広いこともあり、それぞれに対する考察が少ない短所もあったかと思う。
自分は、自然言語処理を株価の予測につなげていきたいと考えており、それに注目し読んだ論文を講評していきたいと思う。

6 気になる論文リスト

6.1 株価 + テキスト

Jin et al. (2019); Stock closing price prediction based on sentiment analysis and lstm

Li et al. (2019b); p-lstm: Differential privacy-inspired lstm for stock prediction using financial news

Liu et al.(2019a); Transformer-based capsule network for stock movement prediction

Liu & Wang (2019); A numerical-based attention method for stock market prediction with dual information

Wang et al.(2019b); Event attention network for stock price trend prediction based on sentimental embedding

Xu & Cohen (2018); Stock movement prediction from tweets and historical prices

Matsubara et al.(2018); stock price prediction by deep neural generative model of news articles

Tang & Chen (2018); Stock market prediction based on historic prices and news titles.

Huang et al.(2018); A tensor-based sub-mode coordinate algorithm for stock prediction.

Wu et al. (2018); Hybrid deep sequential modeling for social text-driven stock prediction

Kumar et al. (2019); Predicting Indian stock mar-ket using the psycho-linguistic features of financial news.

Li et al. (2017a); entiment-aware stock market prediction: A deep learning method.

Tang et al. (2019); Learning to fuse multiple semantic aspects from rich texts for stock price prediction

Huynh et al.(2017); A new model for stock price movements prediction using deep neural network

Mohan et al. (2019); Stock price prediction using news sentiment analysis.

Hu et al. (2018a); Predicting the direction of stock markets using optimized neural networks with google trends

Masqood et al. (2019) A local and global event sentiment based efficient stock exchange forecasting using deep learning
<- 個別株でそれぞれの国毎で行っている

Ding et al. (2015) Deep Learning for Event-Driven Stock Prediction

6.2 株価+ナレッジグラフ+テキスト

Deng et al. (2019); Knowledge-driven stock trend prediction and explanation via temporal convolutional network

6.3 株価+ファンダメンタル+テキスト

Tan et al. (2019);

6.4 クロスマーケット分析

Hoseinzade & Haratizadeh, 2019; Cnnpred: Cnn-based stock market prediction using a diverse set of variables

Lee et al., 2019; Global stock market prediction based on stock chart images using deep q-network
【転移学習】
Merello et al., 2019; Ensemble application of transfer learning and sample weighting for stock market prediction
【転移学習】
Nguyen & Yoon, 2019; A novel approach to short-term stock price movement prediction using transfer learning

Hoseinzade et al., 2019; U-cnnpred: A universal cnn-based predictor for stock markets

6.5 強化学習

Deng et al., 2016; deep direct re-inforcement learning for financial signal representation and trading

Xiong et al., 2018; Practical deep reinforcement learning approach for stock trading

Lee et al., 2019;Global stock market prediction based on stock chart images using deep q-network

6.6 注意機構

Chen, L., Chi, Y., Guan, Y., & Fan, J. (2019). A hybrid attention-based emd-lstm model for financial time series prediction

Chen, S., & Ge, L. (2019). Exploring the attention mechanism in lstm-based hong kong stock price movement prediction

Chen, Y., Lin, W., & Wang, J. Z. (2019). A dual-attention-based stock price trend prediction model with dual features

Cheng, L.-C., Huang, Y.-H., & Wu, M.-E. (2018). Applied attention-based lstm neural networks in stock prediction.

Hollis, T., Viscardi, A., & Yi, S. E. (2018). A comparison of lstms and attention mechanisms for forecasting financial time series

Hu, Z., Liu, W., Bian, J., Liu, X., & Liu, T.-Y. (2018b). Listening to chaotic whispers: A deep learning framework for news-oriented stock trend prediction.

Kim, R., So, C. H., Jeong, M., Lee, S., Kim, J., & Kang, J. (2019). Hats: A hierarchical graph attention network for stock movement prediction

Kim, S., & Kang, M. (2019). Financial series prediction using attention lstm.

Liu, Q., Cheng, X., Su, S., & Zhu, S. (2018). Hierarchical complementary attention network for predicting stock price movements with news

Ma, D., Li, S., Zhang, X., & Wang, H. (2017). Interactive attention networks for aspect-level sentiment classification

Qin, Y., Song, D., Chen, H., Cheng, W., Jiang, G., & Cottrell, G. W. (2017).A dual-stage attention-based recurrent neural network for time series predic-tion

sirosiro0129
課題なりで、実装したことを備忘録のために
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away