qbuntuqbuntu
rejectedno_edge· equity· breakout· momentum· volatility

ボラティリティ・ブレイクアウト(東証グロース)のバックテスト

Volatility Breakout (JP Growth Stocks)

slug: volatility-breakout-jp-growth

東証グロース(約495銘柄)でボラティリティ・ブレイクアウトをバックテストした。720通りの中央値 Sharpe は -0.55。p-value は 0.24。Max DD は -32.9%。期間は 2022-02-01〜2026-09-01。最良 Sharpe +0.67 は代表値ではない。

判定は rejected。中央値は promising(Sharpe > 0.5 かつ p-value < 0.05)にも marginal(Sharpe > 0.05 かつ最良 p-value < 0.10)にも届いていない。主因は no_edge。レジーム・取引回数・コストには分類されず、中央値が採用ラインに届いていない。

成績の中央値

Sharpe(中央値)
-0.55
Max DD
-32.9%
勝率
—
Alpha(年率)
—
p-value
0.24
期間: 2022-02-01 → 2026-09-01
720通りの Sharpe:中央値 -0.55最良 0.67 (代表値ではない)最悪 -1.74p25–p75 -0.84–-0.24

仮説

原文は英語。

Stocks with rising short-term ATR relative to long-term ATR are experiencing volatility expansion, signaling breakout opportunities. LONG high ATR-ratio stocks, SHORT low ATR-ratio.

採用しなかった理由

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

検証ファクト (5)

Best grid Sharpe ratio is 0.67 (p=0.15).
period 2022-02-01–2026-09-01; cost=5bps
sharpe_ratio0.67
Median Sharpe across 720 grid runs is -0.55.
Full grid of 720 parameter combinations.
sharpe_ratio-0.55
Median Sharpe in DOWN regime is -1.05 across 720 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-1.05
Median Sharpe in FLAT regime is -0.40 across 720 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.40
Median Sharpe in UP regime is -0.67 across 720 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.67

検証ラン (30)

runparamssharpeUPFLATDOWN
atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0000
atr_long: 20
cost_bps: 5
n_stocks: 5
-1.23-2.22-0.98-2.32
atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-growth-0001
atr_long: 20
cost_bps: 5
n_stocks: 5
-1.34-2.69-0.98-2.32
atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-growth-0002
atr_long: 20
cost_bps: 10
n_stocks: 5
-1.37-2.37-1.10-2.63
atr_short=5, atr_long=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-growth-0003
atr_long: 20
cost_bps: 10
n_stocks: 5
-1.46-2.76-1.10-2.63
atr_short=5, atr_long=20, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0008
atr_long: 20
cost_bps: 5
n_stocks: 20
-0.66-0.69-0.61-1.14
atr_short=5, atr_long=20, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0036
atr_long: 20
cost_bps: 5
n_stocks: 5
-0.76-1.32-0.47-7.94
atr_short=5, atr_long=20, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-growth-0038
atr_long: 20
cost_bps: 10
n_stocks: 5
-0.80-1.37-0.50-8.06
atr_short=5, atr_long=40, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-growth-0071
atr_long: 40
cost_bps: 10
n_stocks: 20
-0.26-0.08-0.26-0.71
atr_short=5, atr_long=60, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0104
atr_long: 60
cost_bps: 5
n_stocks: 20
-0.32-0.80-0.18-0.39
atr_short=5, atr_long=60, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-growth-0137
atr_long: 60
cost_bps: 5
n_stocks: 10
-0.14+0.18-0.08-7.36
atr_short=5, atr_long=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0144
atr_long: 120
cost_bps: 5
n_stocks: 5
-0.44-1.13-0.26-0.32
atr_short=5, atr_long=120, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-growth-0171
atr_long: 120
cost_bps: 10
n_stocks: 5
-0.17+0.27-0.12-2.21
atr_short=10, atr_long=20, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0204
atr_long: 20
cost_bps: 5
n_stocks: 5
-1.10-1.01-1.24+0.06
atr_short=10, atr_long=20, holding_days=10, n_stocks=20, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0224
atr_long: 20
cost_bps: 5
n_stocks: 20
+0.67+0.85+0.50+2.01
atr_short=10, atr_long=20, holding_days=20, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-growth-0238
atr_long: 20
cost_bps: 10
n_stocks: 20
-0.40-0.27-0.53+1.23
atr_short=10, atr_long=40, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-growth-0271
atr_long: 40
cost_bps: 10
n_stocks: 10
-0.24-0.74-0.25+0.62
atr_short=10, atr_long=60, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0304
atr_long: 60
cost_bps: 5
n_stocks: 10
-0.17-0.59-0.05-0.58
atr_short=10, atr_long=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-growth-0337
atr_long: 120
cost_bps: 5
n_stocks: 5
-0.51-0.95-0.37-0.08
atr_short=10, atr_long=120, holding_days=10, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-growth-0370
atr_long: 120
cost_bps: 10
n_stocks: 20
+0.48+0.57+0.35+1.68
atr_short=14, atr_long=20, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-growth-0403
atr_long: 20
cost_bps: 10
n_stocks: 10
-0.54-1.10-0.13-2.84
atr_short=14, atr_long=40, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0436
atr_long: 40
cost_bps: 5
n_stocks: 10
-1.36-1.48-1.33-1.08
atr_short=14, atr_long=40, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-growth-0469
atr_long: 40
cost_bps: 5
n_stocks: 5
-0.78-1.76-0.25-4.18
atr_short=14, atr_long=60, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-growth-0502
atr_long: 60
cost_bps: 10
n_stocks: 20
-0.68-2.77-0.03-1.68
atr_short=14, atr_long=120, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-growth-0535
atr_long: 120
cost_bps: 10
n_stocks: 10
-0.96-1.10-0.93-0.70
atr_short=14, atr_long=120, holding_days=1, n_stocks=20, cost_bps=10, regime_gate=False
r-volatility-breakout-jp-growth-0538
atr_long: 120
cost_bps: 10
n_stocks: 20
-1.74-1.84-1.70-1.26
atr_short=14, atr_long=120, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-growth-0569
atr_long: 120
cost_bps: 5
n_stocks: 10
-0.80-0.93-0.68-1.42
atr_short=20, atr_long=40, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0576
atr_long: 40
cost_bps: 5
n_stocks: 5
-0.93-0.09-1.29-1.80
atr_short=20, atr_long=40, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=True
r-volatility-breakout-jp-growth-0603
atr_long: 40
cost_bps: 10
n_stocks: 5
-0.86-1.62-0.64-1.55
atr_short=20, atr_long=60, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False
r-volatility-breakout-jp-growth-0636
atr_long: 60
cost_bps: 5
n_stocks: 5
-0.57-0.43-0.63-0.71
atr_short=20, atr_long=60, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=True
r-volatility-breakout-jp-growth-0669
atr_long: 60
cost_bps: 5
n_stocks: 20
-0.50+0.55-1.31+5.41

対象ユニバース

Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T21:54:27

関連する戦略