qbuntuqbuntu
rejectedno_edge· equity· breakout· momentum· volatility

Volatility Breakout (JP All Stocks)

slug: volatility-breakout-jp-all

Volatility Breakout (JP All Stocks) backtest. Median Sharpe across 720 parameter sets is -0.93. p-value is 0.05. Max DD is -46.5%. Period: 2022-02-01 to 2026-09-01. Best Sharpe +0.04 is not the representative figure.

Verdict: rejected. The median reaches neither promising (Sharpe > 0.5 and p-value < 0.05) nor marginal (Sharpe > 0.05 and best p-value < 0.10). Primary reason: no_edge. It is not regime, frequency, or cost, and the median does not clear the bar.

Performance summary

Sharpe (median)
-0.93
Max DD
-46.5%
Win rate
—
Alpha (ann.)
—
p-value
0.05
backtest period: 2022-02-01 → 2026-09-01
Sharpe across 720 grid runs:median -0.93best 0.04 (not representative)worst -2.11p25–p75 -1.17–-0.65

Hypothesis

Stocks with rising short-term ATR relative to long-term ATR are experiencing volatility expansion. Testing on the full Japanese stock universe.

Why it didn't work

Across 720 grid combinations, median Sharpe=-0.93, best=0.04. Primary failure mode: no_edge.

Facts (5)

Best grid Sharpe ratio is 0.04 (p=0.93).
period 2022-02-01–2026-09-01; cost=5bps
sharpe_ratio0.04
Median Sharpe across 720 grid runs is -0.93.
Full grid of 720 parameter combinations.
sharpe_ratio-0.93
Median Sharpe in DOWN regime is -0.06 across 720 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.06
Median Sharpe in FLAT regime is -0.96 across 720 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.96
Median Sharpe in UP regime is -1.40 across 720 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-1.40

Runs (30)

runparamssharpeUPFLATDOWN
atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0000
atr_long: 20
cost_bps: 5
n_stocks: 5
-0.87-1.28-1.00+0.05
atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-all-0001
atr_long: 20
cost_bps: 5
n_stocks: 5
-1.14-2.03-1.00+0.05
atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0002
atr_long: 20
cost_bps: 10
n_stocks: 5
-1.01-1.47-1.11-0.09
atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-all-0003
atr_long: 20
cost_bps: 10
n_stocks: 5
-1.24-2.11-1.11-0.09
atr_short=5, atr_long=20, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0008
atr_long: 20
cost_bps: 5
n_stocks: 20
-0.72-0.48-1.41+0.01
atr_short=5, atr_long=20, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0036
atr_long: 20
cost_bps: 5
n_stocks: 5
-0.65-0.23-1.82+0.53
atr_short=5, atr_long=20, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-all-0037
atr_long: 20
cost_bps: 5
n_stocks: 5
-0.72-0.44-1.82+0.53
atr_short=5, atr_long=40, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-all-0069
atr_long: 40
cost_bps: 5
n_stocks: 20
-0.43-1.29+0.13-0.56
atr_short=5, atr_long=60, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-all-0101
atr_long: 60
cost_bps: 5
n_stocks: 10
-0.83-0.98-1.07+0.15
atr_short=5, atr_long=60, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-all-0133
atr_long: 60
cost_bps: 5
n_stocks: 5
-1.41-1.40-2.27+0.13
atr_short=5, atr_long=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0144
atr_long: 120
cost_bps: 5
n_stocks: 5
-1.03-1.61-1.25+0.41
atr_short=5, atr_long=120, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0166
atr_long: 120
cost_bps: 10
n_stocks: 20
-0.87-1.11-1.03+0.01
atr_short=10, atr_long=20, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0198
atr_long: 20
cost_bps: 10
n_stocks: 10
-1.16-1.98-0.87-0.64
atr_short=10, atr_long=20, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0230
atr_long: 20
cost_bps: 10
n_stocks: 5
-1.16-2.51-1.13+0.54
atr_short=10, atr_long=40, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0262
atr_long: 40
cost_bps: 10
n_stocks: 20
-0.64-0.94-0.63-0.03
atr_short=10, atr_long=60, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0294
atr_long: 60
cost_bps: 10
n_stocks: 10
-1.34-1.41-1.85-0.41
atr_short=10, atr_long=60, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0326
atr_long: 60
cost_bps: 10
n_stocks: 5
-1.15-1.59-1.33+0.25
atr_short=10, atr_long=120, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0358
atr_long: 120
cost_bps: 10
n_stocks: 20
-0.90-1.25-1.23+0.63
atr_short=14, atr_long=20, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0390
atr_long: 20
cost_bps: 10
n_stocks: 10
-1.05-2.06-0.70-0.52
atr_short=14, atr_long=20, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0422
atr_long: 20
cost_bps: 10
n_stocks: 5
-0.30-3.75+0.52+0.19
atr_short=14, atr_long=40, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0454
atr_long: 40
cost_bps: 10
n_stocks: 20
-1.19-2.14-0.78-0.32
atr_short=14, atr_long=60, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0486
atr_long: 60
cost_bps: 10
n_stocks: 10
-0.91-1.97-0.33-0.83
atr_short=14, atr_long=60, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0518
atr_long: 60
cost_bps: 10
n_stocks: 5
-0.63-1.95+0.01+0.08
atr_short=14, atr_long=120, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-all-0550
atr_long: 120
cost_bps: 10
n_stocks: 20
-1.09-1.30-0.97-0.63
atr_short=14, atr_long=120, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-all-0559
atr_long: 120
cost_bps: 10
n_stocks: 10
-2.11-3.40-1.71-0.79
atr_short=20, atr_long=40, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0576
atr_long: 40
cost_bps: 5
n_stocks: 5
+0.04+0.83-0.14-0.78
atr_short=20, atr_long=40, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0584
atr_long: 40
cost_bps: 5
n_stocks: 20
-1.13-1.48-0.54-2.05
atr_short=20, atr_long=40, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0616
atr_long: 40
cost_bps: 5
n_stocks: 10
-1.29-1.59-0.98-1.38
atr_short=20, atr_long=60, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0648
atr_long: 60
cost_bps: 5
n_stocks: 5
-1.13-1.25-1.28-0.28
atr_short=20, atr_long=120, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-all-0680
atr_long: 120
cost_bps: 5
n_stocks: 20
-0.24+0.24+0.08-1.73

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:56

Related strategies