GaiaExGaiaEx
金融市場のための機械学習入門
開発者AI & ML11 min read

金融市場のための機械学習入門

トレーディングのための教師あり学習、教師なし学習、強化学習

投稿を共有

現実世界では0ドルにしかならなかったバックテスト

2018年、あるクオンツチームがファンドに、バックテストで $100,000 を $4.2 million に変えたモデルを提示しました。エクイティカーブはほぼ完璧な45度の直線でした。シャープレシオは 4.0——史上ほとんどのヘッジファンドより優れた数字です。彼らはそれを実際の資金で運用しました。

初週から損失が出て、そのまま3ヶ月間出血し続けたあと、彼らはそれを停止しました。紙の上で $4.2 million を「作った」モデルは、現実では何も生み出しませんでした。 何も偽装されていませんでした——不正もバグもありません。そのモデルは単に、未来について何かを学ぶ代わりに過去を記憶していただけでした。

この話は何度も繰り返されるほど頻繁なため、名前が付いています。バックテストの過学習——これが、機械学習ファンドが失敗する最大の原因です。数十億ドル規模の ML 主導戦略を運用してきた Marcos López de Prado は、率直にこう言っています。十分に試行を重ねれば、誰でも純粋なノイズから美しいバックテストを作り出せる、と。市場は、あなたのニューラルネットワークがどれほど洗練されているかなど気にしません。

機械学習は、市場がどうトレードされるかを本当に変えつつあります。しかし、賢く見えるモデルと、実際の市場との接触に耐えて生き残るモデルの間には大きな隔たりがあり、それを見分けられるようになることがすべての鍵です。このレッスンでは両方を教えます。本物のエッジを見つける ML システムの構築方法と、その後半を省略した人々を破壊する落とし穴の避け方です。

機械学習とは何か——そしてなぜ市場が最も難しいケースなのか

機械学習とは、あらゆるシナリオに対して明示的にプログラムされることなく、コンピューターがデータからパターンを学習する科学です。「RSI が 30 を下回ったら買う」というルールを書く代わりに、アルゴリズムに数千件の過去の事例を与え、どのパターンが利益を生む取引に先行するかを発見させるのです。機械は経験から一般化します——ちょうどベテラントレーダーが直感を培うのと同じですが、人間が頭の中に保持できるより多くのデータを横断して行うのです。

金融市場は驚異的な量のデータを生成します。プライスティック、オーダーブックのスナップショット、ファンディングレート、オンチェーンフロー、センチメントスコア、マクロ経済の発表などです。伝統的なルールベースの戦略は、その作成者がすでに想像していた関係性しか捉えられません。ML モデルは数百の特徴量を同時に横断する、非線形で高次元の相互作用を検出できます——人間のアナリストが検証しようと考えることさえないような関係性です。

しかし市場は、あらゆる応用 ML の中で最も過酷な環境であり、なぜそうなのかを正直に理解しておく価値があります。ほとんどの ML のブレイクスルー——画像認識、言語モデル——が機能するのは、その根底にあるルールが動かないためです。猫は、その写真が2010年に撮られたか2026年に撮られたかにかかわらず、猫に見えます。市場はその正反対です。

  • データが定常ではない。 市場の統計的な「ルール」は、レジームが変わるたびに絶えず変化します。穏やかなブル市場で訓練されたモデルは、クラッシュの中では積極的に危険なものになりえます。
  • シグナル対ノイズ比が過酷。 画像認識では、ほぼすべてのピクセルが情報を運んでいます。リターンにおいては、価格変動の大部分がノイズです。あなたは、轟音のようなランダム性の海の中から、かすかな信号を掘り出そうとしているのです。
  • 適応的な敵と競争している。 猫は分類器を欺くために自分の姿を変えたりしません。本物の市場のエッジが人気を得た瞬間、他のトレーダーがそれをアービトラージして消し去ります。あなたのモデルの成功は、静かに自分自身の優位性を侵食していくのです。
