究極のアンサンブル学習-ヌメライとは

『ビットコインで雇われた匿名の7500人が頭脳となるヘッジファンド「Numerai」』-WIRED、2/26

これまた面白いファンドのニュースが入ってきました。

ヌメライとは、クラウドソーシングによるアンサンブル学習を行うヘッジファンドです。
日本語でヌメライと発音すると少々格好悪いですが、
本来は「Numer.AI」であり「Numeric AI」の略であると思われます。

◆WIREDの要約
 ・クラウドソーシングで予測モデルを集め、個々のモデルからアンサンブル学習を行う。
  16年秋時点で4500人のソースが25万のモデルを作成。
  16年12月時点で7500人のソースが50万のモデルを作成。
  本日時点では85万のモデルが作成されています。
 ・毎週、TOP100がビットコインで報酬を受け取る。
 ・暗号化メソッドを使い、依頼主と請負者の双方の情報が保護される。
 ・ルネッサンステクノロジー等、様々な企業から出資を受けている。


これだけではイマイチどこが画期的か分かりませんので、もう少し詳細に説明します。

そもそものアンサンブル学習とは、個々に学習した複数の学習器(以下モデル)を融合させて、
汎化能力を向上させた一つの統合モデルを作成することです。
この場合、個々のモデルの精度が問われることはなく、
あくまでも全体として良い結果が得られれればよい、という考え方です。
ここで重要な点は各モデル間の相関を低くすることであり、
そのため各モデルの構築過程にランダム化手法を取り入れることが一般的です。
アンサンブル学習は一般的にトータルでの予測精度が高いと言われていますが、
モデルの数が数百程度の場合は偶然に説明力の低い変数が採用されてしまうことも起こりえます。

アンサンブル学習の各モデルは、
本来であればSFのAIのようなものが自律的に創造するのが一番良いのです。
これは人間が多数のストラテジーを考え、複数を並行運用する分散投資と同じことです。
しかしそのようなAIは存在しないため、
仕方なしに決定木などの分析テンプレートに当てはめてモデル作成しているのが実状です。

ヌメライは、この各モデルの構築をクラウドソーシングの力で人間に実行させるという、
AIの一部をマンパワーで置き換えた、逆発想の画期的な試みです。
単純なテンプレモデルと比較した場合、
当然ながら予測力が高く個々の相関が低いモデルが多数出来上がるのは間違いありません。
(しっかりしたデータサイエンティストが作れば、の話ですが)


また、そのソーシング体系にも目を見張るものがあります。
ヌメライは暗号化したデータセットを誰でもダウンロードできるようにしています。
暗号化されているため、ヌメライが採用している変数の詳細は表に出ることは決してありません。

請負者はそれをダウンロードし、学習用のデータセットでモデルを構築します。
請負者はモデルをヌメライに提出する義務はなく、予測結果のみアップロードすれば良いのです。
これはFXや株のシステムトレード販売ではありえないことです。
モデルを提出する必要がないため、請負者の知的財産は全て保護されます。
また、それらが保護されているがゆえにヌメライは大量のデータを集めることが可能となっており、
まさしく両者でwin-winの関係が成立しています。


さて、もう少し詳細に見ていきます。

ヌメライのホームページのトップには、ランキング形式でTOP400程度が張り出されています。
具体的なランク付けは、ヌメライの最終アンサンブルモデルに対するウェイトと相関で決定されます。

また、同時にLOGLOSSという評価値が記載されています。
(LOGLOSSは参考値でありランクに考慮されません)
LOGLOSSとは対数損失関数であり、勝率50%の0.69314を境に低いほうが優秀な成績となります。
TOPのXIRAX氏のLOGLOSSは0.690となっており、これを単純に勝率換算すると約54%となります。
このあたりが現実的に達成可能な勝率の上限だと思います。
(様々なアセットが入り混じった数十万のデータセットにおける予測性能の上限、という意味です)
時折、勝率60%や70%という記事を見掛けますが、ヌメライの結果からすると、
それらは明らかにオーバーフィッティングの産物であると言えます。

