機械学習をシステムトレードに応用。利益は出せるのか?

最近、機械学習(ディープラーニング、人工知能、AI)の色々な方面への応用が話題になっています。
投資の世界にも人工知能の活用が見られるようになってきました。
人工知能が最適なポートフォリオ運用を行いますというものですね。

システムトレードへの機械学習の適用はどのような状況なのでしょうか?

システムトレードへの機械学習の適用はすでに始まっている!

ポートフォリオ運用をシステムトレードとみなせば、すでに人工知能のシステムトレードへの適用は行われています。
ビッグデータを元にAIが最適なポートフォリオを推奨するというものですね。

ただ、これは一般的にイメージされる自動売買を積極的に行うシステムトレードとは異なりますね。
システムトレードというと、FXでゴールデンクロスが現れたらエントリーする等の価格の変動を検知してトレードするイメージが強いと思いますが、この分野への機械学習の適用状況はというと、すでに行われています。
「人工知能やAIを投資に適用する」と聞くと大企業や機関投資家、一部の天才ハッカーしかできないのでは?と思われるかもしれません。
確かに、機械学習やディープラーニングに使われている数学はなかなかに難解で、数学の素人には理解しづらいものです。
だからといって機械学習を使ってシステムトレードが一般的な個人投資家にはできない訳でもありません。
オープンソースで公開されている機械学習のライブラリがあり、これを利用することで一般投資家でも十分にシステムトレード+機械学習に参入できます。

システムトレードに利用できるオープンソースの機械学習ライブラリとは

オープンソースの機械学習ライブラリとして有名なのはGoogleが開発した「TensorFlow」(テンソルフロー)です。
TensorFlowは主に顔認識、音声認識、被写体認識、画像検索、リアルタイム翻訳、ウェブ検索最適化、メール分別、メール自動返信文作成、自動運転車などに利用が可能です。
TensorFlowはGoogleの各種サービスに利用されているそうですが、こうして用途を見てみると、Googleの提供しているサービスと見事に一致していますね。
GmailやGoogle検索、画像検索、Google翻訳には利用されていそうですね。
対応プログラミング言語は、Python、Java、C++、C言語、Go言語です。
そしてTensorFlowはオープンソースで公開されていますので、個人がディープラーニングに利用することもできるのです。

機械学習をどのようにトレードに応用するかというと、機械学習は画像認識に高い精度を発揮しています。
例えば学習データとしてたくさんの犬の写真を読み込ませて、画像の中から犬を探し出すということができます。
トレードでは、終値をプロットしていくとチャート(グラフ)が出来上がります。
これは一つの画像と見ますことができます。
ざっくりとしたイメージで説明すると、値動きのチャートを画像として認識させて、これを学習データとして直近の値動きから、これからの値動きの傾向を予想するというものです。
過去に同じような値動きをしたことがあれば、これと同様の値動きをするのではないかという考えによるものです。

もちろん、過去と同じような値動きをする保証はどこにもありません。
同じようなパターンが何度も見られるからと言って、これから同じように値動きする訳ではありません。
ただ、過去の値動きによる経験則は、全くのランダムよりも確率が高いのではないかという期待は持てます。
相場はたくさんの投資家による売買により成立しています。
多くの投資家が「これから上がるだろう」と思って買い注文を入れると、実際に価格は上昇します。
逆に下がると思って売りを入れれば価格は下がります。

値動きを見て多くの投資家が「上がりそう」と期待すれば、多くの場合価格は上がりそうではありませんか?
もちろん100%上がる訳ではありませんが、上がる場合の方が多いと考えても良さそうです。

機械学習でのシステムトレードでも同様に、これまでの相場で上がってきたような場面であれば、今回も上がるという予想は当たる確率の方が高くなりそうと期待できそうです。

もちろん、これは保証されたものでも証明されたものでもなく、管理人の考える「機械学習(人工知能・AI)に対する期待」です。
このブログでは、この考えを証明するべくディープラーニングによるシステムトレードを実装し、これを運用し、その結果を報告していきます。

ネットを探せばすでにTensorFlowでFXの予測をしてみるという記事を公開されている方もいらっしゃいます。
私自身も、機械学習をシステムトレードに適用してみて利益を上げられるのかについては強い興味を持っていますので、自分自身で実装・運用してみたいと考えています。

同じように機械学習でシステムトレードに取り組まれている方は、ぜひ情報交換しましょう!
私もこの取り組み(環境の準備方法や実装方法、学習データの入れ方等)を随時公開していきます。
開発は個人的に使い慣れたPythonを使用します。
機械学習に取り組みやすいAnacondaやPandasがあるというのも選択した一因です。

まとめ

機械学習をシステムトレードに応用する試みは、オープンソースのおかげで個人でも可能な状況になっています。
私自身も、現役SEとして機械学習・ディープラーニングには大きな期待を持っています。
投資には個人の趣味として取り組んできましたが、ここに機械学習を適用してみたらどうなるのか、非常に楽しみな取り組みです。
私の取り組みはこのブログで随時公開していきますので、機械学習をやっている、またはシステムトレードをやっているという方と情報交換できると幸いです。
この取り組みを通して、「機械学習はシステムトレードに使えるぞ!」ということを証明してみせます!