特徴量(Features)
高頻度取引(HFT)の予測モデルでは板情報(注文板データ)やティックデータの統計に基づく特徴量が重視されています。例えば、ある研究では価格帯ごとに集約した注文板のスナップショットからCNNで空間的特徴を抽出し、さらに約定履歴(Times and Trades情報)由来のイベント(※ブラジル市場の例では注文に付随するブローカーIDなど)を組み合わせて学習させていますresearchgate.net。他の実例でも、指値注文の価格・数量の分布やスプレッド、注文フローの不均衡(Order Flow Imbalance)など板情報由来の特徴に加え、一定時間内の出来高や約定数、時間帯(取引セッション)といった時系列要因、そして移動平均やボラティリティ指標などのテクニカル指標を含むことがあります。CatBoostはカテゴリ特徴の扱いが得意なため、市場の状態を表すカテゴリ情報(例:取引セッション区分や銘柄属性など)も組み込みやすく、前処理を最小限に多様な要因を統合できる点が利点とされていますarxiv.org。
目的変数(予測ターゲット)
HFTモデルの目的変数としては、直近の将来における価格変動の方向を分類予測するケースが一般的です。上述のCNN+CatBoostハイブリッドモデルは次のミッドプライスの上昇 or 下降のトレンドを当てることを目的にしており、CatBoost分類器で最終的なミッドプライスの方向を推定していますresearchgate.net。価格変動を「上昇・下降・横ばい」の3クラス分類とする例もあり、例えばある先物市場の研究では高頻度価格変化を大小含めた複数クラスに分類し、その不均衡なクラス分布をSMOTEで調整して価格の方向をマルチ分類予測していますmdpi.com。一方で、ティックごとのリターンや価格差を連続値として予測する回帰設定も考えられます。実務や研究では、価格の方向(アップダウン)予測だけでなく出来高やボラティリティなど他の市場指標の予測にモデルを応用する例もありますewadirect.com。総じて、HFTモデルのターゲットは次の瞬間のマーケットの動きを捉えるものであり、分類か回帰かはタスク設計によって選択されています。
CatBoostのハイパーパラメータ
高頻度取引のタスクにCatBoostを用いる際の主なハイパーパラメータとしては、決定木の深さ(depth)、学習率(learning_rate)、木の本数(iterations)、および損失関数(loss_function)などが重要です。例えば、とある株価予測の実装例では決定木の深さを6、学習率を0.1、ツリー数を1000程度に設定してCatBoostモデルを訓練していますquant.csdn.net。分類問題の場合、CatBoostClassifierではデフォルトで損失関数にロジスティック損失(Logloss)(2クラス)またはMultiClass(多クラス)が使用されますcatboost.ai。設定によっては評価指標(eval_metric)にAUCやAccuracyを指定したり、木の本数に対して早期停止(early_stopping)を有効にすることも一般的です。学習率は0.01~0.1の範囲で調整され、木の深さも6前後から10程度までタスクに応じて最適化されます。またLoss関数については、分類タスクでCrossEntropyやFocal Lossを採用して不均衡データに対処する工夫も考えられます(詳細は後述)。
不均衡なクラス分布への対処法
HFTの価格変動予測では、上昇/下降/不変といったクラスの出現頻度が偏り、不均衡データとなることが多々あります。この問題に対しては様々な対処法が用いられています。データレベルの手法としては、少数クラスをオーバーサンプリングする方法や多数クラスをアンダーサンプリングする方法があります。具体例として、先物価格の方向を予測した研究ではSMOTE(Synthetic Minority Oversampling Technique)を適用して少数クラス(まれな価格変動パターン)のサンプルを合成し、クラス分布の偏りを補正していますmdpi.com。一方で、RUSBoost(Random Under-Sampling Boosting)のようにブースティングの各反復で多数クラスを削減して学習するアプローチも検討されていますewadirect.com。アルゴリズムレベルの手法では、CatBoost自体がクラス重み(class_weights)やscale_pos_weightといったパラメータを備えており、少数クラスの誤分類に対してペナルティを大きくする設定が可能ですcatboost.ai。さらに高度な手法として、フォーカルロス(Focal Loss)などの特殊な損失関数を用いて難分類例に焦点を当てることで、クラス不均衡下での性能向上を図ることも提案されています。これらの対策を組み合わせることで、データ不均衡によるモデル精度の低下を緩和しています。
検証手法(モデルの検証方法)
高頻度データを扱うモデルの検証には、時間的な依存関係に配慮した手法が用いられます。代表的なのがウォークフォワード検証(walk-forward validation)で、時系列データを複数の時間ウインドウに区切り、過去の一部分で訓練し直後の部分でテストする操作をスライドさせながら繰り返します。ウォークフォワード法はモデルの将来データへの汎化性能をより現実的に評価でき、さらにモデルの定期的な更新(市場構造の変化へ適応)を前提とした場合にも有効とされていますarxiv.org。クロスバリデーションも時系列用に工夫して用いられ、例えばPurged K-Fold法では訓練とテストの期間が重ならないよう情報漏洩をパージしつつK分割検証を行います。Purged K-Foldやその拡張であるCombinatorial Purged K-Foldは、HFTのように自己相関や遅延効果のあるデータで過学習や情報漏洩を防ぐために考案された手法ですresearch.itu.edu.tr。また一部の実務では、過去N日を訓練、直近1日をテストとするロールング検証を行ったり、期間をずらしながら複数回検証して安定した性能を確認することもあります。重要なのは、未来の情報が訓練に混入しない検証プロトコルを守ることで、モデルの真の予測力を測定することです。
モデルの学習・再学習タイミング
高頻度取引モデルは、市場環境の変化に適応するため定期的な再学習が不可欠です。実運用では、日次もしくは週次でモデルを再訓練したり、新しいデータを追加してモデルパラメータを更新するケースが一般的に見られます。例えば前述のCNN+CatBoostモデルでは、重いCNN部分は保持したままCatBoost分類器のみを新データで再訓練することで、モデル更新にかかる時間を桁違いに短縮しています。このようにすることで、毎日もしくは頻繁にCatBoost部分を訓練し直し、新たな市場パターンを素早く学習させることが可能になりますresearchgate.net。一方で、市場構造が安定している場合にはオフラインで年1回程度モデルを全面的に再学習するといった運用も考えられますが、HFTの文脈では相場の変動が速いためより高頻度のモデル更新が望ましいとされています。オンライン学習が難しい勾配ブースティング系アルゴリズムでも、バッチでデータを追加して再学習することで実質的な逐次学習に近づける運用が取られています。総じて、HFTモデルのパフォーマンスを維持するには継続的な検証と再学習のサイクルが重要であり、市場の変化に応じてモデルを更新するタイミング(例:日次・週次)を適切に設定することが肝要です。
参考文献: 高頻度取引へのCatBoost適用事例researchgate.netresearchgate.net、価格方向予測の手法mdpi.commdpi.com、機械学習によるHFTモデル研究ewadirect.comewadirect.com、CatBoost公式ドキュメントcatboost.aicatboost.aiなど。