最後にヌメライの学習用データセットですが、
説明変数は50個の特徴量×21万7千サンプルであり、
これに対応する目的変数は同数のサンプルのバイナリ値となっています。
しかし、この学習用データセットを見て、「あれ?」っと思ってしまいました。
このデータセットをどのように捉えるかで、
AI投資に対する経験値(機械学習の経験値ではありません)が問われるような気がします。

他にもいろいろと分かったことがあるのですが、本記事はここまでとします。
興味があったら是非確かめてみてください。


機械学習の手法

AI投資の話が続いていますが、ご容赦下さい。
(そろそろ終わりにしたいと思います)

最近はシステムトレーダーの方で機械学習を使っている方、もしくは手を出そうとしている方が
増えてきているのでは、と思います。
本コラムでは主だった機械学習の手法についてまとめてみたいと思います。
なお、以下の内容は様々な解釈が存在するので一例として考えていただくほうがよいと思います。


wikiによると機械学習という言葉のそもそもの定義は、
「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」となっています。
しかし私は、そもそもの語源は機械学習(machine learning)ではなく、
機械的学習(mechanical learning)ではなかったのかなぁ、と思います。
つまり機械による学習ではなく、予めプロセスを定義し固定した機械的な反復学習ということです。
まあ人工知能や機械学習の括りは曖昧であるため、どのような解釈でも良いのかもしれません。

さて、ファイナンスデータの分析手法はざっくり以下のようにまとめることができます。
統計的な手法と計算的な手法に分類されます。

(1)統計的手法(パラメトリック)
 ・ロジスティック回帰(要するにGLM)
 ・主成分分析(PCA)
 ・判別分析(LDAなど)
(2)統計的手法(ノンパラメトリック)
 ・決定木(ランダムフォレストは集団学習ですがモデルの分類上ここに属します)
 ・最近傍法(k-NN)
 ※ここでいうノンパラとは、本来の意味である「分布のパラメータを仮定しない」という意味です。
  要するに母集団がどのような分布であるか全く気にしない手法です。
(3)ソフトコンピューティング
 ・NN(ディープラーニングはモデルの分類上ここに属します)
 ・SVM
 ・ファジー
 ・進化的手法(GAなど)
 ・ベイズ的確率手法

一般的に言われるAIとは、(3)のソフトコンピューティングの手法を指します。
ソフトコンピューティングとは統計モデルがなくとも無理やり数値計算でモデルに当てはめるもので、
人工知能(AI)というよりも計算知能(CI)という呼び方がよく当てはまります。
一方で、機械学習とは「機械による数値的な学習」という解釈ができますので、
(1)や(2)も数値計算を扱っていれば機械学習と呼ぶことができると思います。


さてこれらを見て「この中で最も優れた手法は何なのか」という疑問が浮かびます。
当然ながらこの答えは「何をしたいのか、その目的や用途による」ということになります。
従ってもう少し具体的に言うと、

『株価の値動きを予測するために最も適した手法はどれなのか?』

このあたりは識者の方としっかりとディスカッションしたい内容ですね。
実はこれ、私の中では結論が1つ出ています。
ただし、あくまでも「私の中では」ということであり、それが正解というわけでは全くありません。
「自分はこの手法を使っているよ」というコメントをお待ちしております。
(そのような懐の広い方は稀だと思います。私も自分の手法はシークレットです。)

せっかく始めたのにノウハウを公開されると困る、という方もいらっしゃると思いますので、
機械学習について触れるのはここまでにするつもりです。

AI日本株式オープン -続き

不定期掲載となった感じが全くしませんが、気にしないで下さい。
前回に引き続き、三菱UFJ信託銀行のAI日本株式オープンについて検証します。
今回検証するのは、日次予測に使用されているディープラーニングです。

◆参考資料
 (1)「新潮流で広がるクオンツ運用のフロンティア」-三菱UFJ信託銀行、2016年6月
 (2)「ディープラーニングで資産運用、三菱UFJ信託が新たな金融商品」-日経BP、2017年2月6日
 (3)その他、ニュース記事

