• ブログ
  • 金融市場におけるAI Part4:ベストプラクティスは力なり

金融市場におけるAI
Part4:ベストプラクティスは力なり

2020/11/11
執筆者:
· 推定読書時間 4  分

(このブログポストは AI in Financial Markets, Part 4: Best Practice Makes Perfect の和訳です)

このシリーズでは、証券業界全般における AI の活用について考察し(Part 1 英語のみ)、フロントオフィスでの機械学習を「従来の」クオンツと比較して(Part 2 英語のみ)、特に機械学習を自動化することでクオンツ運用プロセスがどのようにパワーアップし効率性が向上するのかを説明しました(Part 3)。今回は、機械学習モデルが机上で良く見えるだけでなく、実際に本番環境において新しいデータで動作するように、推奨事項を説明します。また、DataRobot の統合されたベストプラクティスとガードレールがどのように役立つのかを見ていきます。

このシリーズの他のブログもぜひご一読ください(Part 1Part 2Part 3、 Part 5 英語のみ)。

データ分析に潜んでいる罠

「代替となるモデルの仕様を何千個も試せば、高いシャープレシオで過去のウォークフォワードのバックテストを作成するのは簡単である。… この選択バイアスの結果として、金融分野で発表されているほとんどの発見は偽物である。」マルコス・ロペス・デ・プラド著「ファイナンス機械学習―金融市場分析を変える機械学習アルゴリズムの理論と実践」

おっと、それは痛い。しかし、尻込みしないでください。実務に携わっている人達はこの見解に大いに共感するでしょう。確固たる投資戦略を構築するのではなく、一線を越えて恐ろしいデータマイニングをしてしまうのは、あまりにも安易過ぎます。
投資運用の歴史には、非常に有望な「発見」をお金にすることができなかった金融学者の投資手段の物語が散りばめられています。彼らは輝かしい「机上の」成果を本物のお金で再現できなかったのです。同時に、機械学習モデルをうまく機能させるために通常必要とされる反復的な調整プロセスと、データマイニング(役に立たず、でたらめなことでごまかす可能性があります)を混同しないことが重要です。最も洗練された機械学習自動化ソリューションであっても、本格的な実施に向けて準備が整うまでには何度か手を加える必要があるかもしれません。

モデリングの考え方

では、この罠を回避しながら堅牢で実行可能なモデルを構築するにはどうすればよいのでしょうか?問題に対して思慮深く実践的にアプローチすることが重要です。クオンツであるお客様が機械学習モデルを構築する際に、以下のような常識的な考えを念頭に置くことが大きな助けになることがわかりました。

具体性を持つ。  

実際に何をテストしているのでしょうか?できるだけ具体的にし、「データがたくさんあるので、何があるか見てみよう」的なアプローチをしないようにしましょう。1つまたは複数の仮説を立てます。「業績予想の下方修正や価格モメンタムの低下を経験した銘柄は、次の3か月間でアウトパフォームするだろう」というのはテストに適した良い仮説ですが、「フォワードリターンを予測できる何かが決算発表の文面にあるはずだ」というのは良い仮説ではありません。単純な確率論を念頭に置き、ランダム性に惑わされないようにしてください。バックテストが成功する確率を50/50と仮定すると、3つのバックテストでは、8つの異なる問題設定を実行しただけで、偶然から良さそうなものが返される可能性があります。   

未知のデータは一番の味方。  

サンプル外データを使ったテストは、何度やってもやり過ぎるということはありません。いつも足りないくらいです。同じ仮説の複数のバリエーションを評価または調整したり、複数の機械学習アプローチを比較したりする際には、誤って「未知の」データを「既知の」データにしてしまわないように注意する必要があります(これは非常に起こりやすく、悪い結果に終わりがちです)。選択したモデルのパフォーマンスが安定しているかどうかをテストするには、これまで見たことのないデータを使う必要があります。DataRobot では、このためのホールドアウトセットが確保されていますが、必要に応じて、「外部」から未知のデータを追加して、安定性をさらに評価することができます。モデルのパフォーマンスがインサンプルデータにおいて高いのは当然ですので、そこに新しい情報は何もありません。DataRobot がインサンプルのパフォーマンス指標や分析値を原則として表示しないのはこのためです。

「1つのモデルで全状況に対応」など実際にはありえない。  

経済は時間とともに進化します。景気循環への期待は、金融市場の環境と同様に、さらに急速に進化しています。モデルが長期的に機能することを期待しないでください。モデルの更新のタイミングを素早く察知し、迅速に対応できる敏捷性を持っていた方が良いでしょう。機械学習を自動化することで、特定の市場体制に適したモデルを効率的に開発したり、環境の変化に応じて新しいモデルを迅速に構築したりすることができます。DataRobot の MLOps でデータドリフトを追跡することで、予測結果(実測値)が判明する前であっても、デプロイされたモデルへの投入データとモデル構築時点の投入データとの相違を特定することができます。

