Vol-of-Vol Stability (JP Growth Stocks)
Vol-of-Vol Stability (JP Growth Stocks) backtest. Median Sharpe across 432 parameter sets is +0.09. p-value is 0.64. Max DD is -13.1%. Period: 2022-03-01 to 2026-09-01. Best Sharpe +1.21 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). Results split across up, flat, and down markets, so the median is not stable.
Performance summary
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.09, best=1.21. Primary failure mode: regime_dependent.
Facts (5)
Runs (30)
| run | params | sharpe | UP | FLAT | DOWN |
|---|---|---|---|---|---|
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-growth-0000 | cost_bps: 5 n_stocks: 5 regime_gate: false | +0.81 | +1.33 | +0.67 | +1.56 |
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-growth-0001 | cost_bps: 5 n_stocks: 5 regime_gate: false | +0.68 | +3.17 | +0.11 | +3.21 |
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-growth-0002 | cost_bps: 5 n_stocks: 5 regime_gate: false | +0.21 | +0.68 | -0.16 | +8.26 |
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-growth-0003 | cost_bps: 5 n_stocks: 5 regime_gate: true | +0.70 | +0.54 | +0.67 | +1.56 |
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-growth-0006 | cost_bps: 10 n_stocks: 5 regime_gate: false | +0.61 | +1.00 | +0.49 | +1.39 |
lookback_days_vol=10, lookback_days_vov=40, n_stocks=10, cost_bps=5, regime_gate=False, holding_days=5 r-vol-of-vol-stability-jp-growth-0013 | cost_bps: 5 n_stocks: 10 regime_gate: false | +1.21 | +3.37 | +0.64 | +1.98 |
lookback_days_vol=10, lookback_days_vov=40, n_stocks=20, cost_bps=5, regime_gate=False, holding_days=5 r-vol-of-vol-stability-jp-growth-0025 | cost_bps: 5 n_stocks: 20 regime_gate: false | +0.70 | +1.95 | +0.11 | +3.25 |
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-growth-0036 | cost_bps: 5 n_stocks: 50 regime_gate: false | +0.51 | +1.33 | +0.06 | +5.91 |
lookback_days_vol=10, lookback_days_vov=40, n_stocks=50, cost_bps=10, regime_gate=True, holding_days=5 r-vol-of-vol-stability-jp-growth-0046 | cost_bps: 10 n_stocks: 50 regime_gate: true | -0.21 | +0.57 | -0.75 | +1.27 |
lookback_days_vol=10, lookback_days_vov=60, n_stocks=10, cost_bps=10, regime_gate=False, holding_days=1 r-vol-of-vol-stability-jp-growth-0066 | cost_bps: 10 n_stocks: 10 regime_gate: false | +0.10 | -1.50 | +0.26 | +2.25 |
lookback_days_vol=10, lookback_days_vov=60, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=20 r-vol-of-vol-stability-jp-growth-0086 | cost_bps: 5 n_stocks: 50 regime_gate: false | +0.19 | +0.51 | +0.05 | +0.39 |
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-growth-0096 | cost_bps: 5 n_stocks: 5 regime_gate: false | +0.31 | -0.04 | +0.27 | +2.10 |
lookback_days_vol=10, lookback_days_vov=80, n_stocks=5, cost_bps=10, regime_gate=True, holding_days=20 r-vol-of-vol-stability-jp-growth-0107 | cost_bps: 10 n_stocks: 5 regime_gate: true | -0.31 | +0.58 | -0.76 | +3.20 |
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-growth-0127 | cost_bps: 10 n_stocks: 20 regime_gate: false | +0.52 | +1.63 | +0.02 | +2.63 |
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-growth-0147 | cost_bps: 5 n_stocks: 5 regime_gate: true | +0.25 | -0.75 | +0.36 | +3.04 |
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-growth-0167 | cost_bps: 10 n_stocks: 10 regime_gate: true | +0.03 | +0.08 | -0.12 | +4.93 |
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-growth-0187 | cost_bps: 10 n_stocks: 50 regime_gate: false | -0.04 | +0.24 | -0.28 | +0.88 |
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-growth-0207 | cost_bps: 5 n_stocks: 10 regime_gate: true | +0.06 | +0.02 | -0.06 | +5.69 |
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-growth-0227 | cost_bps: 10 n_stocks: 20 regime_gate: true | -0.13 | -0.11 | -0.19 | +0.60 |
lookback_days_vol=20, lookback_days_vov=80, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=5 r-vol-of-vol-stability-jp-growth-0247 | cost_bps: 10 n_stocks: 5 regime_gate: false | -0.19 | +1.43 | -0.69 | +2.43 |
lookback_days_vol=20, lookback_days_vov=80, n_stocks=10, cost_bps=10, regime_gate=False, holding_days=20 r-vol-of-vol-stability-jp-growth-0260 | cost_bps: 10 n_stocks: 10 regime_gate: false | -0.89 | -0.02 | -1.17 | -0.22 |
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-growth-0268 | cost_bps: 5 n_stocks: 20 regime_gate: true | +0.43 | +0.51 | +0.24 | +2.60 |
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-growth-0288 | cost_bps: 5 n_stocks: 5 regime_gate: false | +0.36 | +0.55 | +0.13 | +2.97 |
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-growth-0289 | cost_bps: 5 n_stocks: 5 regime_gate: false | +0.22 | +2.35 | -0.76 | +2.54 |
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-growth-0309 | cost_bps: 10 n_stocks: 10 regime_gate: true | -0.11 | +0.32 | -0.44 | +2.70 |
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-growth-0329 | cost_bps: 5 n_stocks: 50 regime_gate: true | +0.15 | +0.08 | +0.15 | +0.61 |
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-growth-0349 | cost_bps: 5 n_stocks: 10 regime_gate: false | +0.11 | +1.73 | -0.62 | +12.44 |
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-growth-0369 | cost_bps: 10 n_stocks: 20 regime_gate: true | -0.15 | -0.29 | -0.36 | +3.84 |
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-growth-0389 | cost_bps: 5 n_stocks: 5 regime_gate: true | -0.02 | +0.50 | -0.41 | +3.15 |
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-growth-0409 | cost_bps: 5 n_stocks: 20 regime_gate: false | +0.09 | +0.62 | -0.16 | +1.33 |