◆ディープラーニングの手法
 以下に分かる範囲で列挙していきます。

 (1)入力変数
  およそ300の入力変数を採用。
  「当社が持つデータ全てを入力データとして使用している」とのこと。
  ・国内マクロ指標:GDP、機械受注、有効求人倍率、景気ウォッチャー指数など
  ・株式市場データ:株価指数の移動平均、売買高など
  ・他市場データ:為替、債券の騰落率など
  ・センチメント指数:VIXなど
 (2)目的変数
  翌日のTOPIXの上昇/下落
 (3)分析ツール
  海外製のオープンソフトウェア。TensorFlowではないようです。
 (4)ニューラルネットモデル
  中間層が多層に設定されているとのことですが、層数は不明です。

◆ディープラーニングの効果
 上記の参考資料(1)と(2)に、
 ディープラーニングに基づいてTOPIXを取引した場合のバランスカーブが記載されています。
 検証期間は資料(1)が10年3月~15年9月、資料(2)が12年3月末~15年8月末となっています。
 両者を比較すると殆ど同じ結果となっており、基本的に同じ手法を用いた結果と考えられます。
 ただし資料(2)では2015年8月のチャイナショックでの損失を回避できるように修正されています。

170210-1.png


◆検証内容および結果
 では上記のディープラーニングの効果とは、果たしてどのくらいのものなのでしょうか。
 ここでは、一般的な「とある手法」を用いて同様の取引を行った場合の結果と比較を行います。

170210-2.png


 なんと、殆ど同じ特性を再現できてしまいました。
 「とある手法」とは、これまでのコラムから容易に想像できると思います。
 入力に使った変数の数は、わずか「2」です。
 もちろんノンパラな手法ではないため、
 なぜこのような挙動となるのかしっかりと理由付けができます。


AI投信にこのディープラーニングモデルが採用されているかどうか、実際のところは不明です。
今回私が行った手法は公開しても何ら問題のないレベルと考えていますが、
手法の公開によりバッシングを受けた事例がありますので、公開は差し控えさせて頂きます。

AI日本株式オープン -三菱UFJ信託銀行

「コラムを不定期掲載にする」と通知した矢先に気になる話題が発生してしまいました。

