qbuntuqbuntu
rejectedno_edge· equity· gap· intraday· mean-reversion

Gap Reversal (JP All Stocks)

slug: gap-reversal-short-jp-all
performance summary
Sharpe (median)
-0.75
Max DD
-4.5%
Win rate
Alpha (ann.)
p-value
0.12
backtest period: 2022-01-072026-05-19
Sharpe across 1728 grid runs:median -0.75best 0.69 (not representative)worst -1.66p25–p75 -1.08-0.17

Hypothesis

Overnight gaps across all Japanese stocks tend to reverse. Testing the same gap-reversal signal on the full universe.

Why it didn't work

Across 1728 grid combinations, median Sharpe=-0.75, best=0.69. Primary failure mode: no_edge.

Facts (5)

Best grid Sharpe ratio is 0.69 (p=0.15).
period 2022-01-07–2026-05-19; cost=3bps; side=LONG
sharpe_ratio0.69
Median Sharpe across 1728 grid runs is -0.75.
Full grid of 1728 parameter combinations.
sharpe_ratio-0.75
Median Sharpe in DOWN regime is -2.18 across 1728 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-2.18
Median Sharpe in FLAT regime is -2.85 across 1728 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-2.85
Median Sharpe in UP regime is -8.62 across 1728 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-8.62

Runs (30)