安定性と減衰のためのバックテスト。  

本番環境でのモデルのメンテナンスと更新のプロセスをシミュレーションしてみましょう。半年前、1年前、2年前、5年前にモデルを作っていたら、同じ結論に達していたでしょうか?シミュレーションを実行して、モデルの再トレーニングがどれくらいの頻度で必要になるか(つまり、トレーニング後にモデルのパフォーマンスが低下する速度、および定期的なモデル更新において妥当な頻度)を把握します。DataRobot の強力な Python と R の API 連携により、機械学習の自動化プロセスをもう一段階自動化して、こうしたシミュレーションを非常に効率的に実行することができます。DataRobot MLOps は、デプロイされたモデルの精度とデータドリフトを監視し、予期せぬパフォーマンスの低下やデータの変化により、予定外の更新が必要になる可能性がある場合にフラグを立てます。

データが少ない方が良い時もあれば、多い方が良い時もある。ただし、後者のケースは意外と少ない。

特に時系列の問題や、時間の経過とともにトレンドが不安定になる他の分野では、トレーニング期間を短くしてモデルをトレーニングするデータ量を減らすことで、より良い結果が得られることがあります。観測された動きが最も顕著である期間を特定するために、複数の異なるモデルトレーニング期間をテストし、それらがモデルのパフォーマンスにどのように影響するかを評価します。以前と同様に、API による自動化で、このプロセスをできるだけ簡単なものにします。 

嗅覚や感覚は重要。  

ドメイン知識が重要であることを何度も言ってきましたが、聞き飽きましたか?優れているように見えても、根本的な動きを完全に理解したり説明したりすることができないものであれば、本番環境では再現できない意味のない統計的な成果物を発見した可能性があります。もちろん、金融市場の動きの多くは複雑で、一見すると直感ではわからない世界に見えるかもしれませんが、自分の発見が直感的に理解できるものであるかどうか(少なくとも説明可能であるかどうか)を常に自問してみてください。  

感覚での判断にはアルゴリズムの多様性が有効。  

既に述べたように、何もないところやランダムなデータから魔法のように「シグナル」を作り出すアルゴリズムなど存在しません。逆に、機械学習モデルの1つのファミリーを使用したときにうまくモデル化されていても、他のアプローチでは全く期待できないものを見つけてしまった場合は、おそらく別の統計的な成果物を発見したことになります。これを避けるために、機械学習を自動化して、与えられた問題に対してできるだけ多くの異なる機械学習アプローチを試してみてください。複数の異なる機械学習技術を使って、少なくともある程度はモデリングの成功を再現できる場合にのみ、作業を進めてください。(DataRobot による機械学習の自動化では、十数個のオープンソースライブラリに基づいて、多種多様な機械学習アルゴリズムを評価できることをお話ししたと思います。)

ナイーブさは美徳。

感覚での判断の話題になっていますが、構築したモデルをナイーブベースラインと照らし合わせてチェックすることを忘れないでください。これらは、簡単に言えば「愚かなモデル」であり、ターゲット変数の平均やより頻繁なレスポンスなど、常に同じことを予測します。時系列モデリングでは、ベースラインはターゲット変数の最新の値です。これらのエラー指標を計算し、候補モデルと比較することが重要です。もし、それらを上回るパフォーマンスが得られないのであれば、準備が整う前にさらに作業を行う必要があることを示しています。

完全自動化を期待しないでください。

金融市場は騒がしいですが、金融市場のデータはそれにも増してノイズが多いです。他の投資判断と同じように、何が良い結果であるかを現実的に考えることは有益です。古い格言によると、55%の時間で正しいことをすれば、うまくやっていることになりますが、50%以上の時間で間違ったことをしても、リスク管理が身に付いていれば、そこから利益を得ることができます。これは、クオンツファイナンスにおける機械学習にも当てはまります。ここでは、R2 が0.2から0.3であれば良い結果になることがあり、0.4から0.5であれば、非常に疑わしいと思われます。(R2 が一般的に機械学習モデルにとって良い指標ではない理由については、別の機会に説明したいと思います。)

自己認識が最も重要。  

あなたが作ったその驚くべき超正確なモデルは、あなたをクオンツ運用の天才のように見せ、30歳になる前に引退させてくれるでしょうか?申し訳ありませんが、あなたは実際にはクオンツ界のアインシュタインではない可能性のほうがはるかに高いです。これを認め、あなたが作成したモデルのエラーを探してください。何らかのデータリーケージが発生している可能性があります。話が出来過ぎで本当とは思えない場合は、たいていそのとおりです。驚くほど多くの場合、モデルのパフォーマンスを積極的に低下させることに時間を費やすことになりますが、それが現実であり、繰り返される可能性があります。こうしたタイプのエラー(時間の経過に伴うデータリーケージやターゲットリーケージ)の根本原因を発見するのは困難な場合があるため、データを十分に理解しておくことが重要です。DataRobot のターゲットリーケージ自動検出機能と高度な分析では、リーケージを探すべき場所が示されます。

