qbuntuqbuntu

Earnings Reversal (JP All Stocks)

slug: earnings-reversal-short-jp-all
performance summary
Sharpe (median)
-3.15
Max DD
-57.0%
Win rate
Alpha (ann.)
p-value
0.11
backtest period: 2023-12-182026-05-19
Sharpe across 2880 grid runs:median -3.15best -0.76 (not representative)worst -7.82p25–p75 -4.09-2.23

Hypothesis

Post-earnings price reactions tend to overshoot. Testing on the full Japanese stock universe.

Why it didn't work

Across 2880 grid combinations, median Sharpe=-3.15, best=-0.76. Primary failure mode: no_edge.

Facts (5)

Best grid Sharpe ratio is -0.76 (p=0.66).
period 2023-12-18–2026-05-19; cost=5bps; side=LONG_ONLY
sharpe_ratio-0.76
Median Sharpe across 2880 grid runs is -3.15.
Full grid of 2880 parameter combinations.
sharpe_ratio-3.15
Median Sharpe in DOWN regime is 4.09 across 2880 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio4.09
Median Sharpe in FLAT regime is -5.26 across 2880 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-5.26
Median Sharpe in UP regime is -2.86 across 2880 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-2.86

Runs (30)

runparamssharpeUPFLATDOWN
holding_period=1, reaction_threshold=0.03, n_positions=1, cost_bps=5, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-0000
side: "SHORT_ONLY"
cost_bps: 5
n_positions: 1
-4.02-3.44-5.40-1.97
holding_period=1, reaction_threshold=0.03, n_positions=1, cost_bps=5, side=LONG_ONLY
r-earnings-reversal-short-jp-all-0001
side: "LONG_ONLY"
cost_bps: 5
n_positions: 1
-3.09-4.49-3.86+8.35
holding_period=1, reaction_threshold=0.03, n_positions=1, cost_bps=5, side=BOTH
r-earnings-reversal-short-jp-all-0002
side: "BOTH"
cost_bps: 5
n_positions: 1
-3.84-4.09-5.80+0.37
holding_period=1, reaction_threshold=0.03, n_positions=1, cost_bps=20, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-0009
side: "SHORT_ONLY"
cost_bps: 20
n_positions: 1
-4.36-3.89-5.71-2.22
holding_period=1, reaction_threshold=0.03, n_positions=10, cost_bps=5, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-0036
side: "SHORT_ONLY"
cost_bps: 5
n_positions: 10
-4.03-2.90-5.71-0.16
holding_period=1, reaction_threshold=0.03, n_positions=10, cost_bps=5, side=BOTH
r-earnings-reversal-short-jp-all-0134
side: "BOTH"
cost_bps: 5
n_positions: 10
-3.52-2.64-5.70+2.06
holding_period=1, reaction_threshold=0.05, n_positions=5, cost_bps=5, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-0264
side: "SHORT_ONLY"
cost_bps: 5
n_positions: 5
-3.64-3.44-4.91+0.26
holding_period=1, reaction_threshold=0.07, n_positions=1, cost_bps=20, side=LONG_ONLY
r-earnings-reversal-short-jp-all-0394
side: "LONG_ONLY"
cost_bps: 20
n_positions: 1
-3.71-4.82-5.33+17.66
holding_period=1, reaction_threshold=0.1, n_positions=10, cost_bps=15, side=BOTH
r-earnings-reversal-short-jp-all-0524
side: "BOTH"
cost_bps: 15
n_positions: 10
-4.85-5.67-7.17+5.91
holding_period=1, reaction_threshold=0.15, n_positions=1, cost_bps=5, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-0576
side: "SHORT_ONLY"
cost_bps: 5
n_positions: 1
-5.07-4.89-8.28+8.32
holding_period=1, reaction_threshold=0.15, n_positions=5, cost_bps=15, side=LONG_ONLY
r-earnings-reversal-short-jp-all-0655
side: "LONG_ONLY"
cost_bps: 15
n_positions: 5
-6.28-6.51-5.07
holding_period=2, reaction_threshold=0.03, n_positions=3, cost_bps=10, side=BOTH
r-earnings-reversal-short-jp-all-0785
side: "BOTH"
cost_bps: 10
n_positions: 3
-4.05-3.46-5.56-0.16
holding_period=2, reaction_threshold=0.05, n_positions=1, cost_bps=10, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-0915
side: "SHORT_ONLY"
cost_bps: 10
n_positions: 1
-3.42-3.12-4.64-1.64
holding_period=2, reaction_threshold=0.07, n_positions=10, cost_bps=5, side=LONG_ONLY
r-earnings-reversal-short-jp-all-1045
side: "LONG_ONLY"
cost_bps: 5
n_positions: 10
-1.17-1.77-2.49+18.43
holding_period=2, reaction_threshold=0.1, n_positions=3, cost_bps=20, side=BOTH
r-earnings-reversal-short-jp-all-1175
side: "BOTH"
cost_bps: 20
n_positions: 3
-4.27-4.94-6.93+7.27
holding_period=2, reaction_threshold=0.15, n_positions=1, cost_bps=20, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-1305
side: "SHORT_ONLY"
cost_bps: 20
n_positions: 1
-7.82-7.48-11.29+8.47
holding_period=2, reaction_threshold=0.15, n_positions=1, cost_bps=20, side=LONG_ONLY
r-earnings-reversal-short-jp-all-1306
side: "LONG_ONLY"
cost_bps: 20
n_positions: 1
-3.49-0.72-10.43
holding_period=2, reaction_threshold=0.15, n_positions=10, cost_bps=15, side=BOTH
r-earnings-reversal-short-jp-all-1436
side: "BOTH"
cost_bps: 15
n_positions: 10
-5.75-3.42-10.96+8.50
holding_period=3, reaction_threshold=0.03, n_positions=5, cost_bps=15, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-1566
side: "SHORT_ONLY"
cost_bps: 15
n_positions: 5
-3.28-0.87-5.39+0.82
holding_period=3, reaction_threshold=0.05, n_positions=3, cost_bps=10, side=LONG_ONLY
r-earnings-reversal-short-jp-all-1696
side: "LONG_ONLY"
cost_bps: 10
n_positions: 3
-1.33-2.01-1.59+6.28
holding_period=3, reaction_threshold=0.07, n_positions=3, cost_bps=5, side=LONG_ONLY
r-earnings-reversal-short-jp-all-1741
side: "LONG_ONLY"
cost_bps: 5
n_positions: 3
-0.76-1.74-0.95+18.58
holding_period=3, reaction_threshold=0.07, n_positions=1, cost_bps=10, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-1827
side: "SHORT_ONLY"
cost_bps: 10
n_positions: 1
-3.10-1.32-6.59+1.18
holding_period=3, reaction_threshold=0.1, n_positions=10, cost_bps=5, side=LONG_ONLY
r-earnings-reversal-short-jp-all-1957
side: "LONG_ONLY"
cost_bps: 5
n_positions: 10
-2.15-3.65-2.08+18.58
holding_period=3, reaction_threshold=0.15, n_positions=3, cost_bps=20, side=BOTH
r-earnings-reversal-short-jp-all-2087
side: "BOTH"
cost_bps: 20
n_positions: 3
-4.21-3.34-6.29+8.47
holding_period=5, reaction_threshold=0.03, n_positions=1, cost_bps=5, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-2160
side: "SHORT_ONLY"
cost_bps: 5
n_positions: 1
-1.91+0.21-4.55+1.82
holding_period=5, reaction_threshold=0.03, n_positions=1, cost_bps=20, side=LONG_ONLY
r-earnings-reversal-short-jp-all-2218
side: "LONG_ONLY"
cost_bps: 20
n_positions: 1
-1.14-1.78-0.62+0.51
holding_period=5, reaction_threshold=0.05, n_positions=10, cost_bps=15, side=BOTH
r-earnings-reversal-short-jp-all-2348
side: "BOTH"
cost_bps: 15
n_positions: 10
-2.07-1.81-3.70+2.86
holding_period=5, reaction_threshold=0.07, n_positions=5, cost_bps=15, side=SHORT_ONLY
r-earnings-reversal-short-jp-all-2478
side: "SHORT_ONLY"
cost_bps: 15
n_positions: 5
-2.71-0.38-5.82+3.71
holding_period=5, reaction_threshold=0.1, n_positions=3, cost_bps=10, side=LONG_ONLY
r-earnings-reversal-short-jp-all-2608
side: "LONG_ONLY"
cost_bps: 10
n_positions: 3
-1.81-3.12-1.19+18.50
holding_period=5, reaction_threshold=0.15, n_positions=1, cost_bps=5, side=BOTH
r-earnings-reversal-short-jp-all-2738
side: "BOTH"
cost_bps: 5
n_positions: 1
-3.73-2.35-6.25-0.68

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

Related strategies