重要な洞察: 金融における ML は、最も精巧なモデルを構築することではありません。本物で持続可能なエッジと、美しい偶然を見分けられる誠実な検証プロセスを構築することです。モデルを作るのは簡単な部分です。自分自身を騙さないことこそが難しい部分であり——そこでほとんどの人がお金を失います。

良いニュースは、その障壁がもはやデータやコンピューティングへのアクセスではないことです。GaiaEx のようなプラットフォームは、Hyperliquid L1 上のリアルタイムおよび過去の市場データへの API アクセスを提供しているため、どんな開発者でも ML が必要とするデータセットを収集できます。残る障壁は知識であり——それこそがこのレッスンが提供するものです。

3つの流派:教師あり学習、教師なし学習、強化学習

機械学習は1つの技術ではなく——それぞれ異なる問題に適した、一族のアプローチです。金融においては、3つの主要な流派すべてに実際の応用があります。

教師あり学習は主力です。ラベル付きの例——既知の結果(ターゲット)と対になった過去の特徴ベクトル(入力)——をモデルに与え、片方から他方へのマッピングを学習させます。金融での用途では、2つのサブタイプが支配的です。

  • 分類カテゴリを予測する。その資産は次の1時間で上がるか下がるか?このトランザクションは不正か?出力は離散的なラベルで、通常は確率が付随します。
  • 回帰連続値を予測する。1時間後のリターンはどうなるか?公正なファンディングレートは何か?出力は数値であり、モデルは予測誤差を最小化します。

教師なし学習ラベルなしでデータの構造を見つけます。K-Means のようなクラスタリングアルゴリズムは、取引日をトレンド型、平均回帰型、高ボラティリティ型といった市場レジームに、あなたがそれらのレジームを事前に定義することなくグループ化できます。PCA のような次元削減は、数百の相関する特徴量を、独立した少数の因子に圧縮します。これは、特徴量のセットがサンプルの深さより広い場合に重要になります。

強化学習(RL)は、累積報酬を最大化することで一連の意思決定を行うエージェントを訓練します。エージェントは環境(市場)と相互作用し、行動(買う、売る、保持する)を取り、フィードバック(利益または損失)を受け取ります。RL はポートフォリオ配分や注文執行において魅力的です。最適な行動が、現在のポジション、取引コスト、市場インパクトに依存する場面です。DeepMind のゲームプレイエージェントは金融 RL 研究の波を呼び起こしましたが、実践的な結果はいまも玉石混淆です。市場が非定常であり、「ゲーム」がプレイ中にルールを変え続けるためです。

どこから始めるべきか? 疑問の余地なく教師あり学習です。最も成熟したツール、最も解釈可能な結果、そして最も誠実な検証手法を備えています。まず分類と回帰を習得し——それからレジーム検出のための教師なしクラスタリングと執行のための RL を探求しましょう。RL に直接飛び込むのは、立つ前に走ろうとするクオンツの等価行為です。
Supervised learning (tabular finance) Features X OHLCV, indicators Model f RF, GBM, NN… ŷ class / return vs y label Loss L(ŷ, y) — minimize on train; validate on future data only Never shuffle time — walk-forward or purged CV
教師あり学習は特徴量とラベルを対にする。仕事は一般化することであり、バーを記憶することではない。

特徴量エンジニアリング:生データを予測的なシグナルに変える

機械学習において、特徴量とは、モデルが予測を行うために使う入力変数です。生の OHLCV データは出発点ですが、生の価格をそのままモデルに入力するのは、シェフに小麦粉ではなく小麦をそのまま渡すようなものです——まず加工する必要があります。特徴量エンジニアリングは、専門知識とデータサイエンスが交わる場所であり、動くモデルと使えないモデルの違いを生み出す要因として、アルゴリズムの選択よりもはるかに重要であることが多いのです。

