qbuntuqbuntu

Risk Parity / Volatility Targeting Overlay (JP Growth Stocks)

slug: risk-parity-jp-growth
performance summary
Sharpe (median)
-0.45
Max DD
-38.8%
Win rate
Alpha (ann.)
p-value
0.34
backtest period: 2022-05-022026-06-01
Sharpe across 384 grid runs:median -0.45best 0.47 (not representative)worst -1.01p25–p75 -0.67-0.13

Hypothesis

Sizing positions inversely proportional to their recent volatility improves Sharpe ratio (risk parity principle). Tests vol-targeting as a position sizing overlay on momentum and mean-reversion base signals.

Why it didn't work

Across 384 grid combinations, median Sharpe=-0.45, best=0.47. Primary failure mode: no_edge.

Facts (7)

Average monthly return correlation with other strategies in DOWN regime: 0.14
Pairwise Pearson correlation of monthly returns across 42 strategies, filtered to DOWN regime months (N=3, N225 < SMA20 < SMA60)
correlation0.14
Average monthly return correlation with other strategies (full period): 0.00
Pairwise Pearson correlation of monthly returns across 42 strategies, full backtest period
correlation0.00
Best grid Sharpe ratio is 0.47 (p=0.34).
period 2022-05-02–2026-06-01; cost=5bps
sharpe_ratio0.47
Median Sharpe across 384 grid runs is -0.45.
Full grid of 384 parameter combinations.
sharpe_ratio-0.45
Median Sharpe in DOWN regime is -1.53 across 384 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-1.53
Median Sharpe in FLAT regime is -0.23 across 384 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.23
Median Sharpe in UP regime is -0.32 across 384 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.32

Runs (30)

