qbuntuqbuntu

Risk Parity / Volatility Targeting Overlay (JP All Stocks)

slug: risk-parity-jp-all
performance summary
Sharpe (median)
-0.20
Max DD
-25.8%
Win rate
Alpha (ann.)
p-value
0.63
backtest period: 2022-05-022026-02-02
Sharpe across 384 grid runs:median -0.20best 0.26 (not representative)worst -0.93p25–p75 -0.55-0.04

Hypothesis

Sizing positions inversely proportional to their recent volatility. Testing on the full Japanese stock universe.

Why it didn't work

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

Facts (5)

Best grid Sharpe ratio is 0.26 (p=0.61).
period 2022-05-02–2026-02-02; cost=5bps
sharpe_ratio0.26
Median Sharpe across 384 grid runs is -0.20.
Full grid of 384 parameter combinations.
sharpe_ratio-0.20
Median Sharpe in DOWN regime is -0.31 across 384 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.31
Median Sharpe in FLAT regime is -0.22 across 384 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.22
Median Sharpe in UP regime is -0.49 across 384 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.49

Runs (30)

runparamssharpeUPFLATDOWN
target_vol=0.1, vol_lookback=10, holding_days=5, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-all-0000
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_60"
+0.22+0.29+0.19+0.41
target_vol=0.1, vol_lookback=10, holding_days=5, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-all-0001
cost_bps: 10
target_vol: 0.1
base_signal: "momentum_60"
+0.04+0.09+0.02+0.21
target_vol=0.1, vol_lookback=10, holding_days=5, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-all-0002
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_120"
-0.24-0.30-0.10-1.58
target_vol=0.1, vol_lookback=10, holding_days=5, base_signal=mean_reversion, cost_bps=5
r-risk-parity-jp-all-0004
cost_bps: 5
target_vol: 0.1
base_signal: "mean_reversion"
-0.49-1.04-0.29-0.70
target_vol=0.1, vol_lookback=10, holding_days=60, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-all-0018
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_60"
-0.03+1.13-0.12-1.25
target_vol=0.1, vol_lookback=10, holding_days=60, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-all-0020
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_120"
-0.71-0.32-1.15+0.47
target_vol=0.1, vol_lookback=20, holding_days=20, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-all-0036
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_60"
+0.03+2.22-0.53-0.68
target_vol=0.1, vol_lookback=40, holding_days=5, base_signal=mean_reversion, cost_bps=5
r-risk-parity-jp-all-0052
cost_bps: 5
target_vol: 0.1
base_signal: "mean_reversion"
-0.40-1.31-0.01-1.15
target_vol=0.1, vol_lookback=40, holding_days=60, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-all-0068
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_120"
-0.80-0.63-1.12+0.40
target_vol=0.1, vol_lookback=60, holding_days=5, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-all-0072
cost_bps: 5
target_vol: 0.1
base_signal: "momentum_60"
+0.26+0.26+0.30-0.35
target_vol=0.1, vol_lookback=60, holding_days=20, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-all-0085
cost_bps: 10
target_vol: 0.1
base_signal: "momentum_60"
0.00+1.83-0.52-0.34
target_vol=0.15, vol_lookback=10, holding_days=5, base_signal=mean_reversion, cost_bps=10
r-risk-parity-jp-all-0101
cost_bps: 10
target_vol: 0.15
base_signal: "mean_reversion"
-0.68-1.23-0.49-0.81
target_vol=0.15, vol_lookback=10, holding_days=60, base_signal=momentum_120, cost_bps=10
r-risk-parity-jp-all-0117
cost_bps: 10
target_vol: 0.15
base_signal: "momentum_120"
-0.75-0.36-1.20+0.45
target_vol=0.15, vol_lookback=20, holding_days=20, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-all-0133
cost_bps: 10
target_vol: 0.15
base_signal: "momentum_60"
-0.07+2.11-0.63-0.90
target_vol=0.15, vol_lookback=20, holding_days=60, base_signal=momentum_120, cost_bps=10
r-risk-parity-jp-all-0141
cost_bps: 10
target_vol: 0.15
base_signal: "momentum_120"
-0.93-0.58-1.32+0.28
target_vol=0.15, vol_lookback=40, holding_days=10, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-all-0150
cost_bps: 5
target_vol: 0.15
base_signal: "momentum_60"
-0.05+0.81-0.29-0.17
target_vol=0.15, vol_lookback=40, holding_days=60, base_signal=mean_reversion, cost_bps=5
r-risk-parity-jp-all-0166
cost_bps: 5
target_vol: 0.15
base_signal: "mean_reversion"
-0.14-0.83+0.06-1.32
target_vol=0.15, vol_lookback=60, holding_days=20, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-all-0182
cost_bps: 5
target_vol: 0.15
base_signal: "momentum_120"
-0.52-0.02-0.98+5.04
target_vol=0.2, vol_lookback=10, holding_days=10, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-all-0198
cost_bps: 5
target_vol: 0.2
base_signal: "momentum_60"
-0.04+1.31-0.43+0.45
target_vol=0.2, vol_lookback=10, holding_days=60, base_signal=mean_reversion, cost_bps=5
r-risk-parity-jp-all-0214
cost_bps: 5
target_vol: 0.2
base_signal: "mean_reversion"
-0.25-0.53-0.08-3.62
target_vol=0.2, vol_lookback=20, holding_days=20, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-all-0230
cost_bps: 5
target_vol: 0.2
base_signal: "momentum_120"
-0.72-0.32-1.20+8.17
target_vol=0.2, vol_lookback=40, holding_days=10, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-all-0246
cost_bps: 5
target_vol: 0.2
base_signal: "momentum_60"
-0.05+0.81-0.29-0.17
target_vol=0.2, vol_lookback=40, holding_days=60, base_signal=mean_reversion, cost_bps=5
r-risk-parity-jp-all-0262
cost_bps: 5
target_vol: 0.2
base_signal: "mean_reversion"
-0.14-0.83+0.06-1.32
target_vol=0.2, vol_lookback=60, holding_days=20, base_signal=momentum_120, cost_bps=5
r-risk-parity-jp-all-0278
cost_bps: 5
target_vol: 0.2
base_signal: "momentum_120"
-0.52-0.02-0.98+5.04
target_vol=0.3, vol_lookback=10, holding_days=5, base_signal=momentum_60, cost_bps=5
r-risk-parity-jp-all-0288
cost_bps: 5
target_vol: 0.3
base_signal: "momentum_60"
+0.22+0.29+0.19+0.41
target_vol=0.3, vol_lookback=10, holding_days=10, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-all-0295
cost_bps: 10
target_vol: 0.3
base_signal: "momentum_60"
-0.14+1.20-0.53+0.32
target_vol=0.3, vol_lookback=10, holding_days=60, base_signal=mean_reversion, cost_bps=10
r-risk-parity-jp-all-0311
cost_bps: 10
target_vol: 0.3
base_signal: "mean_reversion"
-0.29-0.56-0.12-3.74
target_vol=0.3, vol_lookback=20, holding_days=20, base_signal=momentum_120, cost_bps=10
r-risk-parity-jp-all-0327
cost_bps: 10
target_vol: 0.3
base_signal: "momentum_120"
-0.83-0.47-1.30+7.87
target_vol=0.3, vol_lookback=40, holding_days=10, base_signal=momentum_60, cost_bps=10
r-risk-parity-jp-all-0343
cost_bps: 10
target_vol: 0.3
base_signal: "momentum_60"
-0.15+0.70-0.39-0.28
target_vol=0.3, vol_lookback=40, holding_days=60, base_signal=mean_reversion, cost_bps=10
r-risk-parity-jp-all-0359
cost_bps: 10
target_vol: 0.3
base_signal: "mean_reversion"
-0.18-0.87+0.02-1.41

Target universe

Tokyo Stock Exchange all listed (Prime/Standard/Growth), ~3747 stocks

Related strategies

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-07-29T01:08:35

Related strategies