金融 ML で一般的な特徴量のカテゴリには次のものがあります。

  • テクニカル指標 — RSI、MACD、ボリンジャーバンドの幅、ATR、ADX。これらはモメンタム、ボラティリティ、トレンドの強さを、標準化された、スケールに依存しない入力としてエンコードします。
  • ラグ特徴量 — 複数のホライズン(1バー、5バー、20バー、60バー)にわたる過去のリターンで、異なる時間スケールでのモメンタムと平均回帰を捉えます。
  • ボラティリティ指標 — ローリング標準偏差、Parkinson ボラティリティ(高値/安値から算出)、Garman-Klass 推定量。ボラティリティのクラスタリングは、金融全体で最も信頼できる定性的事実の1つです。
  • 出来高の特徴量 — 出来高比率(現在対平均)、オンバランスボリューム、出来高と価格の相関。異常な出来高は、しばしば価格の動きに先行します。
  • クロスアセット特徴量 — ETH を予測する際の入力として BTC のリターンを使う。資産間の相関の変化は、しばしば価格より先にレジームの変化を示唆します。

Python での特徴量エンジニアリングの実践的な例です。

import pandas as pd
import numpy as np

def engineer_features(df: pd.DataFrame) -> pd.DataFrame:
    df["return_1h"] = df["close"].pct_change(1)
    df["return_4h"] = df["close"].pct_change(4)
    df["return_24h"] = df["close"].pct_change(24)
    df["volatility_24h"] = df["return_1h"].rolling(24).std()
    df["rsi_14"] = compute_rsi(df["close"], 14)
    df["volume_ratio"] = df["volume"] / df["volume"].rolling(24).mean()
    df["atr_14"] = compute_atr(df, 14)
    return df.dropna()

2つのルールは絶対に守らなければなりません。第一に、未来のデータを絶対に使わないこと——すべての特徴量は、予測の瞬間に利用可能な情報から計算可能でなければなりません。「利益の出る戦略を発見する」最もよくある方法は、うっかり明日の数字を今日の特徴量に漏れ込ませてしまうことです。第二に、入力を正規化すること。ほとんどの ML モデルは、特徴量が大きく異なるスケールに及ぶと(60,000 の価格の隣に 30 の RSI がある、など)機能不全に陥ります。

金融 ML の8割2割: 優れた特徴量に対する平凡なモデルは、生の価格に対する優れたモデルに常に勝ります。最新のニューラルネットワークのアーキテクチャを追いかけるのではなく、ここに努力を注ぎましょう。強く、リークのない特徴量こそが、実際に持続するエッジが生まれる場所です。

最も重要なセクション:時系列での検証

このレッスン全体から1つだけ覚えるとしたら、これにしてください。標準的な ML の検証手法は、金融市場に対して致命的に間違っているということです。

通常の機械学習では、データをランダムにシャッフルして訓練セットとテストセットに分割します。時系列の価格データでそれを行うと、モデルに未来で訓練させて過去を予測させることになります。精度は素晴らしく見えるでしょう。ライブトレーディングは虐殺になるでしょう。この1つの誤り——先読みバイアス(look-ahead bias)として知られています——は、どんな市場のクラッシュよりも多くのクオンツ戦略を破綻させてきました。正しいアプローチは常に時間の矢を尊重します。

時系列順の訓練/検証/テスト分割。 日付でデータを分割します。2020〜2022年で訓練し、2023年で検証し、2024年でテストします。テストセットは正確に一度だけ触れます——それが実際のライブトレーディングのシミュレーションです。それに対してハイパーパラメータを調整した瞬間、それはテストセットであることをやめ、あなたはアウト・オブ・サンプルの性能に対する誠実な推定を失います。

ウォークフォワード検証(拡張型またはスライディングウィンドウ型)はより頑健です。1〜12ヶ月目で訓練し、13ヶ月目を予測します。次に1〜13ヶ月目(または2〜13ヶ月目)で訓練し、14ヶ月目を予測します。これを繰り返します。これにより、モデルが一度も見たことのないデータに対する多くのアウト・オブ・サンプル予測が生成され、変化する条件に適応しながら——実際に戦略がどう展開・再訓練されるかを反映します。

