qbuntuqbuntu
marginalno_edge· equity· factor· low-risk· volatility

Vol-of-Vol Stability (JP All Stocks)

slug: vol-of-vol-stability-jp-all

Vol-of-Vol Stability (JP All Stocks) backtest. Median Sharpe across 432 parameter sets is +0.25. p-value is 0.43. Max DD is -10.0%. Period: 2022-03-01 to 2026-09-01. Best Sharpe +1.51 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.25
Max DD
-10.0%
Win rate
—
Alpha (ann.)
—
p-value
0.43
backtest period: 2022-03-01 → 2026-09-01
Sharpe across 432 grid runs:median 0.25best 1.51 (not representative)worst -0.83p25–p75 -0.11–0.70

Hypothesis

Stocks with unstable volatility (high volatility-of-volatility) carry uncertainty about their own risk and tend to underperform; ranking on vol-of-vol and holding the stable side tests this risk-uncertainty premium (Baltussen et al. 2018 line of research).

Why it didn't work

Across 432 grid combinations, median Sharpe=0.25, best=1.51. Primary failure mode: no_edge.

Facts (5)

Best grid Sharpe ratio is 1.51 (p=0.0022).
period 2022-03-01–2026-09-01; cost=5bps
sharpe_ratio1.51
Median Sharpe across 432 grid runs is 0.25.
Full grid of 432 parameter combinations.
sharpe_ratio0.25
Median Sharpe in DOWN regime is 0.35 across 432 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio0.35
Median Sharpe in FLAT regime is -0.04 across 432 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.04
Median Sharpe in UP regime is 0.57 across 432 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio0.57

Runs (30)

