自動株取引AIってどうやって作られているの?

機械学習が話題になって来て久しい昨今、株の取引を機械学習を使って自動化したいという話をよく聞きます。株の値動きは非常に複雑な要因が折り重なって決まります。たとえ深層学習でも簡単には予測できませんが、試みている人たちはたくさんいるみたいです。

そこでこの記事では

  • 自動株取引システムで使われる機械学習アルゴリズム
  • 自動株取引システムの先行研究

などについて解説しますよ!


【こんな方に向けて書きました】

  • 機械学習の実用事例を知りたい
  • 機械学習を用いた株取引について詳しく知りたい
  • AIの進歩について詳しく知りたい

株価の値動きを予測する機械学習モデル

株価の値動きを予測する機械学習モデルはたくさんありますが、ニューラルネットワークをメインで解説します。さて、時系列データの未来の値を予測するとき、過去のデータを元に予測を行います。今までの値動きを参考にして、次の瞬間のデータ点がどんな値になるかを予測します。

RNN

[画像:Understanding LSTM Networks Posted on August 27, 2015]

RNN(Recurrent Neural Network)はループ構造を持つニューラルネットワークです。

時系列データの予測をニューラルネットワークで行う場合、RNNはもっともベーシックな選択肢になります。

RNNの派生として、

  • LSTM(Long short-term memory)
  • GRU(Gated Recurrent Unit)

などのアルゴリズムもあります。

■ 参考例
KerasでDeep Learning:LSTMで日経平均株価を予測してみる

CNN

[画像:畳み込みニューラルネットワークとは 知っておくべき 3 つの事柄 -- MathWorks]

CNN(Convolutional Neural Network)については以下の記事で解説しています。

【深層学習入門】ディープラーニングで画像認識!CNNで簡単入門!
更新日 : 2020年5月8日

CNNは画像に対して使われることが多いですが、例えば一次元畳み込みを行うことで時系列データを扱うこともできます。

■ 参考例
[ディープラーニング] 時系列データ入力を想定したCNN多クラス分類モデル

その他の回帰モデル

xgboost

kaggleなどのデータ解析コンペで人気の手法

■ 参考例
仮想通貨の価格変動予測

random forest

以下の記事でrandom forestを使った回帰分析にチャレンジしました。

機械学習手法「ランダムフォレスト」で回帰分析にチャレンジ
更新日 : 2019年5月4日

株価予測を研究している論文

株価予測を行っている論文はたくさんありますが、その中でも日本語のものをピックアップします。

CNNを使った株価予測

深層学習を用いた株価予測の分析 Stock Prediction Analysis using Deep Learning Technique,
宮崎邦洋, 松尾豊

※人工知能学会 2017

CNNを使ってほぼランダムウォークで動く金融時系列データの予測を解析を行っている研究。

Twitterデータを使った株価の予測

Twitterの多軸的感情情報を利用した株価の予測
増井佑亮, 藤野巖

※言語処理学会 第24回年次大会 発表論文集 (2018年3月)
ツイッターの感情情報から特定銘柄の株価を予測している研究。

もっと勉強するには

機械学習を使った株価予測とは、株価の値動きという時系列のデータの未来の値を予測する作業です。金融時系列データ(株価値動き)はほとんどランダムウォークのような形になるので単純な予測は難しいのですが、例えば

  • 今までの値動きのグラフの中で、近い形をしているところを参考に値動きを予測する
  • Twitterのムードのような、特定の銘柄などと関係のありそうなデータを元にして予測する

などいろんな方法が考えられます。これらを使って株価を予測するシステムを自力で作るとき、まずは

  • 時系列データの予測モデル
  • 時系列データのクラスタリング手法
  • 時系列データの距離尺度

を勉強する必要があります。このような勉強を独学でやるのが大変だと感じたら、是非侍エンジニア塾のマン・ツー・マンレッスンを試してみてください。

侍エンジニア塾
無料体験レッスンの詳細はこちら

エンジニアがマン・ツー・マンであなたの勉強をサポートします。きっと勉強がはかどりますよ!

まとめ

この記事では、AI技術を使った株価の予測などの自動株取引AIの中で動いている手法について解説しました。株価の予測は非常に難しい問題ですが、だからこそ勉強のしがいがある面白いものだと思います。

機械学習を勉強して是非チャレンジしてみてください!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

フクロウ

フクロウ

第一言語はPythonです。
皆さんRustやりましょう。

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー