これからの「お金」の話をしよう

(旧 システムトレードのススメ)

Tips-機械学習による株価予測

f:id:uki-profit:20170814143641j:plain

最初に断っておきますが、本記事中ではAI(人工知能)ではなく機械学習という言葉を使います。AIという言葉は非常に曖昧であり、誤解を与える可能性があるからです。

 

機械学習の投資への応用は国内では書籍の出版もなく(※1)、論文を調べても殆ど出てきません。一部のブログなどで機械学習を使って株価を予測するというものもありますが、正直なところ検討と言えるレベルに至っていないのが現状だと思います。厳しい言い方となってしまい申し訳ありませんが、おそらく自分では株を買っておらず、その殆どが机上の空論になっていると思います。

クオンツ投資には押さえておくべきノウハウが多数あり、データサイエンティストが予測対象を株価に置き換えても、簡単に良い結果を得ることはできません。例え良い結果が得られたとしても、実際には収穫できない幻のアルファであることが多いのです。従ってこの分野での深い考察は、クオンツ投資の従事者が機械学習の分野へ足を突っ込む以外ありません。機械学習を用いた投資はルネッサンス・テクノロジーやブリッジ・ウォーターを筆頭に、リベリオンリサーチやセレベラムキャピタルなど様々なファンドが手を付けています。

本記事では機械学習の投資への応用について最低限押さえておくべきポイントを記していきます。この分野の検証をしている方にとって参考となれば幸いです。なお、これらの内容は株式のシステムトレーダーの方は当然に理解している内容であり、公表しても問題ないレベルであると考えています。

 

1.目的変数について

・当然ながら階差系列を目的変数とします。経済指標(GDPなど)の予測で原系列を予測するものがありますが、これはいけません。理由は説明するまでもないと思います。

・個別銘柄のリターンを目的変数とする場合、市場変動分を控除しておく必要があります。この処理をしないと、個別銘柄の指標で市場の動きを説明するモデルになってしまいます。因果関係が存在しないため、検証でどれだけ良い結果が得られても全く信用するに値しません。

2.説明変数について

・個別銘柄の指標を説明変数とする場合、テクニカル指標にしろファンダメンタル指標にしろ、単純に採用するのではなくクロスセクションもしくはタイムシリーズでの集計が必要となります(テクニカル指標はその殆どがタイムシリーズ集計されたものになっていると思います)。ある銘柄の指標は、他銘柄の指標や自身の過去の値と「比較」することで初めて意味を持ちます。逆に言うと単純に採用した指標には説明力が乏しく、検証でどれだけ良い結果が得られても全く信用するに値しません。 

3.母集団について

・ユニバースはある程度の絞り込みが必要です。少なくとも東証1部と新興市場は分けて考えます。これらの市場は取引参加者が異なるため、リターンの統計的性質(分散や歪度)が全く異なります。

・予め売買代金や財務状況でスクリーニングを掛けておく必要があります。前者を考慮していない場合、マーケットインパクトの影響で実際に取引を開始した時点で著しく期待値が劣化してしまいます。後者はタカ○や東○を例に挙げるまでもありません。

4.時系列のパラドックスに注意を払う

・ファンダメンタルデータには最新の注意を払わなければなりません。高頻度で修正が入るため過去のデータが上書きされていることが多々あります。未来の情報を使っていた、という話が往々にしてあります。

・決算修正などのイベント指標を用いる場合は、データ入手可能となる詳細時刻が必要となります。

・他にもサバイバーシップバイアスなどがあります。

5.市場の動き方や規制は最低限理解しておく

・逆指値(つまりブレイクアウトやストップ)を使った検証は意味がありません。株式市場は外国為替市場などと比べると極端に流動性の少ない市場であり、狙った値で約定できることのほうが稀です。

・ストップ高/安、新規売買禁止、アップティックルールなど、売買できない状況を考慮する必要があります。特にこれらのデータは異常値であることが多く、簡単にフィッティングに陥ってしまいます。

6.アウトオブサンプルについて

・リーブワンアウトでもクロスバリデーションでも何でも良いのですが、複数の検証の後にアウトオブサンプルで一番良いものを選択する人がいます。このような検証には全く意味がありません。全てインサンプルで検証していることと結局同じことです。

7.真摯な態度で臨む

「良い結果を出したい」ということが目的とならないよう心掛けが必要です。とあるデータアナリストのブログから引用させていただきます。

・必要なのはスキルではなく誠実な心構え

・何のためのモデリングか考える

・分析対象に興味を持つ 

8.最後に -機械学習の投資への応用全般について

機械学習の用途として2つが考えられます。1つは直接的な用途としてリターンへの相関を持つ何らかの指標を探し出すこと、もう1つは間接的な用途として市場の特性などを具現化することが挙げられます。後者は結果としてそれがリターン相関を持ったり市況を表したりするものであればよいという考えです。

しかしどちらの手法にせよ、株式市場は「過分散」であるということを肝に銘じなければなりません。この点からベイズ推定のアルゴリズム(要するにMCMC)は幾分有利となる可能性があります。結果のパフォーマンス測定に検定やAICを使うようでは、全く分かっていないというしかありません。帰納的手法が力を発揮するのはモデリング(マイニング)の過程のみです。株式投資におけるパフォーマンスの判定基準は、後にも先にも唯一つ「演繹的な整合性」だけです。

これは単に演繹が良いと繰り返す演繹信者ではなく、そうである明確な理由が存在します。よって、さらに言ってしまえばノンパラな手法(※2)は全てNGです(必ず失敗します。断言できます)。

 

※1 海外では機械学習のファイナンス分野への応用に関する書籍が出版されています。代表書籍として、以下の2つが挙げられます(両書籍とも1万円以上する専門書です)。国内でこれらの書籍を購入している方は、私以外には殆どいないと思います。 

 「Computational Intelligence Techniques for Trading and Investment」 2014年

 「Artificial Intelligence in Financial Markets」 2016年

※2 ここで言うノンパラとは、モデリングの過程で元のパラメータが復元できなくなるような手法を指します。「分布のパラメータを仮定しない」という本来の意味とはニュアンスが違うことに留意して下さい。