パージ済みクロスバリデーション(Marcos López de Prado が導入)は、訓練フォールドとテストフォールドの間にギャップを追加し、重複するラベルを通じた情報リークを防ぎます。ターゲットが24時間先のリターンなら、フォールドの境界近くの観測値は情報を共有しています。パージギャップはその汚染を取り除きます。テストフォールドの後の追加の「エンバーゴ」期間は、系列相関が訓練データに戻ってしまうことを防ぎます。

最後に、モデルは教科書ではなくお金にとって意味のある指標で評価しましょう。正解率だけでは誤解を招きます。 正解率51%でも大きな値動きを当てるモデルは大いに利益を生む可能性がありますが、正解率70%でも小さな値動きしか当てないモデルは手数料後に損失を出すことがあります。方向性の判断におけるプレシジョン(精度)、その戦略のシャープレシオ、そして最大ドローダウンを追跡し——常に現実的な取引コストとスリッページを差し引いた上で評価しましょう。

Walk-forward: time always flows left → right Train t₁ Val OOS hold-out once Train t₁+t₂ Val OOS Train expands or slides Val purge gap if labels overlap
拡張型あるいはスライディング型のウィンドウは、実際の展開を模倣する——モデルは決して未来で訓練されない。

ランダムフォレスト、勾配ブースティング、そして正しいモデルの選び方

OHLCV のローソク足、テクニカル指標、そしてエンジニアリングされた特徴量から得られる表形式の金融データにおいては、ツリーベースのアンサンブルモデルが、一貫してディープニューラルネットワークを上回ります。 これは単なる意見ではなく、確立された実証結果です(Grinsztajn et al., 2022, "Why do tree-based models still outperform deep learning on tabular data?" を参照)。画像や言語では深層学習が支配的です。特徴量の表においては、木が勝ちます。

ランダムフォレストは、各々が行と特徴量のランダムな部分集合で訓練された数百の決定木を構築し、その予測を平均します。この平均化により分散と過学習が減少します。頑健で、チューニングが最小限で済み、組み込みの特徴量重要度のランキングを提供してくれます——実際に何がモデルを動かしているかを理解するのに非常に有用です。

勾配ブースティング(XGBoost、LightGBM、CatBoost)は、木を逐次的に構築し、各々がそれまでのアンサンブルの誤りを修正していきます。これは通常ランダムフォレストより精度で勝りますが、より丁寧なチューニングを要求します。LightGBM は、多くの金融 ML 実務家にとってデフォルトの選択です。訓練が高速で、欠損値をネイティブに処理でき、数百万行にも快適にスケールします。

import lightgbm as lgb
from sklearn.model_selection import TimeSeriesSplit

model = lgb.LGBMClassifier(
    n_estimators=500,
    max_depth=6,
    learning_rate=0.05,
    subsample=0.8,
    colsample_bytree=0.8,
    min_child_samples=50,
)

tscv = TimeSeriesSplit(n_splits=5)
for train_idx, val_idx in tscv.split(X):
    model.fit(X.iloc[train_idx], y.iloc[train_idx],
              eval_set=[(X.iloc[val_idx], y.iloc[val_idx])])

深層学習にもいまだ活躍の場がありますが——それは狭い範囲です。LSTM とトランスフォーマーは、生の系列データ——ティックごとのオーダーフロー、あるいは価格をニュースやソーシャルメディアのセンチメントのテキストと融合させる場合——において、本当に価値を加えることができます。そこでは順序と文脈が、平坦な表では捨てられてしまう情報を運んでいるためです。しかしデフォルトとしてそれに手を伸ばすべきではありません。エンジニアリングされた特徴量を持つ構造化データにおいては、GaiaEx の API から取得したデータで丁寧にチューニングされた LightGBM が、ほぼ常にニューラルネットワークに勝ります——そして訓練は数時間ではなく数秒で終わります。

暗号資産において ML が実際に稼ぎ出す場面

