【マケデコ】JPX Kaggleコンペ5位/8位解法分析/アドベントカレンダーネタ で発表した「アドベントカレンダーのお礼とマーケットAI開発プロジェクトにおけるプロジェクトマネジメントのエッセンス 補講」の資料です。
アドベントカレンダーのお礼とマーケットAI開発プロジェクトにおけるプロジェクトマネジメントのエッセンス補講Tomoya KitayamaSTRICTLY CONFIDENTIAL
View Slide
アドベントカレンダー参加のお礼皆様、アドベントカレンダーへの参加ありがとうございました!すべて大変おもしろいネタでしたが、本日は私の「マーケットAI開発プロジェクトにおけるプロジェクトマネジメントのエッセンス」を掘り下げてみたいと思います。トピック一覧• tomo: マケデコのDiscordでおもしろかった議論を振り返ってみる• shinshin999: その昔、機能していた後場のアノマリー• pegion_HOLE: 謎の指標X• NT1123: feature neutralizationについて• shinshin999: 配当アノマリーから考えたペアトレード。• s-jquants: J-Quants プロジェクト振り返り• tomo: マーケットAI開発プロジェクトにおけるプロジェクトマネジメントのエッセンス• uki: 【保存版】株のトレーディング手法まとめ
なお、今年のアドベントカレンダーの目標今年の12月はこのカレンダーが埋まるのを目標に盛り上げたいと思いますので、ご協力・ご参加を是非皆様ご検討ください!11月初旬の早めに告知するようにいたします!
本日の発表内容2017-2020年までに20程度のAIプロジェクトですべてPMを実施。発表されていないものも含めると20以上のプロジェクトを実施。2021年以降はJ-Quantsのみを実施。この中で学んだ「AIプロジェクトのPMのエッセンス」を共有します。MUFG 2017年決算資料より日本の大手金融機関などを対象としたプロジェクト
プロジェクト全体の流れ大きく4つくらいのフェーズに分けることができると想定されます。フェーズ やること プロジェクト時間配分 (全体を10とした場合)プロジェクト開始前● 先行研究の探索● 先行ビジュアリゼーションの探索● 勝算の見積もり開始前なので時間配分としては0なのだが大事プロジェクト開始直後の準備● スコア設計● ベースラインモデルづくり● 業務マッピング● 研究計画立案4モデル研究 ● 研究計画通りにモデルを作っていく● ポイントとなる要素の探索● モデルの改善3モデルのLive化にむけて● 再学習の仕組み化● 運用上のあれこれ(Liveあるあるで紹介)3(ここはデータ取得の難易度に依存する印象 )
プロジェクト開始前に● 先行研究の探索○ 同一のテーマを扱っていることは殆どないが、以下の観点で探してみることが大事■ 他のアセットで似たようなことをやっていないか● 例: 株式の短期予測はすくないが為替の短期予測はよく見つかる● 例: 株式のローテンションは少ないが、金利やクレジットサイクルの研究がある● 先行ビジュアリゼーションの探索○ 先行ビジュアリゼーションは以下のようなものをチェックする■ Bloomberg端末の各種データの見せ方● プロの洗礼をうけているので、良くも悪くも業界標準の見せ方がわかる■ 投信の目論見書● これは結構頑張っているものがある。特にto Cを意識してビジュアリゼーションをしているものが多いので、わかりやすさを重視している■ これも先行研究の論文をいろいろなアセットで横断的に探すと結構見つかります。● 捨てモデルによる勝算の見積もり○ これはなんでもいいので適当なモデルをあらかじめプロジェクト前に一回作っておくこと■ コードもやり方もなんでもいいので、一度作ってみると、全然気づいていない論点がみつることが多く、次のステップでめちゃくちゃ活きる
プロジェクト全体の流れ大きく4つくらいのフェーズに分けることができると想定されます。フェーズ やること プロジェクト時間配分 (全体を10とした場合)プロジェクト開始前● 先行研究の探索● 先行ビジュアリゼーションの探索● 勝算の見積もり開始前なので時間配分としては0なのだが大事プロジェクト開始直後の準備● メトリクス設計● ベースラインモデルづくり● 業務マッピング● 研究計画立案4モデル研究 ● 研究計画通りにモデルを作っていく● ポイントとなる要素の探索● モデルの改善3モデルのLive化にむけて● 再学習の仕組み化● 運用上のあれこれ(Liveあるあるで紹介)3(ここはデータ取得の難易度に依存する印象 )
メトリクス設計についてメトリクス設計と結果のビジュアライゼーションが非常に重要です。特に良いモデルかどうかを業務レベルで判断してもらう場合、精度やスコアだけを見るとモデルの特性を見逃すことがあります。ある特定期間の挙動などテーマやレジームごとの挙動も大事です。1. メトリクス設計をプロジェクトの最初のタスクにする、これがある程度確定するまではプロジェクトをすすめない2. 合意したメトリクスを評価するビジュアライゼーション手法を決める、特に時系列方向の動きは人間が直感的に把握するのは非常に難しいので、どのビジュアライゼーションが最も直感的にこれは良いモデルかを理解するためのビジュアライゼーションが必須となる3. ライブ化した場合の意思決定のしきい値を検討しておく。あくまで参考にするだけなのか、ポジションを変えるのか、などなど、そもそもモデルができたときにライブの利用方法を決めておきます
ビジュアリゼージョンって何をやるの?https://tech.takibi.net/?p=112に掲載しているようなビジュアリゼージョンをプロジェクトごとに設計するイメージです。
ベースラインの作り方なぜベースラインが重要なのかは以下のとおりです。ベースラインモデルの作り方にはとことん拘ると、良いプロジェクトになります。• スタティックに計算できる特徴量を運用に利用している場合と比較すると、他の人にロジックを説明することが非常に難しくなります• 仮説に準拠し設計された特徴量であれば、実際にうまく行かないときも何らかの理由を考えることは容易ですが、機械学習による複雑なステップを通して構築した予測モデルがうまく動かなくなったときにその理由を推測するのは簡単ではありません。• 特徴量設計で良い結果が得られないまま、機械学習モデルを活用すると、仮説が良いのか、モデルのチューニングが良かったのかの区別することが難しくなります• 機械学習モデルを利用する場合、学習・検証・テストのために、データを3分割する必要が生まれます。大量の過去データがあるのであれば問題ないのですが、実務的にはそこまでの長い期間のデータは用意できないことがあります。• 実際の運用時に再学習のタイミングなど機械学習モデル特有の問題を考慮する必要が生まれます。
モデル開発の進め方研究計画と一緒です。なにを実施したら、どのメトリクスがどのように良くなったかをアイディアごとにまとめていきます。アイディアはできるだけ独立のアイディアをまずリスト化し、アイディアに対するメトリクスとビジュアライゼーションの改善を資料にまとめていきます。過去にJQuantsの資料で見せた以下のような特徴量とラベルに対する性能の計測のスプレッドシートみたいなアプローチを取ります。この部分は興味がある人が多いようなので、研究計画の立て方の勉強会を開催しても良いかと思っています。
モデルは必ず群で評価しましょう大量の実験を設計して、パラメータ軸や仮説軸でバイオリンプロットを実施するのがおすすめです。たとえば、1000個のモデルを作って、XYZの仮説やパラメータXYZ単位でメトリクスをグループしてあげて、比較して群としての効果を見ましょう。モデル単体では絶対に仮説を評価しないこと。
Liveあるある?• Liveにするととにかく想定外のことが起きるので、気をつけましょう• 当たり前ですが、金利はマイナスになります!• 金利を普通の特徴量で扱いたい場合は、0基準ではなく、シフトして100基準にしてあげると特徴量として一気に扱いやすくなります。• これは全然当たり前ではないのですが、先物はマイナスになります!• 原油先物がマイナス価格になってモデルが止まって、謝ることになる可能性がありますので注意しましょう。マイナスになった場合を検討するより、マイナスになったらおとなしく前の日の価格でfillしてあげるとかでも十分かもしれません。• ブルームバーグのTickerはなくなったりします。• ブルームバーグの一部のデータは突然基本パックから消えて有料になったりするので、特にクレジット系のデータを扱う場合はめちゃくちゃ注意しましょう• とにかくなんでも起きます• 自分で使うならともかく、他の人も使う可能性ある場合は過去のデータで擬似的なライブテストをするのがおすすめ
Thank You!STRICTLY CONFIDENTIAL