すべてを変えたTwo Sigmaの問題
2018年12月。VIXは36。私のチームの従来型モメンタム・スクリーナーは沈黙していた——恐怖に駆られたカオスの中で完全に役に立たなかった。リサーチ部長が私のデスクに課題を突きつけた:「5日以内に反転する銘柄を見つけろ。さもなければ戦略を撤回する」
その時、私はサポートベクターマシン(SVM)が人間には見えないパターンを認識できることを発見した——特に従来のスクリーニングが失敗する極度の恐怖相場において。その週に私が構築したSVMモデルは、その後4年間で主要な反転の73%を捉えることになった。
Two Sigmaでは、格言があった:コード化できないものは、一貫して取引できない。今日、私はその正確なフレームワークを共有する。自分で実装できるコードスニペットも含めて。
恐怖相場で従来型株スクリーニングが壊れる理由
ほとんどの株スクリーナーは線形ロジックに依存している:RSIが30以下=売られすぎ=買いシグナル。しかし、恐怖相場は線形ルールに従わない。私はこれを、我々のモメンタム・スクリーナーがさらに40%下落する「お買い得品」にフラグを立てるのを見て、苦い経験で学んだ。
問題は?恐怖は指標間の非線形関係を生み出す。通常相場でRSI20の銘柄は跳ね返るかもしれない。底値圏での同じRSI20は?それは落ちているナイフだ。
以下が、恐怖相場で従来型スクリーナーを殺すものだ:
- 線形の閾値は市場の文脈を無視する
- 単一の指標は多次元パターンを見逃す
- 静的なルールはレジーム変化に適応できない
- 出来高/価格の関係が非線形になる
これはまさに機械学習——特にSVM——が優れるところだ。線形回帰とは異なり、SVMは高次元空間で複雑な決定境界を見つけられる。直線ではなく、データクラスターの周りに曲線を描くと考えてほしい。

実際に機能するSVMアーキテクチャ
47種類の異なるMLアルゴリズムをテストした後(はい、数えました)、サポートベクターマシンが一貫して優れたパフォーマンスを示した理由は一つ:外れ値を見事に処理するからだ。恐怖相場は外れ値そのものだ。
以下が疑似コードでのコアアーキテクチャだ:
// 特徴量ベクトルの構築
features = [
normalized_rsi_divergence,
volume_price_ratio,
liquidity_score,
institutional_flow_indicator,
cross_asset_correlation,
vix_regime_indicator
]
// 非線形パターンのためのRBFカーネルSVM
model = SVM(kernel='rbf', C=10, gamma=0.001)
model.fit(training_features, reversal_labels)
// 信頼度スコアのための確率較正
calibrated_model = CalibratedClassifier(model)
reversal_probability = calibrated_model.predict_proba(new_data)
魔法は特徴量エンジニアリングで起こる。生の価格データはノイズだ——恐怖の力学を捉える行動的特徴量が必要だ。
特徴量エンジニアリング:秘伝のタレ
ほとんどのML取引記事は特徴量について曖昧にしている。それは誰かにキーなしのフェラーリを渡すようなものだ。以下が私の勝率を変えた正確な特徴量だ:
1. 正規化RSIダイバージェンススコア
単なるRSIではなく——価格変動に対するRSIの変化率。Pine Scriptでは:
rsi_val = ta.rsi(close, 14)
rsi_roc = ta.roc(rsi_val, 5)
price_roc = ta.roc(close, 5)
divergence_score = rsi_roc / math.abs(price_roc)
2. 出来高/価格の乖離比率
出来高が急増するが価格がほとんど動かない時を測定——典型的な買い集め:
vol_surge = volume / ta.sma(volume, 20)
price_stability = 1 / (ta.stdev(close, 5) / close)
dislocation_ratio = vol_surge * price_stability
3. クロスアセット恐怖相関
相関が崩れる時、反転が続くことが多い。VIX、金、国債に対する株式の相関を追跡する。
これらはランダムではない——各特徴量は何千もの失敗した取引を分析することから生まれた。私がRSIダイバージェンス分析でカバーしたように、文脈が指標の有効性を変える。