すべての人に自動化を

「僕たちは自動で動いている/そして僕たちはダンシング・メカニック/僕たちはロボット」— クラフトワーク (1978年)

機械学習を自動化することの大きなメリットの1つは、すでに見たように、ベストプラクティスを構成する多くのものを自動化ワークフローに組み込めることです。DataRobot の製品設計理念は、これを具現化しています。DataRobot は、多くの専門知識、ベストプラクティス、ガードレールを盛り込んだエンタープライズAIプラットフォームを提供しています。これは、あまり良くないアイデアを実施していることに気づいていない場合や、特定の機械学習アプローチのベストプラクティスを構成する要素を詳細に調べる時間がない場合に特に役立ちます。

ベストプラクティスをアウトソーシングすることで、専門知識と自己認識を強化  

クオンツ運用会社のお客様からは、DataRobot の魅力は、モデル固有のデータエンジニアリング、トレーニング、選択の各プロセスの多くを自動化することで、金融市場に関する深い専門知識と金融データの理解という付加価値に集中できる点だと言われています。DataRobot には、ターゲットリーケージの自動検出、データ品質チェック、冗長な特徴量の検出、特徴量削減をはじめとした数多くのガードレールが組み込まれています。 

ちなみに、今のうちに、コンプライアンス文書の作成作業(の一部)をアウトソーシングしておくとよいでしょう。このブログをお読みになっている方は、おそらく規制の厳しい環境で仕事をしていて、モデルの検証やモデルのリスク管理がますます重要になっているのではないでしょうか。そうした環境では、モデル構築プロセスとその結果の詳細な文書化が必要となることが多いです。DataRobot は、コンプライアンス文書を自動的に生成します。お客様から聞いた話では、結果として経費を50%~70%削減できたそうです。機械学習の自動化プロセスの副産物として DataRobot 内に自動的に作成されるチャレンジャーモデルの必要性についてお話しする前に、そうした成果を達成できています。

特効薬ではなく、良薬

これです。クオンツファイナンスにおける機械学習がまさしくそうです。「ウォール街の奇跡」でもなければ、万能薬でもありません。しかし、従来のクオンツが持っていた数学的・統計的手法のツールボックスに、用途の広い便利なツールが追加されました。多少の良識を持ち、優れた実践を意識し、かつ現実的な期待(と多分 Python のコード)を持つことで、機械学習の自動化は、クオンツアナリストの力を倍増させることができます。  

このブログシリーズでは、多少大げさな内容もありますが、日々の業務で機械学習の自動化を活用し、年間数百万ドルを生み出すモデルを DataRobot で構築、デプロイ、監視しているプロフェッショナルが売る側と買う側の両方で増えている理由と実態がご理解いただけたのではないかと思います。あなたもその一人になりませんか?

DataRobot プラットフォームの詳細と、DataRobot がエンタープライズ AI の世界的リーダーである理由をお知りになりたい方は、今すぐお問い合わせください。

ソリューション
エンタープライズ AI を活用して成功を収める銀行​​

銀行が AI を使用してどのように成功を収めているかをご確認ください

詳しくはこちら

執筆者について
Peter Simon(ピーター・サイモン)
Peter Simon(ピーター・サイモン)

リードデータサイエンティスト

DataRobot の金融市場向けデータサイエンスプラクティスのリーダー。クライアントであるフィンテック企業、銀行、資産運用会社と緊密に連携し、業界をリードする DataRobot の機械学習自動化プラットフォームにおいて数多くの高 ROI ユースケースを実現。 DataRobot に入社する前は、モルガン・スタンレー、ウォーバーグ・ピンカス、ゴールドマン・サックス、クレディ・スイス、ランズダウン・パートナーズ、インベスコなどの投資銀行や資産運用会社にて、定量調査、ポートフォリオ管理、トレーディング、リスク管理、データサイエンスの職務で25年の経験を積む。また、新興のグローバル株式ヘッジファンドで数年にわたり共同経営者を務める。ロンドン大学シティ校でデータサイエンスの修士号、クランフィールド大学スクールオブマネジメントで MBA、ウォーリック大学で会計・財務分析の学士号を取得。 執筆した論文「Hunting High and Low: Visualising Shifting Correlations in Financial Markets」が、Computer Graphics Forum 誌2018年7月号に掲載された。

Peter Simon (ピーター・サイモン) についてもっとくわしく

香西 哲弥(Tetsuya Kozai)
香西 哲弥(Tetsuya Kozai)

データサイエンティスト

DataRobot データサイエンティストとして、主に金融業界のお客さまの AI 活用/推進をご支援。メガバンクと外資系コンサルティングファームでの勤務を経て現職。これまで、AI 導入に向けた組織改革から数理モデリングの技術支援、実運用化支援まで幅広い業務に従事。

香西 哲弥(Tetsuya Kozai) についてもっとくわしく