runparamssharpeUPFLATDOWN
top_n=10, min_gap_size=0.03, hold_days=1, side=SHORT, cost_bps=3
r-gap-reversal-short-jp-all-0000
side: "SHORT"
top_n: 10
cost_bps: 3
-0.90-1.76-1.84-4.97
top_n=10, min_gap_size=0.03, hold_days=1, side=SHORT, cost_bps=5
r-gap-reversal-short-jp-all-0001
side: "SHORT"
top_n: 10
cost_bps: 5
-0.94-1.89-1.96-5.07
top_n=10, min_gap_size=0.03, hold_days=1, side=SHORT, cost_bps=10
r-gap-reversal-short-jp-all-0002
side: "SHORT"
top_n: 10
cost_bps: 10
-1.05-2.21-2.28-5.33
top_n=10, min_gap_size=0.03, hold_days=1, side=BOTH, cost_bps=3
r-gap-reversal-short-jp-all-0006
side: "BOTH"
top_n: 10
cost_bps: 3
-1.15-3.97-2.74+0.58
top_n=10, min_gap_size=0.03, hold_days=1, regime_gate=nikkei-sma20, side=SHORT, cost_bps=3
r-gap-reversal-short-jp-all-0009
side: "SHORT"
top_n: 10
cost_bps: 3
-0.84-1.84-4.97
top_n=10, min_gap_size=0.03, hold_days=1, regime_gate=nikkei-sma60, side=SHORT, cost_bps=3
r-gap-reversal-short-jp-all-0018
side: "SHORT"
top_n: 10
cost_bps: 3
-0.66+5.08-1.77-4.97
top_n=10, min_gap_size=0.03, hold_days=5, side=SHORT, cost_bps=3
r-gap-reversal-short-jp-all-0081
side: "SHORT"
top_n: 10
cost_bps: 3
-1.62-4.18-3.78-9.45
top_n=10, min_gap_size=0.03, hold_days=5, side=SHORT, cost_bps=10
r-gap-reversal-short-jp-all-0083
side: "SHORT"
top_n: 10
cost_bps: 10
-1.66-4.28-3.92-9.63
top_n=10, min_gap_size=0.03, hold_days=5, regime_gate=nikkei-sma20, side=SHORT, cost_bps=10
r-gap-reversal-short-jp-all-0092
side: "SHORT"
top_n: 10
cost_bps: 10
-1.49-3.92-9.63
top_n=10, min_gap_size=0.05, hold_days=3, regime_gate=nikkei-sma20, side=BOTH, cost_bps=3
r-gap-reversal-short-jp-all-0177
side: "BOTH"
top_n: 10
cost_bps: 3
-0.98-6.44-3.18-2.55
top_n=10, min_gap_size=0.07, hold_days=2, regime_gate=nikkei-sma60, side=SHORT, cost_bps=5
r-gap-reversal-short-jp-all-0262
side: "SHORT"
top_n: 10
cost_bps: 5
-1.12-53.28-5.94-11.80
top_n=10, min_gap_size=0.07, hold_days=5, side=LONG, cost_bps=3
r-gap-reversal-short-jp-all-0300
side: "LONG"
top_n: 10
cost_bps: 3
+0.69-12.03+5.20+15.61
top_n=10, min_gap_size=0.1, hold_days=1, side=SHORT, cost_bps=3
r-gap-reversal-short-jp-all-0324
side: "SHORT"
top_n: 10
cost_bps: 3
-0.11+8.89+3.91-5.73
top_n=10, min_gap_size=0.1, hold_days=1, regime_gate=nikkei-sma60, side=BOTH, cost_bps=5
r-gap-reversal-short-jp-all-0349
side: "BOTH"
top_n: 10
cost_bps: 5
-0.43-6.48+5.41-4.79
top_n=20, min_gap_size=0.03, hold_days=1, side=SHORT, cost_bps=10
r-gap-reversal-short-jp-all-0434
side: "SHORT"
top_n: 20
cost_bps: 10
-1.05-2.21-2.28-5.33
top_n=20, min_gap_size=0.03, hold_days=5, side=BOTH, cost_bps=3
r-gap-reversal-short-jp-all-0519
side: "BOTH"
top_n: 20
cost_bps: 3
-0.88-5.13-1.98+1.75
top_n=20, min_gap_size=0.05, hold_days=3, regime_gate=nikkei-sma20, side=SHORT, cost_bps=5
r-gap-reversal-short-jp-all-0604
side: "SHORT"
top_n: 20
cost_bps: 5
-1.09-4.72-8.30
top_n=20, min_gap_size=0.07, hold_days=2, regime_gate=nikkei-sma20, side=LONG, cost_bps=10
r-gap-reversal-short-jp-all-0689
side: "LONG"
top_n: 20
cost_bps: 10
+0.17-12.20-0.44+9.64
top_n=20, min_gap_size=0.1, hold_days=1, regime_gate=nikkei-sma60, side=SHORT, cost_bps=3
r-gap-reversal-short-jp-all-0774
side: "SHORT"
top_n: 20
cost_bps: 3
-0.11+3.91-5.73
top_n=20, min_gap_size=0.1, hold_days=5, regime_gate=nikkei-sma60, side=LONG, cost_bps=5
r-gap-reversal-short-jp-all-0859
side: "LONG"
top_n: 20
cost_bps: 5
+0.59-12.11+4.53+12.56
top_n=50, min_gap_size=0.03, hold_days=3, regime_gate=nikkei-sma60, side=BOTH, cost_bps=10
r-gap-reversal-short-jp-all-0944
side: "BOTH"
top_n: 50
cost_bps: 10
-1.30-6.97-2.00-2.69
top_n=50, min_gap_size=0.05, hold_days=3, side=LONG, cost_bps=3
r-gap-reversal-short-jp-all-1029
side: "LONG"
top_n: 50
cost_bps: 3
-0.08-6.44+0.91+7.72
top_n=50, min_gap_size=0.07, hold_days=2, side=BOTH, cost_bps=5
r-gap-reversal-short-jp-all-1114
side: "BOTH"
top_n: 50
cost_bps: 5
-0.71-7.64-4.43+1.54
top_n=50, min_gap_size=0.1, hold_days=1, regime_gate=nikkei-sma20, side=SHORT, cost_bps=10
r-gap-reversal-short-jp-all-1199
side: "SHORT"
top_n: 50
cost_bps: 10
-0.30+3.44-5.96
top_n=50, min_gap_size=0.1, hold_days=5, regime_gate=nikkei-sma20, side=BOTH, cost_bps=3
r-gap-reversal-short-jp-all-1284
side: "BOTH"
top_n: 50
cost_bps: 3
+0.07-12.03-2.18+4.47
top_n=100, min_gap_size=0.03, hold_days=1, side=SHORT, cost_bps=3
r-gap-reversal-short-jp-all-1296
side: "SHORT"
top_n: 100
cost_bps: 3
-0.90-1.76-1.84-4.97
top_n=100, min_gap_size=0.03, hold_days=3, regime_gate=nikkei-sma60, side=SHORT, cost_bps=10
r-gap-reversal-short-jp-all-1370
side: "SHORT"
top_n: 100
cost_bps: 10
-1.30-8.79-2.88-8.17
top_n=100, min_gap_size=0.05, hold_days=2, regime_gate=nikkei-sma60, side=BOTH, cost_bps=3
r-gap-reversal-short-jp-all-1455
side: "BOTH"
top_n: 100
cost_bps: 3
-0.96-9.69-3.59+1.97
top_n=100, min_gap_size=0.07, hold_days=2, side=SHORT, cost_bps=5
r-gap-reversal-short-jp-all-1540
side: "SHORT"
top_n: 100
cost_bps: 5
-1.12-6.14-5.94-11.80
top_n=100, min_gap_size=0.1, hold_days=1, side=LONG, cost_bps=10
r-gap-reversal-short-jp-all-1625
side: "LONG"
top_n: 100
cost_bps: 10
-0.68-14.55+10.49-3.27

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-07-27T03:36:26

Related strategies