runparamssharpeUPFLATDOWN
target_vol=0.1, vol_lookback=10, holding_days=5, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-growth-0000
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_60"
-0.31+0.06-0.43-0.49
target_vol=0.1, vol_lookback=10, holding_days=5, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-growth-0001
cost_bps: 10
target_vol: 0.1
base_signal: "momentum_60"
-0.41-0.04-0.53-0.57
target_vol=0.1, vol_lookback=10, holding_days=5, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-growth-0002
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_120"
-0.69+0.39-1.15-0.57
target_vol=0.1, vol_lookback=10, holding_days=5, base_signal=mean_reversion, cost_bps=5
r-risk-parity-jp-growth-0004
cost_bps: 5
target_vol: 0.1
base_signal: "mean_reversion"
-0.62-1.36-0.21-2.60
target_vol=0.1, vol_lookback=10, holding_days=60, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-growth-0018
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_60"
+0.15+0.72+0.10-0.85
target_vol=0.1, vol_lookback=10, holding_days=60, base_signal=momentum_120, cost_bps=10
r-risk-parity-jp-growth-0021
cost_bps: 10
target_vol: 0.1
base_signal: "momentum_120"
-0.38-0.18-0.22-2.51
target_vol=0.1, vol_lookback=20, holding_days=20, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-growth-0038
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_120"
-0.45-0.15-0.40-2.02
target_vol=0.1, vol_lookback=40, holding_days=10, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-growth-0055
cost_bps: 10
target_vol: 0.1
base_signal: "momentum_60"
0.00+0.19+0.07-1.33
target_vol=0.1, vol_lookback=60, holding_days=5, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-growth-0072
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_60"
-0.57-0.59-0.59-0.29
target_vol=0.1, vol_lookback=60, holding_days=5, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-growth-0073
cost_bps: 10
target_vol: 0.1
base_signal: "momentum_60"
-0.67-0.68-0.70-0.35
target_vol=0.1, vol_lookback=60, holding_days=10, base_signal=mean_reversion, cost_bps=10
r-risk-parity-jp-growth-0083
cost_bps: 10
target_vol: 0.1
base_signal: "mean_reversion"
-1.01-3.25-0.36-3.06
target_vol=0.1, vol_lookback=60, holding_days=60, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-growth-0091
cost_bps: 10
target_vol: 0.1
base_signal: "momentum_60"
+0.11+0.43+0.08-0.61
target_vol=0.15, vol_lookback=10, holding_days=20, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-growth-0108
cost_bps: 5
target_vol: 0.15
base_signal: "momentum_60"
+0.11+0.65+0.02-0.46
target_vol=0.15, vol_lookback=20, holding_days=5, base_signal=mean_reversion, cost_bps=10
r-risk-parity-jp-growth-0125
cost_bps: 10
target_vol: 0.15
base_signal: "mean_reversion"
-0.70-1.41-0.33-2.49
target_vol=0.15, vol_lookback=20, holding_days=60, base_signal=mean_reversion, cost_bps=5
r-risk-parity-jp-growth-0142
cost_bps: 5
target_vol: 0.15
base_signal: "mean_reversion"
-0.11-0.30+0.11-1.71
target_vol=0.15, vol_lookback=40, holding_days=20, base_signal=momentum_120, cost_bps=10
r-risk-parity-jp-growth-0159
cost_bps: 10
target_vol: 0.15
base_signal: "momentum_120"
-0.68-0.45-0.58-2.38
target_vol=0.15, vol_lookback=60, holding_days=10, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-growth-0176
cost_bps: 5
target_vol: 0.15
base_signal: "momentum_120"
-0.47-0.01-0.41-4.07
target_vol=0.2, vol_lookback=10, holding_days=5, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-growth-0193
cost_bps: 10
target_vol: 0.2
base_signal: "momentum_60"
-0.41-0.03-0.53-0.57
target_vol=0.2, vol_lookback=10, holding_days=60, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-growth-0210
cost_bps: 5
target_vol: 0.2
base_signal: "momentum_60"
+0.15+0.72+0.10-0.85
target_vol=0.2, vol_lookback=20, holding_days=10, base_signal=mean_reversion, cost_bps=10
r-risk-parity-jp-growth-0227
cost_bps: 10
target_vol: 0.2
base_signal: "mean_reversion"
-0.81-3.02-0.15-3.63
target_vol=0.2, vol_lookback=40, holding_days=5, base_signal=mean_reversion, cost_bps=5
r-risk-parity-jp-growth-0244
cost_bps: 5
target_vol: 0.2
base_signal: "mean_reversion"
-0.60-1.49-0.23-1.20
target_vol=0.2, vol_lookback=40, holding_days=60, base_signal=momentum_120, cost_bps=10
r-risk-parity-jp-growth-0261
cost_bps: 10
target_vol: 0.2
base_signal: "momentum_120"
-0.49-0.59-0.28-2.93
target_vol=0.2, vol_lookback=60, holding_days=20, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-growth-0278
cost_bps: 5
target_vol: 0.2
base_signal: "momentum_120"
-0.62-0.29-0.53-2.58
target_vol=0.3, vol_lookback=10, holding_days=5, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-growth-0288
cost_bps: 5
target_vol: 0.3
base_signal: "momentum_60"
-0.30+0.07-0.42-0.49
target_vol=0.3, vol_lookback=10, holding_days=10, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-growth-0294
cost_bps: 5
target_vol: 0.3
base_signal: "momentum_60"
+0.47+1.01+0.47-1.30
target_vol=0.3, vol_lookback=10, holding_days=10, base_signal=momentum_120, cost_bps=10
r-risk-parity-jp-growth-0297
cost_bps: 10
target_vol: 0.3
base_signal: "momentum_120"
0.00+0.14+0.09-4.28
target_vol=0.3, vol_lookback=20, holding_days=5, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-growth-0314
cost_bps: 5
target_vol: 0.3
base_signal: "momentum_120"
-0.61+0.26-1.01+0.05
target_vol=0.3, vol_lookback=20, holding_days=60, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-growth-0331
cost_bps: 10
target_vol: 0.3
base_signal: "momentum_60"
+0.03+0.18+0.03-0.51
target_vol=0.3, vol_lookback=40, holding_days=20, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-growth-0348
cost_bps: 5
target_vol: 0.3
base_signal: "momentum_60"
-0.46-0.45-0.46-0.47
target_vol=0.3, vol_lookback=60, holding_days=5, base_signal=mean_reversion, cost_bps=10
r-risk-parity-jp-growth-0365
cost_bps: 10
target_vol: 0.3
base_signal: "mean_reversion"
-0.79-1.62-0.46-1.10

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