qbuntuqbuntu

ML Factor Regime-Gated 12f-quality (JP Growth Stocks)

slug: ml-factor-regime-gated-12f-jp-growth

ML Factor Regime-Gated 12f-quality (JP Growth Stocks) backtest. Median Sharpe across 72 parameter sets is +0.50. p-value is 0.35. Max DD is -12.1%. Period: 2024-07-01 to 2025-06-30. Best Sharpe +3.85 is not the representative figure.

Verdict: marginal. Some parameter set has a p-value under 0.10, but the median itself misses promising (Sharpe > 0.5 and p-value < 0.05). Primary reason: no_edge. It is not regime, frequency, or cost, and the median does not clear the bar.

Performance summary

Sharpe (median)
+0.50
Max DD
-12.1%
Win rate
—
Alpha (ann.)
—
p-value
0.35
backtest period: 2024-07-01 → 2025-06-30
Sharpe across 72 grid runs:median 0.50best 3.85 (not representative)worst -2.98p25–p75 -1.38–1.57

Hypothesis

ML-factor (12f-quality 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. Tests regime gating on the strongest Phase 2c feature set.

Why it didn't work

Across 72 grid combinations, median Sharpe=0.50, best=3.85. Primary failure mode: no_edge.

Facts (5)

Best grid Sharpe ratio is 3.85 (p=0.0022).
period 2024-07-01–2025-06-30; cost=5.0bps
sharpe_ratio3.85
cite ↗ /cite/ml-factor-regime-gated-12f-jp-growth-fact-best-sharpevia r-ml-factor-regime-gated-12f-jp-growth-0103
Median Sharpe across 72 grid runs is 0.50.
Full grid of 72 parameter combinations.
sharpe_ratio0.50
Median Sharpe in DOWN regime is 3.83 across 72 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio3.83
Median Sharpe in FLAT regime is -1.29 across 72 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-1.29
Median Sharpe in UP regime is 1.33 across 72 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio1.33

Runs (30)

runparamssharpeUPFLATDOWN
feature_set=9f-base, regime_gate=ALL, num_leaves=7, n_short=10
r-ml-factor-regime-gated-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-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-12f-jp-growth-0103
n_short: 10
num_leaves: 31
feature_set: "12f-quality"
+3.85—+3.80+3.92

Target universe

Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY

Related strategies

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T02:22:16

Related strategies