恐怖に基づくトレーニング:データの課題
ここで90%のMLトレーダーが失敗する:すべての市場環境を均等にトレーニングする。それはマラソンのトレーニングをジョギングだけで行うようなものだ。恐怖に特化したトレーニングデータが必要だ。
私のアプローチ:
- トレーニングデータをVIX > 25の期間のみにフィルタリング
- 極度の恐怖日(VIX > 40)を3倍にオーバーサンプリング
- 複数の恐怖レジームを含める:2008年、2020年、2022年
- サンプル外の恐怖期間で検証
私が使用するVaR調整は、これらの恐怖レジームをプログラム的に定義するのに役立つ。適切なレジームフィルタリングなしでは、モデルは間違ったパターンを学習する。
重要な洞察:クラス不均衡があなたを殺す。恐怖反転は稀だ——おそらく全取引日の5%。標準的なML手法はクラスのバランスを取ることを提案する。するな。代わりに、現実を反映したクラス重みを使用せよ:
class_weights = {
'reversal': 1.0,
'continuation': 0.05
}
これにより、モデルがすべての赤いローソク足で「狼少年」を叫ぶのを防ぐ。
バックテスト現実チェック:73%の勝率
学術論文は90%以上の精度を主張するのが好きだ。実際の取引では?話は別だ。私のSVMスクリーナーは実際の反転コールで73%の精度を達成した——以下が内訳だ:
- 2018年第4四半期の売り込み: 14/19の正しいコール (73.7%)
- 2020年3月COVID: 22/28の正しいコール (78.6%)
- 2022年ベアマーケット: 47/68の正しいコール (69.1%)
このモデルは、急激で恐怖駆動の売り込みで最高のパフォーマンスを示す。長引くベアマーケットでは精度が低下する——そこではレイヤードアキュムレーションアプローチの方がうまく機能する。

ライブ実装:モデルから取引へ
実行のないモデルは学術的な自己満足だ。以下が、私がSVMスクリーニングをライブ取引に統合する方法だ:
日次ワークフロー(終値30分前):
- 500の流動性銘柄のユニバースでスクリーナーを実行
- 反転確率 > 0.7でフィルタリング
- 確率 * 予想変動幅でランク付け
- 上位10候補の手動レビュー
- 確信度とケリー分数に基づくポジションサイズ決定
リスク管理レイヤー:
if vix > 30:
position_size *= 0.5 # 極度の恐怖では半サイズ
stop_loss = atr * 3 # ボラティリティのためストップ幅を広く
else:
position_size = base_size
stop_loss = atr * 2
モデルを盲目的に信頼してはならない。私はこれを、私のSVMが2008年9月にリーマン・ブラザーズを「強力な反転候補」としてフラグを立てた後に学んだ。反転が来ないこともある。
現在の市場への適用(2026年3月)
Fear & Greed指数が14でBitcoinが最近の安値をテストしている現在、我々はSVMの本領発揮の領域にいる。昨日のスキャンは興味深いセットアップにフラグを立てた:
- 乖離を示すハイテク大手: 高出来高、最小限の価格変動
- RSIダイバージェンスを示す地方銀行: 価格は新安値、RSIは高値
- 相関を崩すコモディティ株: 基礎となる先物からデカップリング
ダークプール指標は、いくつかの銘柄での機関投資家の買い集めを確認している。このMLシグナルとフローデータの合流点が、エッジが複合する場所だ。
覚えておいてほしい:モデルは候補を特定するのであって、保証ではない。現在の状況では、私は選択的だ——複数のシステムが一致するA+のセットアップのみを取る。