runparamssharpeUPFLATDOWN
lookback_days_vol=10, lookback_days_vov=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-vol-of-vol-stability-jp-all-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.13-0.55+0.55+0.20
lookback_days_vol=10, lookback_days_vov=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-vol-of-vol-stability-jp-all-0001
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.70+0.28+0.97+1.00
lookback_days_vol=10, lookback_days_vov=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-vol-of-vol-stability-jp-all-0002
cost_bps: 5
n_stocks: 5
regime_gate: false
+1.36+1.90+1.21+0.36
lookback_days_vol=10, lookback_days_vov=40, n_stocks=5, cost_bps=5, regime_gate=True, holding_days=1
r-vol-of-vol-stability-jp-all-0003
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.24-0.36+0.55+0.20
lookback_days_vol=10, lookback_days_vov=40, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=1
r-vol-of-vol-stability-jp-all-0006
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.09-0.82+0.36-0.02
lookback_days_vol=10, lookback_days_vov=40, n_stocks=20, cost_bps=5, regime_gate=False, holding_days=1
r-vol-of-vol-stability-jp-all-0024
cost_bps: 5
n_stocks: 20
regime_gate: false
+0.70+0.52+0.32+2.31
lookback_days_vol=10, lookback_days_vov=40, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=1
r-vol-of-vol-stability-jp-all-0036
cost_bps: 5
n_stocks: 50
regime_gate: false
+0.57+0.48+0.15+2.55
lookback_days_vol=10, lookback_days_vov=40, n_stocks=50, cost_bps=10, regime_gate=True, holding_days=1
r-vol-of-vol-stability-jp-all-0045
cost_bps: 10
n_stocks: 50
regime_gate: true
-0.15-0.32-0.39+1.73
lookback_days_vol=10, lookback_days_vov=60, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=20
r-vol-of-vol-stability-jp-all-0065
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.95+0.57+1.33+0.75
lookback_days_vol=10, lookback_days_vov=60, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=5
r-vol-of-vol-stability-jp-all-0085
cost_bps: 5
n_stocks: 50
regime_gate: false
+0.70+1.70-0.29+1.23
lookback_days_vol=10, lookback_days_vov=80, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-vol-of-vol-stability-jp-all-0096
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.10+0.32+0.04-0.27
lookback_days_vol=10, lookback_days_vov=80, n_stocks=5, cost_bps=10, regime_gate=True, holding_days=5
r-vol-of-vol-stability-jp-all-0106
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.13-0.69+0.29+1.12
lookback_days_vol=10, lookback_days_vov=80, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=20
r-vol-of-vol-stability-jp-all-0113
cost_bps: 5
n_stocks: 10
regime_gate: true
+1.51+1.17+1.78+1.38
lookback_days_vol=10, lookback_days_vov=80, n_stocks=20, cost_bps=10, regime_gate=False, holding_days=5
r-vol-of-vol-stability-jp-all-0127
cost_bps: 10
n_stocks: 20
regime_gate: false
+0.17+0.22+0.04+0.54
lookback_days_vol=20, lookback_days_vov=40, n_stocks=5, cost_bps=5, regime_gate=True, holding_days=1
r-vol-of-vol-stability-jp-all-0147
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.27-0.50-0.28+0.03
lookback_days_vol=20, lookback_days_vov=40, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=20
r-vol-of-vol-stability-jp-all-0167
cost_bps: 10
n_stocks: 10
regime_gate: true
+0.91+1.95+0.54+0.23
lookback_days_vol=20, lookback_days_vov=40, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=5
r-vol-of-vol-stability-jp-all-0187
cost_bps: 10
n_stocks: 50
regime_gate: false
+0.53+1.82-0.35-0.65
lookback_days_vol=20, lookback_days_vov=60, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=1
r-vol-of-vol-stability-jp-all-0207
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.21-0.61-0.22+0.98
lookback_days_vol=20, lookback_days_vov=60, n_stocks=20, cost_bps=10, regime_gate=True, holding_days=20
r-vol-of-vol-stability-jp-all-0227
cost_bps: 10
n_stocks: 20
regime_gate: true
+0.82+2.54+0.11+0.16
lookback_days_vol=20, lookback_days_vov=60, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=1
r-vol-of-vol-stability-jp-all-0234
cost_bps: 10
n_stocks: 50
regime_gate: false
-0.83-1.10-1.25+0.98
lookback_days_vol=20, lookback_days_vov=80, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=20
r-vol-of-vol-stability-jp-all-0248
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.75+1.52+0.41+0.03
lookback_days_vol=20, lookback_days_vov=80, n_stocks=20, cost_bps=5, regime_gate=True, holding_days=5
r-vol-of-vol-stability-jp-all-0268
cost_bps: 5
n_stocks: 20
regime_gate: true
-0.01+0.84-0.52+0.54
lookback_days_vol=30, lookback_days_vov=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-vol-of-vol-stability-jp-all-0288
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.27-0.06+0.20+1.09
lookback_days_vol=30, lookback_days_vov=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-vol-of-vol-stability-jp-all-0289
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.22+0.24+0.32-0.25
lookback_days_vol=30, lookback_days_vov=40, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=1
r-vol-of-vol-stability-jp-all-0309
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.15-0.73-0.22+1.44
lookback_days_vol=30, lookback_days_vov=40, n_stocks=50, cost_bps=5, regime_gate=True, holding_days=20
r-vol-of-vol-stability-jp-all-0329
cost_bps: 5
n_stocks: 50
regime_gate: true
+0.51+1.63-0.57+1.44
lookback_days_vol=30, lookback_days_vov=60, n_stocks=10, cost_bps=5, regime_gate=False, holding_days=5
r-vol-of-vol-stability-jp-all-0349
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.30+1.11+0.10-0.80
lookback_days_vol=30, lookback_days_vov=60, n_stocks=20, cost_bps=10, regime_gate=True, holding_days=1
r-vol-of-vol-stability-jp-all-0369
cost_bps: 10
n_stocks: 20
regime_gate: true
-0.27-0.54-0.44+0.95
lookback_days_vol=30, lookback_days_vov=80, n_stocks=5, cost_bps=5, regime_gate=True, holding_days=20
r-vol-of-vol-stability-jp-all-0389
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.33+0.85+0.24-0.05
lookback_days_vol=30, lookback_days_vov=80, n_stocks=20, cost_bps=5, regime_gate=False, holding_days=5
r-vol-of-vol-stability-jp-all-0409
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.05+0.89-0.49-1.40

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-09-26T05:46:58

Related strategies