AI・機械学習
自己回帰拡散モデルで市場データを生成できるか?
Can you use autoregressive diffusion to generate market data? (blog.janestreet.com)
要約
この記事は、市場データの生成に自己回帰拡散モデルを適用する可能性を探求しています。市場データは連続的かつ離散的な性質を併せ持つため、その生成は複雑です。研究では、DDPMが不安定になる一方、フローマッチングが有効であることが示され、連続拡散モデルでは市場データの不連続性を捉えきれないという課題が浮き彫りになりました。
全文翻訳
自己回帰拡散モデルで市場データを生成できるか?
2026年9月30日 | 9分で読める
Facebookで共有 Twitterで共有 LinkedInで共有
著者: James Somers
以下は、2026年夏のインターンプロジェクトに関する一連の投稿の一部です。詳細は、「インターンたちが成し遂げたこと、特別ジャンボ2026年版」をご覧ください。
定量金融の世界では、特定のシンボルに関する一連の市場データイベント(注文板への注文の追加、その注文のキャンセル、約定など)を受け取り、そのシンボルの将来の価格を予測するモデルに慣れています。生成モデルはそれほど一般的ではありません。シンボルの価格の点推定だけでなく、実際に注文板のイベント(取引所への到着タイミングを含む)を合成できるモデルを想像してみてください。もちろん価格予測も得られますが、それだけではロールアウトは非常に単純なものになってしまいます。しかし、市場データとはどのようなデータなのでしょうか?生成モデルは、その質問に答えを要求します。それはビデオに近いのか、それともテキストに近いのか?つまり、連続的なのか離散的なのか?市場データは両方の特徴を持っているようです。
注文板は、市場参加者が保留中の注文を付けたり、取り除いたりする一連のターンを通じて進化します。そこには間違いなく離散的なアクション空間があります。それにもかかわらず、特定の注文の最も重要なパラメータの多く(価格など)は、非常に高いカーディナリティを持っているため、実質的に連続的に見えます。単純に連続的なものもあります。生成モデルにとって重要ですが、見落としがちなのはタイミングです。「新しい注文が取引所にいつ到着するか」といったタイミングです。それさえも単純化しすぎています。実際には、分布はスパイク状です。「ペニーイング」(1ティックで価格を改善すること)は2ティックで改善するよりもはるかに一般的であり、注文は、例えば整数時刻の周りに、バーストで到着する傾向があります。これらの複雑さを探求する一つの方法は、データを連続的なものとして扱い、それがどのように破綻するかを見ることです。
この夏、リサーチインターンであるKavishは、市場データ用の拡散モデルを構築しました。拡散モデルとフローマッチングモデルは、画像、ビデオ、ロボット工学、音声などの領域で、シーケンシャルでマルチモーダルなデータを表現するための強力なツールです。自己回帰画像生成(ベクトル量子化なし)から着想を得て、Kavishは自己回帰拡散を用いた市場データのイベントレベル生成モデルを作成しました。その過程でいくつかの技術的な発見がありました。例えば、Kavishは、理論的には拡散モデルのノイズ除去に理想的とされるDDPMが発散し、フローマッチングの方がはるかに優れたパフォーマンスを発揮することを発見しました。しかし、ヘッドラインとなる結果は、完全に連続的な拡散では、実際の市場データのギザギザ感には適さないということでした。ポイントマスを平滑化で処理しようとするKavishの様々な試みと、モデルのターゲットの一部を離散化する試みは、最終的な市場データ生成モデルがどのようになるかを大いに明確にしました。
モデリングとセットアップ
Kavishは、米国株式の4年間のデータを調べました。各データ行には、タイムスタンプ、価格、種類(取引、注文、キャンセルなど)、その他の情報が含まれていました。拡散モデルは、次のイベントの特徴を生成しようとし、それがストリームに自己回帰的に追加されました。上記のLiらの論文に従い、彼はエンコーダー・ディフューザーアーキテクチャ、具体的には因果マスク付きトランスフォーマーエンコーダーを使用して、各位置で潜在埋め込みを生成しました。トレーニング中、各位置の潜在埋め込みは、小さなイベント種別ヘッドに供給され、次のイベントが取引かBBO更新(「ベストビッドアンドオファー」)かを示す2カテゴリ確率分布を出力しました。価格、経過時間などの連続ターゲットは、対応する潜在埋め込みと真のイベント種別によって条件付けられた拡散ヘッドを介して、標準的なAdaLN条件付けを使用して生成されました。推論中、最後のイベントのエンコードされた潜在埋め込みのみをイベント種別ヘッドに渡し、出力分布からイベントをサンプリングします。次のイベントの連続特徴は、最後のイベントの潜在埋め込みとサンプリングされたイベントによって条件付けられた拡散ヘッドを介して生成されます。
DDPM vs. フローマッチング
DDPM、または「デノイジング拡散確率モデル」は、サンプルに追加されたノイズを予測し、スケーリングされたノイズ予測を減算し、残りの信号レベルで割ることによってクリーンな推定値を導き出します。DDPMは画像生成などの分野で非常に成功していますが、ノイズレベルが高い場合、ノイズ予測の小さな誤差はクリーンなターゲット推定値に大きな誤差をもたらします。フローマッチングは代わりに、ノイズとデータの線形補間を行い、その線に沿った速度(データマイナスノイズ)を予測するようにネットワークをトレーニングします。その結果、サンプリングされた軌跡はほぼ直線になり、フローモデルは比較的少ないステップで正確に統合できます。基本的にこれらは同じ目的の2つの異なるパラメータ化ですが、Kavishはそれらの違いがかなり重要であることを発見しました。彼の最初の拡散ヘッドは、Improved DDPMで推奨されている1,000ステップのコサインスケジュールで予測しました。推論時には、DDIMに従って生成が実行されました。残念ながら、この構成は不安定であり、デノイジング軌跡の爆発を引き起こし、7つの連続ターゲットすべてで値の88〜95%が分布平均から8標準偏差以上離れていました。図の左端のボックスで、軌跡(背景に対してかろうじて見える細いピンクのフィラメント)がエッジに急速に分岐していることに注意してください。これは、計算時のスケーリングによって引き起こされます。図が示すように、より多くのサンプリングステップを使用すると、ステップごとのインクリメントが減少し、オーバーフロー量が防止されます。さらに、サンプリングプロセスに確率性()を追加すると、デノイジングプロセスが標準ガウスに正則化され、偏差が減少します。しかし、ノイズスケジュールを調整してこの不安定性に対処したり、デノイジング爆発を防ぐために推論時の介入を適用したりすることは可能ですが、Kavishは、レクティファイドフローアプローチがすぐにうまく機能することを発見しました。そこで彼はフローマッチングモデルに切り替えました。
不連続性の処理
プロジェクトの大部分は、根本的な問題に取り組むことに費やされました。市場データは、完全に連続的でも、完全に離散的でもないということです。例えば、拡散モデルが適しているビデオは、スナップショット(各フレームは連続的なピクセル強度と色のセット)と進化(ピクセルはフレーム間で任意の連続値を取りうる)の両方で連続的です。対照的に、市場データは連続的なスナップショットを持っていますが、市場のミクロ構造によって支配される非常に離散的な方法で進化します。これは、特徴の分布を見ると明らかであり、シャープな境界が特徴です。
注文のタイミングは正規分布していませんが、むしろ非常に塊状で、ゼロ秒(同時に到着するイベント)、最も早い反応時間、整数秒の周りにポイントマスがあります。価格は、ビッドとアスクの中間値、現在のビッド、または現在のアスクの周りにクラスター化する傾向があり、そのためそこにもシャープな不連続性が見られます。カテゴリ予測にも不均衡があるため(イベントの8%のみが取引であり、残りはBBO変更です)、カテゴリヘッドが取引を過剰予測するため、Kavishはカテゴリヘッドによって予測されるクラスの数を分割することを実験しました。彼はBBO変更を、「サイズのみ」(価格変更なし)や「アスクアップ」、「ビッドダウン」などの一般的なクラスのグループに分割しました。これにより、「アトム」(またはシャープな不連続性)を特定の機能に分離できるという利点もありました。例えば、ゼロの経過時間を独自のクラスとして予測できるようにしました。彼は最終的に20クラスのカテゴリヘッドと、より単純な拡散ターゲット(「ゼロはカテゴリ的に処理されているため、非ゼロのタイムギャップの大きさは?」や「ビッド価格変更の大きさは?」など、方向はカテゴリであるため)を持つようになりました。このアプローチは、イベント種別と連続ターゲットの両方で、実質的に改善された周辺分布をもたらしましたが、明らかに多くの手作業によるエンジニアリングが必要でした。カテゴリヘッドを使用して、特別な