価格予測はすべての注目を集めますが、それは市場における ML の使い方として最も難しく、最も信頼性が低いものです。最も価値のある応用のいくつかは、次のローソク足を予測することとは何の関係もありません。

  • 市場レジームの検出。 教師なしクラスタリングは、静かなトレンド型、荒っぽい平均回帰型、高ボラティリティのパニック型といった市場の状態を分類します。どのレジームにいるかを知ることで、戦略を切り替えたりサイズを減らしたりできます。これは、単一の方向性予測よりも価値があることが多いのです。
  • センチメント分析。 大規模言語モデルは、人間には不可能な規模でニュース、X(旧 Twitter)、Discord を読み、市場のムードの変化をスコア化します。研究は一貫して、センチメント信号を価格データと融合させることが、価格のみよりも暗号資産予測の精度を高めることを示しています——センチメントは暗号資産を異常に強く動かすのです。
  • 不正・操作の検出。 ここで ML は静かに際立った成果を上げています。モデルは、協調されたダンプに先行する異常な出来高とオーダーブックのパターンを発見することで、ウォッシュトレード、スプーフィング、そして典型的なポンプ・アンド・ダンプ(買い煽り売り逃げ)を発見します。異常検知モデル(LSTM、Anomaly Transformer)は、ここで古典的な ML や単純な統計的閾値を確実に上回ります。
  • 執行とスリッページのモデリング。 ML は大きな注文の市場インパクトを予測し、それをどう分割してコストを最小化するかを執行アルゴリズムが決める手助けをします。暗号資産のような24時間365日の市場では、不用意な注文が板を不利な方向に動かしてしまうため、これは直接的に損益を守ります。
  • リスクと強制決済の管理。 モデルは、現在のボラティリティを前提として、ポジションがリスク閾値を突破する確率を推定し、カスケードが起きた後ではなく起きる前にポジションのサイズを決め、ストップを設定する手助けをします。
内面化しておくべき再フレーミング: 金融における最良の ML は、しばしば価格を予測することではなく——リスクを管理し、異常を検知することです。「市場のレジームがちょうど反転した、エクスポージャーを減らせ」あるいは「このトークンの出来高はポンプの最中のように見える」と確実に伝えてくれるモデルは、価格予測器がこれまでに稼いできたよりも多くの資本を守ることができます。防御は攻撃よりも確実にスケールします。

なぜほとんどの ML 戦略は失敗するのか——それが教えてくれること

誠実な教育とは、たいてい起こってしまう失敗の仕方を名指しすることを意味します。次の落とし穴は、あらゆる下落相場を合わせたよりも多くのクオンツ戦略を破壊してきました。

  • 過学習。 モデルは、一般化できる何かを学ぶ代わりに訓練データを記憶します。その治療法は巧妙さではなく規律です——よりシンプルなモデル、より少ない特徴量、正則化、そして容赦のないアウト・オブ・サンプルテストです。バックテストが良すぎて本当とは思えないなら、その通り本当ではないのです。
  • 先読みバイアス。 意思決定の時点で利用可能でなかった情報を使うこと——分割前の全データセットで特徴量を計算する、事後的に修正された価格を使う、あるいは(誰もが認める以上によくある)ターゲット変数を特徴量セットに残してしまうことです。
  • 生存者バイアス。 今日まだ存在している資産だけで訓練すること。上場廃止になったトークン、ラグプルされたプロジェクト、死んだコインはデータセットから静かに欠落しており、すべての結果を上方にバイアスさせます。暗号資産ではこれが深刻です——数千のトークンがゼロになってきました。
  • 非定常性。 市場の分布は変化します。2021年のブル市場で訓練されたモデルは、2022年のベア市場で失敗します。学習したルールがもはや成り立たないからです。「設定して忘れる」のではなく、定期的に再訓練し、分布のドリフトを監視しなければなりません。
  • 多重検定の罠。 1,000通りの戦略のバリエーションを試せば、そのいくつかは純粋な運によって輝かしく見えるでしょう。これが、あの「$4.2 million」のバックテストが生まれる仕組みです。デフレーテッド・シャープレシオのようなツールは、十分に探索したからこそ見つかった性能を割り引くために特別に存在します。
  • 研究から本番運用へのギャップ。 バックテストは摩擦のない、瞬時の約定を仮定します。実際の市場は、理論上のリターンから日常的に30〜70%を削るスリッページ、手数料、レイテンシ、市場インパクトを課し——「利益の出る」戦略をマイナスに反転させることさえあります。

