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

Vol-of-Vol Stability (US S&P 500)

slug: vol-of-vol-stability-us-sp500
performance summary
Sharpe (median)
-0.26
Max DD
-9.3%
Win rate
Alpha (ann.)
p-value
0.49
backtest period: 2022-03-012026-06-01
Sharpe across 432 grid runs:median -0.26best 0.59 (not representative)worst -1.63p25–p75 -0.550.04

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.26, best=0.59. Primary failure mode: regime_dependent.

Facts (5)

Best grid Sharpe ratio is 0.59 (p=0.22).
period 2022-03-01–2026-06-01; cost=5bps
sharpe_ratio0.59
Median Sharpe across 432 grid runs is -0.26.
Full grid of 432 parameter combinations.
sharpe_ratio-0.26
Median Sharpe in DOWN regime is -0.19 across 432 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.19
Median Sharpe in FLAT regime is -1.09 across 432 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-1.09
Median Sharpe in UP regime is 0.15 across 432 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio0.15

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-us-sp500-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.44+0.55-0.39+1.92
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-us-sp500-0001
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.07+1.02-1.70+0.42
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-us-sp500-0002
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.11+0.01-0.99+1.04
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-us-sp500-0003
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.45+0.59-0.39+1.92
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-us-sp500-0006
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.06+0.17-0.76+1.49
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-us-sp500-0024
cost_bps: 5
n_stocks: 20
regime_gate: false
+0.20-0.27+0.26+1.69
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-us-sp500-0036
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.09-0.78-0.18+1.72
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-us-sp500-0045
cost_bps: 10
n_stocks: 50
regime_gate: true
-0.39-0.52-0.80+0.92
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-us-sp500-0065
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.10+1.13-0.99-0.50
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-us-sp500-0085
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.23+0.52-1.10-0.80
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-us-sp500-0096
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.06-0.27+0.24+0.61
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-us-sp500-0106
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.15+0.75-0.44-1.19
lookback_days_vol=10, lookback_days_vov=80, n_stocks=20, cost_bps=10, regime_gate=False, holding_days=1
r-vol-of-vol-stability-us-sp500-0126
cost_bps: 10
n_stocks: 20
regime_gate: false
-1.13-1.26-1.87+1.34
lookback_days_vol=20, lookback_days_vov=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-vol-of-vol-stability-us-sp500-0146
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.23+0.33+0.21-2.98
lookback_days_vol=20, lookback_days_vov=40, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=5
r-vol-of-vol-stability-us-sp500-0166
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.02+0.79-0.55-1.51
lookback_days_vol=20, lookback_days_vov=40, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=1
r-vol-of-vol-stability-us-sp500-0186
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.20-1.50-1.79+1.45
lookback_days_vol=20, lookback_days_vov=60, n_stocks=10, cost_bps=5, regime_gate=False, holding_days=20
r-vol-of-vol-stability-us-sp500-0206
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.03+0.67-0.37-1.10
lookback_days_vol=20, lookback_days_vov=60, n_stocks=20, cost_bps=10, regime_gate=True, holding_days=5
r-vol-of-vol-stability-us-sp500-0226
cost_bps: 10
n_stocks: 20
regime_gate: true
-0.17+1.09-1.42-0.79
lookback_days_vol=20, lookback_days_vov=60, n_stocks=50, cost_bps=5, regime_gate=True, holding_days=20
r-vol-of-vol-stability-us-sp500-0233
cost_bps: 5
n_stocks: 50
regime_gate: true
+0.59+1.84-1.57-0.66
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-us-sp500-0247
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.55-0.57-1.01+0.36
lookback_days_vol=20, lookback_days_vov=80, n_stocks=20, cost_bps=5, regime_gate=True, holding_days=1
r-vol-of-vol-stability-us-sp500-0267
cost_bps: 5
n_stocks: 20
regime_gate: true
-0.14-0.22-0.89+3.04
lookback_days_vol=20, lookback_days_vov=80, n_stocks=50, cost_bps=10, regime_gate=True, holding_days=20
r-vol-of-vol-stability-us-sp500-0287
cost_bps: 10
n_stocks: 50
regime_gate: true
+0.25+1.30-1.68+0.61
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-us-sp500-0288
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.07-0.45-0.42+0.89
lookback_days_vol=30, lookback_days_vov=40, n_stocks=10, cost_bps=10, regime_gate=False, holding_days=20
r-vol-of-vol-stability-us-sp500-0308
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.47-0.80+0.08-0.60
lookback_days_vol=30, lookback_days_vov=40, n_stocks=50, cost_bps=5, regime_gate=True, holding_days=5
r-vol-of-vol-stability-us-sp500-0328
cost_bps: 5
n_stocks: 50
regime_gate: true
+0.16+1.03-1.08-0.36
lookback_days_vol=30, lookback_days_vov=40, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=1
r-vol-of-vol-stability-us-sp500-0330
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.63-1.39-2.89+0.54
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-us-sp500-0349
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.64-0.27-1.05-1.36
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-us-sp500-0369
cost_bps: 10
n_stocks: 20
regime_gate: true
-0.95-0.38-1.76-0.40
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-us-sp500-0389
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.12+0.45-0.98+0.03
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-us-sp500-0409
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.35-0.06-0.59-0.70

Target universe

S&P 500 constituents, ~503 stocks

Related strategies

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-08-02T16:25:54

Related strategies