qbuntuqbuntu

Short-Term Reversal (JP All Stocks)

slug: short-term-reversal-jp-all

Short-Term Reversal (JP All Stocks) backtest. Median Sharpe across 160 parameter sets is -0.55. p-value is 0.16. Max DD is -38.8%. Period: 2022-01-24 to 2026-09-14. Best Sharpe +0.88 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.55
Max DD
-38.8%
Win rate
—
Alpha (ann.)
—
p-value
0.16
backtest period: 2022-01-24 → 2026-09-14
Sharpe across 160 grid runs:median -0.55best 0.88 (not representative)worst -2.77p25–p75 -1.34–-0.16

Hypothesis

Jegadeesh (1990): stocks that dropped most over past N days tend to bounce back. Testing raw past-return reversal on the full Japanese stock universe.

Why it didn't work

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

Facts (5)

Best grid Sharpe ratio is 0.88 (p=0.06).
period 2022-01-24–2026-09-14; cost=5bps
sharpe_ratio0.88
Median Sharpe across 160 grid runs is -0.55.
Full grid of 160 parameter combinations.
sharpe_ratio-0.55
Median Sharpe in DOWN regime is 0.93 across 160 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio0.93
Median Sharpe in FLAT regime is -0.63 across 160 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.63
Median Sharpe in UP regime is -0.83 across 160 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.83

Runs (30)

runparamssharpeUPFLATDOWN
reversal_days=1, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.02+0.34-0.32+2.24
reversal_days=1, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-short-term-reversal-jp-all-0001
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.28-0.95-0.32+2.24
reversal_days=1, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0002
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.40-0.08-0.74+1.71
reversal_days=1, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-short-term-reversal-jp-all-0003
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.68-1.25-0.74+1.71
reversal_days=1, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0004
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.17-0.09-0.41+1.57
reversal_days=1, holding_days=3, n_stocks=5, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0018
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.23+0.48-0.76+1.48
reversal_days=1, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0032
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.34+0.71+0.02+1.44
reversal_days=1, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0038
cost_bps: 10
n_stocks: 10
regime_gate: false
+0.19+0.14+0.08+1.39
reversal_days=1, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0048
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.52+1.13+0.24+1.14
reversal_days=1, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=True
r-short-term-reversal-jp-all-0053
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.39+0.38+0.35+1.02
reversal_days=2, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-short-term-reversal-jp-all-0067
cost_bps: 10
n_stocks: 5
regime_gate: true
-1.07-0.96-1.30+0.52
reversal_days=2, holding_days=3, n_stocks=5, cost_bps=5, regime_gate=True
r-short-term-reversal-jp-all-0081
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.04-0.47+0.14+0.74
reversal_days=2, holding_days=3, n_stocks=10, cost_bps=10, regime_gate=True
r-short-term-reversal-jp-all-0087
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.74-1.17-0.61-0.01
reversal_days=2, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=True
r-short-term-reversal-jp-all-0101
cost_bps: 5
n_stocks: 10
regime_gate: true
-0.62-1.74-0.13-0.54
reversal_days=2, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=True
r-short-term-reversal-jp-all-0115
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.61+1.30+0.57-3.97
reversal_days=2, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0116
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.88+1.54+0.66+0.14
reversal_days=3, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0130
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.92-0.73-1.20+1.00
reversal_days=3, holding_days=3, n_stocks=5, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0144
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.12+0.08-0.46+1.47
reversal_days=3, holding_days=3, n_stocks=10, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0150
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.78-0.73-0.94+0.31
reversal_days=3, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0164
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.49-0.56-0.53+0.14
reversal_days=3, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0178
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.03+0.59-0.10-2.76
reversal_days=5, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0192
cost_bps: 5
n_stocks: 5
regime_gate: false
-1.26-1.38-1.54+2.21
reversal_days=5, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0198
cost_bps: 10
n_stocks: 10
regime_gate: false
-2.09-2.39-2.03-1.36
reversal_days=5, holding_days=3, n_stocks=10, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0212
cost_bps: 5
n_stocks: 10
regime_gate: false
-1.01-1.54-0.85-0.23
reversal_days=5, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0226
cost_bps: 10
n_stocks: 5
regime_gate: false
-1.38-1.74-1.58+1.73
reversal_days=5, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0240
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.38-0.52-0.20-2.50
reversal_days=5, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0246
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.57-0.29-0.61-0.94
reversal_days=10, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-short-term-reversal-jp-all-0256
cost_bps: 5
n_stocks: 5
regime_gate: false
-2.02-2.52-2.39+4.32
reversal_days=10, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=True
r-short-term-reversal-jp-all-0261
cost_bps: 5
n_stocks: 10
regime_gate: true
-1.90-2.40-2.12+2.09
reversal_days=10, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-short-term-reversal-jp-all-0262
cost_bps: 10
n_stocks: 10
regime_gate: false
-2.77-3.70-2.88+1.25

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-24T21:54:27

Related strategies