このリストの背後には、より深い論点が隠れています。市場は敵対的で適応的なシステムです——本物のエッジはすべて、それをアービトラージして消し去る競争者を引き寄せます。1年間勝ち続けたモデルが、それが混雑したその月に、そのコードに何の欠陥もなく機能しなくなることがあります。これが、成功しているクオンツ運用が1つの完璧なモデルを探すのではなく、市場が進化するにつれてエッジを見つけ、検証し、引退させ続けるパイプラインを構築する理由です。

誠実な結論: ML はあなたに金を刷る機械を渡してくれるわけではありません。それを売る者は、過学習したバックテストを売っているのです。それがあなたに与えてくれるのは、小さな本物のエッジを見つけ——同じくらい重要なことですが——それがあなたにコストを課す前に偽のエッジを拒否するための、厳密で再現可能なプロセスです。規律こそがアルファなのです。

GaiaEx で構築する:あなたの最初のエンド・トゥ・エンドのプロジェクト

あなたが読んできたすべてのクオンツのスキルは、まず1つのことに依存しています。それはクリーンで信頼できるデータです。ここで GaiaEx があなたの ML ワークフローに関わってきます。取引がHyperliquid L1上で執行されるため、すべての約定、ファンディングレート、オーダーブックの変化がオンチェーンに記録され、GaiaEx の API を通じて公開されます——多くの中央集権的なデータフィードを悩ませる欠落や静かな修正のない、透明で粒度の細かい、リアルタイムかつ過去のデータを得られるのです。

ML にとってオンチェーンデータが重要な理由: モデルはその入力と同じだけしか誠実ではありません。訓練データがブラックボックスの内部データベースではなく透明な L1 から来ている場合、学習している価格と出来高が、実際に取引された価格と出来高であることを信頼できます。それにより、特徴量に届く前の、微妙なデータ整合性のバグの全カテゴリが取り除かれます。

あなたの最初のプロジェクトは意図的にシンプルであるべきです。 目標は最初の試みで市場を打ち破ることではなく——反復できる、リークのない完全なパイプラインを構築することです。ここに具体的なロードマップを示します。

  • GaiaEx の API から BTC/USDC の1時間ローソク足データを収集する——少なくとも6ヶ月分。
  • 10〜15個の特徴量をエンジニアリングする。ラグリターン、RSI、ATR、出来高比率、ボリンジャーバンドの幅など。
  • 各バーにラベルを付ける。次の4時間のリターンが正なら1、そうでなければ0
  • ウォークフォワード検証を使って LightGBM の分類器を訓練する——ランダム分割は絶対に使わない。
  • モデルが1を予測したときにロングになる単純な戦略について、現実的な手数料を差し引いたあとで、プレシジョン、リコール、シャープレシオを評価する。

そのあと——これが初心者が省略してしまう部分です——それを壊してみることを試みましょう。パージギャップを追加して、あなたのエッジが生き残るか確認しましょう。どの特徴量が密かに未来をリークしていないか確認しましょう。別の時間帯でテストしましょう。精査のもとでエッジが蒸発するなら、あなたは本当に価値のあることを学んだのです——それは本物ではなかったのだと、あなたの資本ではなく無料で発見できたということです。

パイプラインこそがプロダクトです。 データ収集、特徴量エンジニアリング、検証、そして誠実な評価——その機械こそが積み重なっていくものです。アルファは1つの幸運なモデルからではなく、数ヶ月かけてそれを洗練させることから生まれます。GaiaEx は透明なデータと L1 での執行を与えてくれます。厳密さはあなた自身にかかっており——それはあらゆるクオンツトレーディングの中で最も転用可能なスキルです。