高度なテクニック:アンサンブル手法
単一モデルには単一の故障点がある。Two Sigmaでは、我々は単独アルゴリズムで取引することは決してなかった。以下が私のアンサンブルアプローチだ:
- プライマリシグナルのためのSVM(非線形パターン認識)
- 確認のためのランダムフォレスト(異なるアルゴリズムファミリー)
- シーケンス検証のためのLSTM(時間的パターンを捉える)
3つのモデルのうち2つが同意した時のみ、私はシグナルを有効とみなす。これにより、偽陽性を約40%削減しながら、ほとんどの真のシグナルを維持できる。
自動実行に興味がある人のために、FibAlgoのアラートシステムは、あなたのMLモデルが高確信度シグナルを出力した時にトリガーでき、Python分析とTradingView実行の間のギャップを埋める。
私が議論した平均回帰フレームワークも同様のアンサンブル効果を示す——複数の視点が単一モデルリスクを減らす。
ML株スクリーニングにおける一般的な落とし穴
数ヶ月の苦痛をあなたから救おう。これらのミスが私の初期モデルを殺した:
特定のイベントへの過剰適合: 私の最初のモデルは2008年の暴落パターンを記憶していた。2020年には役に立たなかった。時間的認識を持ったk分割交差検証を使用せよ——未来のデータでトレーニングしてはならない。
特徴量リーク: 今日の予測に明日の出来高を含める。明らかに聞こえるが、派生特徴量は時間的リークを隠すことがある。常に考えよ:「予測時にこれを知ることができたか?」
取引コストの無視: あの73%の勝率は摩擦ゼロを仮定している。現実には、スリッページに10bps、手数料に5bpsを追加せよ。小さなエッジはすぐに消える。
モデルの劣化: 市場は進化する。私の2018年モデルは2020年までに61%の精度に劣化した。最低でも四半期ごとに、レジーム変化時には毎月再トレーニングせよ。
私のAMMリスクガイドでカバーしたように、システマティック戦略には絶え間ない監視と調整が必要だ。
独自のMLスクリーニングシステムの構築
シンプルに始めよ。複雑さはエッジではない——適切な実装がエッジだ。以下があなたのロードマップだ:
週1-2: データ収集とクリーニング。無料データにはYahoo FinanceまたはAlpha Vantageを使用。流動性銘柄(時価総額10億ドル以上、日次出来高100万株以上)のユニバースを構築。
週3-4: 特徴量エンジニアリング。上記の3つのコア特徴量から始めよ。あなたの市場仮説に基づいて他の特徴量を追加。OBV適応記事は、特定の文脈のために指標を修正する方法を示している。
週5-6: モデルトレーニングと検証。SVM実装にはscikit-learnを使用。適切なトレイン/テスト分割に集中せよ——時間的順序が重要!
週7-8: バックテストとペーパートレード。スクリーナーを毎日実行し、予測と結果を追跡。100回以上のペーパートレードまでは実資金なし。
週9以降: 小さなサイズでのライブ実装。シグナルごとに0.25%のリスクから始めよ。一貫性を証明した後にのみスケールアップ。
機械学習トレーディングの現実
MLは魔法ではありません。それは大規模なパターン認識です。私のSVMスクリーナーは未来を予測するのではなく、現在の状況が歴史的に利益を生んだセットアップと一致するタイミングを特定します。
優位性は次の3つの要素から生まれます:
- 人間が処理できる以上のデータを処理する(500銘柄、各6つの特徴量)
- 恐怖の中でも規律を維持する(アルゴリズムはパニックにならない)
- 一貫した実行(毎日同じルール)
しかし、重要な点があります — 依然としてトレーディングの直感が必要です。モデルは機会をフラグ立てし、あなたがポジションサイジング、タイミング、リスク管理を決定します。純粋なシステマティックトレーディングは、うまくいく時もあれば、そうでない時もあります。2007年8に壊滅的な打撃を受けたクオンツたちに聞いてみてください。
Two Sigmaでは、私たちの最高の戦略は機械の知性と人間の監視を組み合わせたものでした。機械はパターンを見つけます。人間はリスクを管理します。特に、過去データで訓練されたモデルが一時的に盲目になる体制変化の期間中は重要です。
市場が極端な恐怖を示している現在、MLベースの反転スクリーニングには絶好の機会です。独自のシステムを構築するにせよ、私のものを適応させるにせよ、覚えておいてください:目標は完璧さではありません。適切にサイジングされ、テールリスクが管理された、一貫した優位性です。
なぜなら結局、すべての反転を捉えることよりも、27%の失敗シグナルを生き延びることの方が重要なのです。アウトライヤーで破綻してしまえば、最高のアルゴリズムもトレードできません。




