qbuntuqbuntu

Information Discreteness (US S&P 500)

slug: info-discreteness-us-sp500

Information Discreteness (US S&P 500) backtest. Median Sharpe across 320 parameter sets is +0.08. p-value is 0.42. Max DD is -10.3%. Period: 2022-02-01 to 2026-09-01. Best Sharpe +1.18 is not the representative figure.

Verdict: marginal. Some parameter set has a p-value under 0.10, but the median itself misses promising (Sharpe > 0.5 and p-value < 0.05). Primary reason: no_edge. It is not regime, frequency, or cost, and the median does not clear the bar.

Performance summary

Sharpe (median)
+0.08
Max DD
-10.3%
Win rate
—
Alpha (ann.)
—
p-value
0.42
backtest period: 2022-02-01 → 2026-09-01
Sharpe across 320 grid runs:median 0.08best 1.18 (not representative)worst -1.19p25–p75 -0.25–0.46

Hypothesis

Da, Gurun, Warachka (2014): information discreteness measures whether a stock's return is from few large moves or many small moves. Applied to S&P 500 constituents.

Why it didn't work

Across 320 grid combinations, median Sharpe=0.08, best=1.18. Primary failure mode: no_edge.

Facts (5)

Best grid Sharpe ratio is 1.18 (p=0.015).
period 2022-02-01–2026-09-01; cost=5bps
sharpe_ratio1.18
Median Sharpe across 320 grid runs is 0.08.
Full grid of 320 parameter combinations.
sharpe_ratio0.08
Median Sharpe in DOWN regime is 0.28 across 320 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio0.28
Median Sharpe in FLAT regime is -0.07 across 320 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.07
Median Sharpe in UP regime is 0.22 across 320 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio0.22

Runs (30)

runparamssharpeUPFLATDOWN
formation_days=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.27+0.07-0.87-0.22
formation_days=20, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-info-discreteness-us-sp500-0001
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.30+0.12-0.87-0.22
formation_days=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0002
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.61-0.23-1.26-0.66
formation_days=20, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-info-discreteness-us-sp500-0003
cost_bps: 10
n_stocks: 5
regime_gate: true
-0.60-0.08-1.26-0.66
formation_days=20, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0012
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.27+0.23-0.51-1.09
formation_days=20, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0018
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.43+0.01-0.42-1.25
formation_days=20, holding_days=5, n_stocks=50, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0030
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.19-1.07-0.75-2.06
formation_days=20, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=True
r-info-discreteness-us-sp500-0033
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.15+0.28-0.41-0.49
formation_days=20, holding_days=10, n_stocks=50, cost_bps=10, regime_gate=True
r-info-discreteness-us-sp500-0047
cost_bps: 10
n_stocks: 50
regime_gate: true
-0.32+0.51-0.90-1.09
formation_days=20, holding_days=20, n_stocks=50, cost_bps=5, regime_gate=True
r-info-discreteness-us-sp500-0061
cost_bps: 5
n_stocks: 50
regime_gate: true
+0.27+1.30+0.01-1.65
formation_days=20, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0064
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.18-0.17-0.36+0.04
formation_days=20, holding_days=60, n_stocks=50, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0076
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.12-0.07+0.12-0.64
formation_days=40, holding_days=1, n_stocks=20, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0090
cost_bps: 10
n_stocks: 20
regime_gate: false
-0.01+0.46-0.97+0.34
formation_days=40, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0104
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.29+0.03-0.10-1.45
formation_days=40, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0118
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.30-0.60-0.10+0.05
formation_days=40, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0132
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.20+0.03+0.29+0.71
formation_days=40, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0146
cost_bps: 10
n_stocks: 5
regime_gate: false
+0.75+0.65+0.66+1.40
formation_days=60, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0160
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.32+0.22-1.09+3.56
formation_days=60, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0174
cost_bps: 10
n_stocks: 50
regime_gate: false
-0.64-0.92-3.12+1.85
formation_days=60, holding_days=5, n_stocks=50, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0188
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.71-1.76+0.01-0.29
formation_days=60, holding_days=10, n_stocks=20, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0202
cost_bps: 10
n_stocks: 20
regime_gate: false
-0.38-0.98+0.21+0.02
formation_days=60, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True
r-info-discreteness-us-sp500-0209
cost_bps: 5
n_stocks: 5
regime_gate: true
+1.18+0.92+1.00+3.28
formation_days=60, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=True
r-info-discreteness-us-sp500-0217
cost_bps: 5
n_stocks: 20
regime_gate: true
+1.09+1.28+0.79+1.11
formation_days=60, holding_days=60, n_stocks=10, cost_bps=10, regime_gate=True
r-info-discreteness-us-sp500-0231
cost_bps: 10
n_stocks: 10
regime_gate: true
+0.85+1.23+0.61-0.12
formation_days=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0240
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.24-0.14+0.01+2.29
formation_days=120, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0246
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.81-1.13-0.86+1.00
formation_days=120, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0260
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.36-0.49-0.93+1.03
formation_days=120, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0274
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.38-0.78-0.89+2.33
formation_days=120, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-info-discreteness-us-sp500-0288
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.15-0.53+0.08+1.39
formation_days=120, holding_days=20, n_stocks=50, cost_bps=10, regime_gate=False
r-info-discreteness-us-sp500-0302
cost_bps: 10
n_stocks: 50
regime_gate: false
-0.13-0.15-0.65+0.73

Target universe

S&P 500 constituents, ~503 stocks

Related strategies

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T02:22:20

Related strategies