qbuntuqbuntu

Max Return / Lottery Effect (US S&P 500)

slug: max-return-lottery-us-sp500
performance summary
Sharpe (median)
-0.91
Max DD
-46.1%
Win rate
Alpha (ann.)
p-value
0.05
backtest period: 2022-02-012026-06-01
Sharpe across 320 grid runs:median -0.91best 0.04 (not representative)worst -1.76p25–p75 -1.16-0.62

Hypothesis

Bali, Cakici, Whitelaw (2011): stocks with extreme positive daily returns subsequently underperform. Applied to S&P 500 constituents.

Why it didn't work

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

Facts (5)

Best grid Sharpe ratio is 0.04 (p=0.92).
period 2022-02-01–2026-06-01; cost=5bps
sharpe_ratio0.04
Median Sharpe across 320 grid runs is -0.91.
Full grid of 320 parameter combinations.
sharpe_ratio-0.91
Median Sharpe in DOWN regime is -0.40 across 320 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.40
Median Sharpe in FLAT regime is -1.32 across 320 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-1.32
Median Sharpe in UP regime is -0.86 across 320 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.86

Runs (30)

runparamssharpeUPFLATDOWN
formation_days=5, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.41-0.79-1.31+0.48
formation_days=5, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-max-return-lottery-us-sp500-0001
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.11+0.01-1.31+0.48
formation_days=5, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0002
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.63-1.07-1.66+0.35
formation_days=5, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-max-return-lottery-us-sp500-0003
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.30-0.20-1.66+0.35
formation_days=5, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0012
cost_bps: 5
n_stocks: 50
regime_gate: false
-1.05-1.15-2.34-0.05
formation_days=5, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=True
r-max-return-lottery-us-sp500-0017
cost_bps: 5
n_stocks: 5
regime_gate: true
+0.04+0.93-0.97-0.01
formation_days=5, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=True
r-max-return-lottery-us-sp500-0019
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.06+0.84-1.12-0.09
formation_days=5, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=True
r-max-return-lottery-us-sp500-0033
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.27+0.44-0.74-0.50
formation_days=5, holding_days=10, n_stocks=50, cost_bps=10, regime_gate=True
r-max-return-lottery-us-sp500-0047
cost_bps: 10
n_stocks: 50
regime_gate: true
-0.56+0.42-1.23-0.88
formation_days=5, holding_days=20, n_stocks=50, cost_bps=5, regime_gate=True
r-max-return-lottery-us-sp500-0061
cost_bps: 5
n_stocks: 50
regime_gate: true
-0.39+0.70-0.83-0.76
formation_days=5, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0064
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.56-0.59-1.26+0.92
formation_days=5, holding_days=60, n_stocks=50, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0076
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.95-1.19-1.29+0.44
formation_days=10, holding_days=1, n_stocks=20, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0090
cost_bps: 10
n_stocks: 20
regime_gate: false
-1.55-2.37-2.15-0.19
formation_days=10, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0104
cost_bps: 5
n_stocks: 20
regime_gate: false
-1.36-1.25-1.75-1.18
formation_days=10, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0118
cost_bps: 10
n_stocks: 10
regime_gate: false
-1.63-1.53-2.49-0.96
formation_days=10, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0132
cost_bps: 5
n_stocks: 10
regime_gate: false
-1.19-1.55-1.16-1.01
formation_days=10, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0146
cost_bps: 10
n_stocks: 5
regime_gate: false
-1.10-1.20-1.58-0.32
formation_days=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0160
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.73-1.04-0.95+0.27
formation_days=20, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0174
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.74-2.35-2.59-0.26
formation_days=20, holding_days=5, n_stocks=50, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0188
cost_bps: 5
n_stocks: 50
regime_gate: false
-1.33-1.38-1.64-0.78
formation_days=20, holding_days=10, n_stocks=20, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0202
cost_bps: 10
n_stocks: 20
regime_gate: false
-1.66-1.78-2.17-0.75
formation_days=20, holding_days=10, n_stocks=50, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0206
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.76-1.85-2.22-1.18
formation_days=20, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=True
r-max-return-lottery-us-sp500-0217
cost_bps: 5
n_stocks: 20
regime_gate: true
-0.65+0.67-1.09-1.22
formation_days=20, holding_days=60, n_stocks=10, cost_bps=10, regime_gate=True
r-max-return-lottery-us-sp500-0231
cost_bps: 10
n_stocks: 10
regime_gate: true
-0.22+0.79-1.05+0.31
formation_days=60, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0240
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.83-0.56-1.18-0.77
formation_days=60, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0246
cost_bps: 10
n_stocks: 10
regime_gate: false
-1.26-1.17-1.26-1.39
formation_days=60, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0260
cost_bps: 5
n_stocks: 10
regime_gate: false
-1.01-1.09-0.95-0.82
formation_days=60, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0274
cost_bps: 10
n_stocks: 5
regime_gate: false
-1.36-1.34-2.00-0.29
formation_days=60, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-max-return-lottery-us-sp500-0288
cost_bps: 5
n_stocks: 5
regime_gate: false
-1.10-1.23-1.27-0.31
formation_days=60, holding_days=20, n_stocks=50, cost_bps=10, regime_gate=False
r-max-return-lottery-us-sp500-0302
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.46-1.53-1.25-1.68

Target universe

S&P 500 constituents, ~503 stocks

Related strategies

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-08-01T07:31:00

Related strategies