概要
このコンペティションでは、Jane Streetが提供する実際の生産システムから得られたデータを使用してモデルを構築します。これにより、成功したトレーディングの日常的な課題を垣間見ることができます。この課題は、金融市場をモデル化する際の困難さを強調しており、分布の裾が重いデータや非定常な時系列、そして市場行動の急な変化などが含まれます。
説明
現代の金融市場でのモデリング問題に取り組む際、多くの理由から問題の解決が不可能に思えるかもしれません。金融商品の価格がすべての利用可能な情報を合理的に反映しているという考えを脇に置いたとしても、他のモデリング問題ではあまり遭遇しない特性を持つ時系列や分布に直面することになります。分布は裾が非常に重く、時系列は非定常であり、データは成功した統計的アプローチの基礎となる仮定を満たさないことが一般的です。
さらに、金融市場は究極的には人間の活動であり、多くの個人や機関が関与しており、技術の進歩や社会の変化、経済的・地政学的問題に対応して絶えず変化しています。このような状況を考えると、金融市場をモデル化する難しさが理解できるでしょう。
この課題では、Jane Streetの生産システムから派生した実際のデータを使用してモデルを構築していただきます。このデータは、現代の金融市場で成功するために日々行っている作業の一部を非常に具体的に反映しています。私たちは、匿名化と軽微な改変を施した特徴量と応答変数を用意しました。これらの変更は問題の本質を変えるものではありませんが、Jane Streetの業務に関連しつつも挑戦的で、重要なタスクを反映した課題を提供するものです。
Jane Streetは数十年にわたり、トレーディングのあらゆる側面を絶えず革新し、意思決定を支援する機械学習モデルを構築してきました。これらのモデルは、世界中の200以上の取引所で毎日数千の金融商品を積極的に取引するのに役立っています。この課題は、Jane Streetが日々取り組んでいる数多くの定量的な問題のごく一部を提示するに過ぎませんが、Kaggleコミュニティがどのようにこの課題に取り組むかを見ることを楽しみにしています。
評価基準

提出ファイル
提供された評価APIを使用して提出を行う必要があります。これにより、モデルが時間を遡ってデータを参照することを防ぎます。詳細については、例のノートブックをご参照ください。
タイムライン
トレーニングフェーズ:
2024年10月14日: 開始日
2025年1月6日: エントリー締切、チーム統合締切
2025年1月13日: 最終提出締切
予測フェーズ:
最終提出締切後、選ばれたノートブックを用いて市場データの更新に基づくリーダーボード更新が定期的に行われます。
2025年7月12日: コンペティション終了
賞金
1位: $50,000
2位: $25,000
3位: $10,000
4位~10位: 各$5,000
コード要件
提出はKaggleノートブックを通じて行います。トレーニングはKaggleノートブック外で行うことも可能です。
トレーニングフェーズ制限:
CPU/GPUノートブックの実行時間は8時間以内。
TPUはサポートされません。
予測フェーズ制限:
実行時間が9時間に延長されます。
データセットの説明
このコンペティションのデータセットは、79の特徴量と9つの応答変数(responder)を持つ一連の時系列データで構成されています。データは匿名化されていますが、実際の市場データを表しています。このコンペティションの目標は、これらの応答変数の1つである「responder_6」を最大6か月先まで予測することです。
提出には提供されたPython評価APIを使用する必要があります。このAPIは、テストセットデータをタイムステップごとに提供します。APIの使用方法については、例のノートブックをご参照ください。(このAPIは、以前の予測コンペティションで使用されたレガシー時系列APIとは異なります。)
コンペティションのフェーズとデータ更新
予測タスクに沿って、コンペティションは以下の2つのフェーズで進行します:
1.モデルトレーニングフェーズ:
履歴データで構成されたテストセットが提供されます。このテストセットには約450万行が含まれています。
2.予測フェーズ:
提出期間終了後に収集されるテストセットが提供されます。このテストセットのサイズは、トレーニングフェーズのテストセットとほぼ同じであると予想されます。
モデルトレーニングフェーズの最終週には、公開テストセットが提出締切日に近いデータを含むように拡張されます。この拡張データに基づく予測は採点されません。
予測フェーズの開始時点で、未採点の公開テストセットがモデルトレーニングフェーズの最終日まで拡張され、非公開テストセットが約2週間ごとに更新されます。各更新時に提出物が再評価されます。
予測フェーズでは、評価APIが公開セットの開始日から非公開セットの終了日までのデータを提供します。すべてのタイムステップで予測を行う必要がありますが、このフェーズでは非公開セットの予測のみが採点対象です(未採点部分には「0.0」を予測として入力することも可能です)。
ファイルとフィールド情報
train.parquet: トレーニングセットで、履歴データとリターンが含まれます。利便性のため、このトレーニングセットは10個のパーティションに分割されています。
date_id / time_id: 整数値で、データの時間順序を提供。ただし、各time_id間の実際の時間間隔は一定ではありません。
symbol_id: 一意の金融商品の識別子。
weight: スコアリング関数を計算する際に使用される重み。
feature_{00...78}: 匿名化された市場データ。
responder_{0...8}: 匿名化された応答変数(値域は-5から5)。responder_6が予測対象。
1.test.parquet: 見えないテストセットの構造を模倣したモックテストセット。これは評価APIによって提供されるデータの単一バッチを示します。
is_scored: この行が評価指標の計算に含まれるかどうかを示す。lags.parquet:responder_{0...8}の1日前のラグ値。このラグ値は、その日最初のtime_idで提供されます。sample_submission.csv: モデルの予測形式を示すサンプルファイル。features.csv: 匿名化された特徴量に関するメタデータ。responders.csv: 匿名化された応答変数に関するメタデータ。
各行は、金融商品(symbol_idで識別)とタイムスタンプ(date_idとtime_idで表される)の一意の組み合わせに対応します。
date_idはイベントの日を表す整数。
time_idは時間順序を表すが、各time_id間の時間差は一定ではない。
symbol_idは暗号化された識別子。すべてのdate_idとtime_idにおいて、すべてのsymbol_idが存在するわけではない。将来のテストセットに新しいsymbol_idが登場する可能性もある。
