qbuntuqbuntu
marginalregime_dependent· equity· composite· cross-sectional· multi-factor

Multi-Factor Composite (JP Growth Stocks)

slug: multi-factor-jp-growth
performance summary
Sharpe (median)
+0.23
Max DD
-21.6%
Win rate
Alpha (ann.)
p-value
0.49
backtest period: 2022-02-012026-06-01
Sharpe across 240 grid runs:median 0.23best 1.95 (not representative)worst -0.62p25–p75 -0.030.55

Hypothesis

Combines signals from marginal/promising single factors (short-term reversal, low volatility, max return, mean reversion) into a z-scored composite. Tests whether combining weak signals produces a stronger overall signal.

Why it didn't work

Across 240 grid combinations, median Sharpe=0.23, best=1.95. Primary failure mode: regime_dependent.

Facts (7)

Average monthly return correlation with other strategies in DOWN regime: 0.17
Pairwise Pearson correlation of monthly returns across 42 strategies, filtered to DOWN regime months (N=3, N225 < SMA20 < SMA60)
correlation0.17
Average monthly return correlation with other strategies (full period): 0.05
Pairwise Pearson correlation of monthly returns across 42 strategies, full backtest period
correlation0.05
Best grid Sharpe ratio is 1.95 (p=0.00012).
period 2022-02-01–2026-06-01; cost=5bps
sharpe_ratio1.95
Median Sharpe across 240 grid runs is 0.23.
Full grid of 240 parameter combinations.
sharpe_ratio0.23
Median Sharpe in DOWN regime is 3.07 across 240 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio3.07
Median Sharpe in FLAT regime is 0.26 across 240 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio0.26
Median Sharpe in UP regime is -0.28 across 240 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.28

Runs (30)

runparamssharpeUPFLATDOWN
n_factors=2, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0000
cost_bps: 5
n_stocks: 5
n_factors: 2
+1.34+2.50+0.87+15.95
n_factors=2, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-multi-factor-jp-growth-0001
cost_bps: 5
n_stocks: 5
n_factors: 2
+0.97+0.30+0.87+15.95
n_factors=2, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0002
cost_bps: 10
n_stocks: 5
n_factors: 2
+1.21+2.31+0.75+15.48
n_factors=2, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-multi-factor-jp-growth-0003
cost_bps: 10
n_stocks: 5
n_factors: 2
+0.85+0.19+0.75+15.48
n_factors=2, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0012
cost_bps: 5
n_stocks: 50
n_factors: 2
+0.27-0.46+0.50+3.06
n_factors=2, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0014
cost_bps: 10
n_stocks: 50
n_factors: 2
-0.18-0.84+0.03+1.97
n_factors=2, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0024
cost_bps: 5
n_stocks: 20
n_factors: 2
+0.08-0.32+0.20+3.49
n_factors=2, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0034
cost_bps: 10
n_stocks: 5
n_factors: 2
+0.07-0.70+0.24+6.04
n_factors=2, holding_days=10, n_stocks=50, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0044
cost_bps: 5
n_stocks: 50
n_factors: 2
-0.27-2.31+0.23-0.99
n_factors=2, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0054
cost_bps: 10
n_stocks: 10
n_factors: 2
-0.02-0.58+0.04+1.80
n_factors=2, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0064
cost_bps: 5
n_stocks: 5
n_factors: 2
+0.29+0.24+0.29+0.54
n_factors=2, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=True
r-multi-factor-jp-growth-0065
cost_bps: 5
n_stocks: 5
n_factors: 2
+0.24-0.10+0.29+0.54
n_factors=2, holding_days=60, n_stocks=20, cost_bps=10, regime_gate=True
r-multi-factor-jp-growth-0075
cost_bps: 10
n_stocks: 20
n_factors: 2
-0.38-1.51-0.18-2.09
n_factors=3, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0080
cost_bps: 5
n_stocks: 5
n_factors: 3
+1.95+1.97+1.66+7.44
n_factors=3, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0086
cost_bps: 10
n_stocks: 10
n_factors: 3
+1.41+0.96+1.33+12.58
n_factors=3, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0096
cost_bps: 5
n_stocks: 5
n_factors: 3
+0.85+0.35+0.79+19.79
n_factors=3, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0106
cost_bps: 10
n_stocks: 20
n_factors: 3
+0.49+0.06+0.54+6.22
n_factors=3, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0116
cost_bps: 5
n_stocks: 10
n_factors: 3
-0.18-1.31-0.02+6.25
n_factors=3, holding_days=10, n_stocks=50, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0126
cost_bps: 10
n_stocks: 50
n_factors: 3
-0.62-1.94-0.07-3.47
n_factors=3, holding_days=10, n_stocks=50, cost_bps=10, regime_gate=True
r-multi-factor-jp-growth-0127
cost_bps: 10
n_stocks: 50
n_factors: 3
-0.28-0.40-0.07-3.47
n_factors=3, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=True
r-multi-factor-jp-growth-0137
cost_bps: 5
n_stocks: 20
n_factors: 3
+0.52-0.17+0.61+1.85
n_factors=3, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=True
r-multi-factor-jp-growth-0147
cost_bps: 10
n_stocks: 5
n_factors: 3
+0.43-1.22+0.60+1.09
n_factors=3, holding_days=60, n_stocks=50, cost_bps=5, regime_gate=True
r-multi-factor-jp-growth-0157
cost_bps: 5
n_stocks: 50
n_factors: 3
-0.30-0.89-0.12-1.31
n_factors=4, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0160
cost_bps: 5
n_stocks: 5
n_factors: 4
+1.75+1.99+1.44+8.76
n_factors=4, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0168
cost_bps: 5
n_stocks: 20
n_factors: 4
+0.90+0.63+0.80+9.32
n_factors=4, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0178
cost_bps: 10
n_stocks: 5
n_factors: 4
+0.70+0.26+0.66+48.00
n_factors=4, holding_days=5, n_stocks=50, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0188
cost_bps: 5
n_stocks: 50
n_factors: 4
+0.22-0.28+0.33+1.78
n_factors=4, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0198
cost_bps: 10
n_stocks: 10
n_factors: 4
-0.24-0.99-0.13+6.03
n_factors=4, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-jp-growth-0208
cost_bps: 5
n_stocks: 5
n_factors: 4
+0.60-0.45+0.83+6.34
n_factors=4, holding_days=20, n_stocks=20, cost_bps=10, regime_gate=False
r-multi-factor-jp-growth-0218
cost_bps: 10
n_stocks: 20
n_factors: 4
+0.05-1.22+0.41+1.65

Target universe

Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-07-29T01:08:35

Related strategies