レジームゲート付き機械学習ファクター(9因子)(東証グロース)のバックテスト
ML Factor Regime-Gated 9f-base (JP Growth Stocks)
slug: ml-factor-regime-gated-9f-jp-growth
東証グロース(約495銘柄)でレジームゲート付き機械学習ファクター(9因子)をバックテストした。72通りの中央値 Sharpe は +0.50。p-value は 0.35。Max DD は -12.1%。期間は 2024-07-01〜2025-06-30。最良 Sharpe +3.85 は代表値ではない。
判定は marginal。どこかのパラメータでは p-value が 0.10 を下回るが、中央値自体は promising の基準(Sharpe > 0.5 かつ p-value < 0.05)に届いていない。主因は no_edge。レジーム・取引回数・コストには分類されず、中央値が採用ラインに届いていない。
成績の中央値
Sharpe(中央値)
+0.50
Max DD
-12.1%
勝率
—
Alpha(年率)
—
p-value
0.35
期間: 2024-07-01 → 2025-06-30
72通りの Sharpe:中央値 0.50最良 3.85 (代表値ではない)最悪 -2.98p25–p75 -1.38–1.57
仮説
原文は英語。
ML-factor (9f-base features) with UP regime exclusion removes the known UP weakness (Phase 1: UP=-0.11, FLAT=2.64, DOWN=2.31). Phase 2c H2 demonstrated FLAT-only gating improved short-term reversal from 0.33 to 0.99. The same approach applied to ml-factor has never been tested.
採用しなかった理由
Across 72 grid combinations, median Sharpe=0.50, best=3.85. Primary failure mode: no_edge.
検証ファクト (5)
Best grid Sharpe ratio is 3.85 (p=0.0022).
period 2024-07-01–2025-06-30; cost=5.0bps
cite ↗ /cite/ml-factor-regime-gated-9f-jp-growth-fact-best-sharpevia r-ml-factor-regime-gated-9f-jp-growth-0103
Median Sharpe across 72 grid runs is 0.50.
Full grid of 72 parameter combinations.
Median Sharpe in DOWN regime is 3.83 across 72 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
Median Sharpe in FLAT regime is -1.29 across 72 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
Median Sharpe in UP regime is 1.33 across 72 runs.
Regime=UP, N225 SMA20/SMA60 classification.
検証ラン (30)
| run | params | sharpe | UP | FLAT | DOWN |
|---|---|---|---|---|---|
feature_set=9f-base, regime_gate=ALL, num_leaves=7, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0001 | n_short: 10 num_leaves: 7 feature_set: "9f-base" | +1.26 | +1.83 | -0.28 | +3.25 |
feature_set=9f-base, regime_gate=ALL, num_leaves=7, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0002 | n_short: 10 num_leaves: 7 feature_set: "9f-base" | +1.62 | +2.41 | -1.44 | +10.04 |
feature_set=9f-base, regime_gate=ALL, num_leaves=7, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0004 | n_short: 20 num_leaves: 7 feature_set: "9f-base" | -0.75 | +0.28 | -2.20 | +0.17 |
feature_set=9f-base, regime_gate=ALL, num_leaves=15, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0007 | n_short: 10 num_leaves: 15 feature_set: "9f-base" | +2.25 | +4.02 | +0.44 | +2.73 |
feature_set=9f-base, regime_gate=ALL, num_leaves=15, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0010 | n_short: 20 num_leaves: 15 feature_set: "9f-base" | +0.62 | +3.30 | -1.76 | +0.90 |
feature_set=9f-base, regime_gate=ALL, num_leaves=31, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0013 | n_short: 10 num_leaves: 31 feature_set: "9f-base" | +2.09 | +2.75 | +0.60 | +3.74 |
feature_set=9f-base, regime_gate=ALL, num_leaves=31, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0014 | n_short: 10 num_leaves: 31 feature_set: "9f-base" | +0.38 | +0.73 | -1.64 | +21.08 |
feature_set=9f-base, regime_gate=ALL, num_leaves=31, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0017 | n_short: 20 num_leaves: 31 feature_set: "9f-base" | +0.22 | +0.47 | -1.37 | +18.95 |
feature_set=9f-base, regime_gate=FLAT-only, num_leaves=7, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0019 | n_short: 10 num_leaves: 7 feature_set: "9f-base" | -0.28 | — | -0.28 | — |
feature_set=9f-base, regime_gate=FLAT-only, num_leaves=7, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0022 | n_short: 20 num_leaves: 7 feature_set: "9f-base" | -2.20 | — | -2.20 | — |
feature_set=9f-base, regime_gate=FLAT-only, num_leaves=15, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0025 | n_short: 10 num_leaves: 15 feature_set: "9f-base" | +0.44 | — | +0.44 | — |
feature_set=9f-base, regime_gate=FLAT-only, num_leaves=15, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0028 | n_short: 20 num_leaves: 15 feature_set: "9f-base" | -1.76 | — | -1.76 | — |
feature_set=9f-base, regime_gate=FLAT-only, num_leaves=15, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0029 | n_short: 20 num_leaves: 15 feature_set: "9f-base" | -2.98 | — | -2.98 | — |
feature_set=9f-base, regime_gate=FLAT-only, num_leaves=31, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0032 | n_short: 10 num_leaves: 31 feature_set: "9f-base" | -1.64 | — | -1.64 | — |
feature_set=9f-base, regime_gate=FLAT-only, num_leaves=31, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0035 | n_short: 20 num_leaves: 31 feature_set: "9f-base" | -1.37 | — | -1.37 | — |
feature_set=9f-base, regime_gate=FLAT+DOWN, num_leaves=7, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0038 | n_short: 10 num_leaves: 7 feature_set: "9f-base" | -0.77 | — | -1.44 | +10.04 |
feature_set=9f-base, regime_gate=FLAT+DOWN, num_leaves=7, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0041 | n_short: 20 num_leaves: 7 feature_set: "9f-base" | -0.37 | — | -1.21 | +10.43 |
feature_set=9f-base, regime_gate=FLAT+DOWN, num_leaves=15, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0044 | n_short: 10 num_leaves: 15 feature_set: "9f-base" | -1.91 | — | -2.79 | +13.20 |
feature_set=9f-base, regime_gate=FLAT+DOWN, num_leaves=15, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0047 | n_short: 20 num_leaves: 15 feature_set: "9f-base" | -2.32 | — | -2.98 | +10.02 |
feature_set=9f-base, regime_gate=FLAT+DOWN, num_leaves=31, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0050 | n_short: 10 num_leaves: 31 feature_set: "9f-base" | -0.73 | — | -1.64 | +21.08 |
feature_set=9f-base, regime_gate=FLAT+DOWN, num_leaves=31, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0053 | n_short: 20 num_leaves: 31 feature_set: "9f-base" | -0.66 | — | -1.37 | +18.95 |
feature_set=12f-quality, regime_gate=ALL, num_leaves=7, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0055 | n_short: 10 num_leaves: 7 feature_set: "12f-quality" | +2.04 | +1.52 | +1.73 | +3.53 |
feature_set=12f-quality, regime_gate=ALL, num_leaves=7, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0058 | n_short: 20 num_leaves: 7 feature_set: "12f-quality" | +1.02 | +0.27 | +0.77 | +2.66 |
feature_set=12f-quality, regime_gate=ALL, num_leaves=15, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0061 | n_short: 10 num_leaves: 15 feature_set: "12f-quality" | +1.95 | +1.33 | +2.69 | +1.75 |
feature_set=12f-quality, regime_gate=ALL, num_leaves=15, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0064 | n_short: 20 num_leaves: 15 feature_set: "12f-quality" | +1.43 | +1.57 | +2.11 | -0.14 |
feature_set=12f-quality, regime_gate=ALL, num_leaves=31, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0067 | n_short: 10 num_leaves: 31 feature_set: "12f-quality" | +2.91 | +1.40 | +3.80 | +3.92 |
feature_set=12f-quality, regime_gate=ALL, num_leaves=31, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0070 | n_short: 20 num_leaves: 31 feature_set: "12f-quality" | +1.55 | +0.66 | +2.20 | +1.82 |
feature_set=12f-quality, regime_gate=FLAT-only, num_leaves=7, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0073 | n_short: 10 num_leaves: 7 feature_set: "12f-quality" | +1.73 | — | +1.73 | — |
feature_set=12f-quality, regime_gate=FLAT-only, num_leaves=7, n_short=20 r-ml-factor-regime-gated-9f-jp-growth-0076 | n_short: 20 num_leaves: 7 feature_set: "12f-quality" | +0.77 | — | +0.77 | — |
feature_set=12f-quality, regime_gate=FLAT+DOWN, num_leaves=31, n_short=10 r-ml-factor-regime-gated-9f-jp-growth-0103 | n_short: 10 num_leaves: 31 feature_set: "12f-quality" | +3.85 | — | +3.80 | +3.92 |
対象ユニバース
Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY
関連する戦略
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T02:22:16