三菱UFJ信託銀行は2月1日に国内で初めて個人投資家向けのAI投信をリリースしました。
さっそく販促用資料をもとに内容の分析を行いました。
(販促用資料:http://www.tr.mufg.jp/cgi-bin/toushin/tsl.cgi/funds/03314172/hanbai_shiryou.pdf)

◆運用戦略(販促用資料より)
 「株式個別銘柄戦略」と「先物アロケーション戦略」の組み合わせで絶対収益を追求するようです。
 この両者ともにAIが使われます。

 1.株式個別銘柄戦略
  個別株式のロングと先物ヘッジを組み合わせて市場要因を排除しながら個別銘柄の収益を狙う。
  以下の2つのモデルの組み合わせによる。

  (1)安定高配当モデル(中長期向け)
   ・決算短信などの文字情報と配当利回りを組み合わせて、安定且つ高配当な銘柄を選定する。
  (2)ニュースピックモデル(短期向け)
   ・ニュースやアナリスト情報を用いて銘柄選定する。

 2.先物アロケーション戦略
  マーケットの上昇時に1のヘッジ量を減らし、市場上昇の収益を一部獲得する。
  以下の3つのモデルの組み合わせによる。

  (1)日次予測モデル
   ・ディープラーニングによる翌日の市場動向の予測。
  (2)月次予測モデル
   ・過去の投資環境との類似性から1ヶ月先の市場動向の予測。
  (3)転換点予測モデル
   ・株価やインデックスの値から相場の転換点を日々予測する。

◆組み入れ銘柄例(販促用資料より)
 2016年9月時点で157銘柄を組み入れています。
 ウェイトの上位10社は、大型銘柄で配当利回りが高いものが中心となっています。

◆バックテスト結果(販促用資料より)
 (1)検証期間
  ・2009年3月末~2016年9月末(90ヶ月=7年と6ヶ月)
 (2)取引コスト
  ・税金や手数料は考慮せず。
  ・リバランス時の執行コストは含まれていないものと考えられます。
 (3)運用利回り
  ・平均年利8.6%程度
  ・キャピタルゲインだけで配当は含まれていないものと考えられます。
  ・上記から信託報酬1.296%が控除されます(購入時手数料は3.24%)。
 (4)月次勝率
  ・71%程度(64勝26敗)

◆考察
 上記は販促用資料をまとめただけであり、ここから詳細な考察に入ります。
 このAIファンドは様々な戦略を組み合わせているようですが、
 基本となる戦略は「高配当銘柄投資」であることが、組み入れ銘柄を見ても明らかです。
 このAIファンドが単純な高配当投資に対してどのくらいアウトパフォームしているのか検証します。
 比較対象となる単純な高配当投資は以下の通りです。

  (1)投資対象
   TOPIX500銘柄のうち、配当利回りランク上位100社
  (2)ウェイト
   均等ウェイトとし、同額のTOPIX先物を売り建て(ヘッジ)
  (3)リバランス
   月末に決済しランキングを再計算して翌月初に新規建て

 結果は以下の通りとなります。

170202-1.png


 単純な高配当投資でも平均年利は7.2%程度あります。
 以下、両者に検定を行った結果です。

 <検定結果>
  (1)分散
   P値=0.02038であり、両者の分散には差がありそうです。
   従って、AI採用により収益のバラツキは安定したと言えそうです。
  (2)平均
   P値=0.64550であり、両者の平均には差があるとは言えません。
   従って、AI採用により収益性が高まるとは言えません。

 この結果だけ見ると、AIによる改善効果はそれほど大きくないと言えそうです。
 単純な高配当投資には改善の余地が十二分に存在します。
 ロバストな指標を使っているため、リリース直後に急激に成績が悪化することはなさそうです。
 「高配当狙いでなくもっと面白い手法が見たかった」というのが本音となります。

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

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

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

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

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


1.目的変数について
 ・当然ながら階差系列を目的変数とします。
  経済指標(GDPなど)の予測で原系列を予測するものがありますが、これはいけません。
  理由は説明するまでもないと思います。
 ・個別銘柄のリターンを目的変数とする場合、市場変動分を控除しておく必要があります。
  この処理をしないと、個別銘柄の指標で市場の動きを説明するモデルになってしまいます。
  因果関係が存在しないため、検証でどれだけ良い結果が得られても全く信用するに値しません。

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

3.母集団について
 ・ユニバースはある程度の絞り込みが必要です。
  少なくとも東証1部と新興市場は分けて考えます。
  これらの市場は取引参加者が異なるため、リターンの統計的性質(分散や歪度)が全く異なります。
 ・予め売買代金や財務状況でスクリーニングを掛けておく必要があります。
  前者を考慮していない場合、マーケットインパクトの影響で実際に取引を開始した時点で
  著しく期待値が劣化してしまいます。
  後者はタカ○や東○を例に挙げるまでもありません。

4.時系列のパラドックスに注意を払う
 ・ファンダメンタルデータには最新の注意を払わなければなりません。
  高頻度で修正が入るため過去のデータが上書きされていることが多々あります。
  未来の情報を使っていた、という話が往々にしてあります。
 ・決算修正などのイベント指標を用いる場合は、データ入手可能となる詳細時刻が必要となります。
 ・他にもサバイバーシップバイアスなどがあります。

5.市場の動き方や規制は最低限理解しておく
 ・逆指値(つまりブレイクアウトやストップ)を使った検証は意味がありません。
  株式市場は外国為替市場などと比べると極端に流動性の少ない市場であり、
  狙った値で約定できることのほうが稀です。
 ・ストップ高/安、新規売買禁止、アップティックルールなど、
  売買できない状況を考慮する必要があります。
  特にこれらのデータは異常値であることが多く、簡単にフィッティングに陥ってしまいます。

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

7.真摯な態度で臨む
 「良い結果を出したい」ということが目的とならないよう心掛けが必要です。
 とあるデータアナリストのブログから引用させていただきます。
  ・必要なのはスキルではなく誠実な心構え
  ・何のためのモデリングか考える
  ・分析対象に興味を持つ

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

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



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

 「Computational Intelligence Techniques for Trading and Investment」 2014年
 「Artificial Intelligence in Financial Markets」 2016年

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