qbuntuqbuntu
marginalregime_dependent· equity· factor· liquidity

Amihud Illiquidity Premium (US S&P 500)

slug: amihud-illiquidity-premium-us-sp500

Amihud Illiquidity Premium (US S&P 500) backtest. Median Sharpe across 144 parameter sets is +0.07. p-value is 0.31. Max DD is -10.8%. Period: 2022-02-01 to 2026-09-01. Best Sharpe +1.34 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). Results split across up, flat, and down markets, so the median is not stable.

Performance summary

Sharpe (median)
+0.07
Max DD
-10.8%
Win rate
—
Alpha (ann.)
—
p-value
0.31
backtest period: 2022-02-01 → 2026-09-01
Sharpe across 144 grid runs:median 0.07best 1.34 (not representative)worst -1.01p25–p75 -0.40–0.63

Hypothesis

Amihud (2002): illiquid stocks (high |return| per unit of trading volume) must compensate holders with higher expected returns. Ranking on the Amihud illiquidity measure tests whether the premium survives transaction costs in this universe.

Why it didn't work

Across 144 grid combinations, median Sharpe=0.07, best=1.34. Primary failure mode: regime_dependent.

Facts (5)

Best grid Sharpe ratio is 1.34 (p=0.0053).
period 2022-02-01–2026-09-01; cost=5bps
sharpe_ratio1.34
cite ↗ /cite/amihud-illiquidity-premium-us-sp500-fact-best-sharpevia r-amihud-illiquidity-premium-us-sp500-0017
Median Sharpe across 144 grid runs is 0.07.
Full grid of 144 parameter combinations.
sharpe_ratio0.07
Median Sharpe in DOWN regime is -0.86 across 144 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.86
Median Sharpe in FLAT regime is -0.40 across 144 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.40
Median Sharpe in UP regime is 0.67 across 144 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio0.67

Runs (30)

runparamssharpeUPFLATDOWN
lookback_days=10, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-amihud-illiquidity-premium-us-sp500-0000
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.43-0.53-0.12-0.99
lookback_days=10, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0001
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.10+0.09+0.28-1.92
lookback_days=10, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0002
cost_bps: 5
n_stocks: 5
regime_gate: false
+0.88+1.49+1.07-1.05
lookback_days=10, n_stocks=5, cost_bps=5, regime_gate=True, holding_days=1
r-amihud-illiquidity-premium-us-sp500-0003
cost_bps: 5
n_stocks: 5
regime_gate: true
-0.26-0.14-0.12-0.99
lookback_days=10, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=1
r-amihud-illiquidity-premium-us-sp500-0006
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.75-0.84-0.40-1.36
lookback_days=10, n_stocks=5, cost_bps=10, regime_gate=True, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0010
cost_bps: 10
n_stocks: 5
regime_gate: true
+0.20+0.89+0.14-2.11
lookback_days=10, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0016
cost_bps: 5
n_stocks: 10
regime_gate: true
+0.22+1.42-0.29-1.51
lookback_days=10, n_stocks=10, cost_bps=5, regime_gate=True, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0017
cost_bps: 5
n_stocks: 10
regime_gate: true
+1.34+2.37+1.11-0.25
lookback_days=10, n_stocks=10, cost_bps=10, regime_gate=True, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0023
cost_bps: 10
n_stocks: 10
regime_gate: true
+1.27+2.32+1.01-0.33
lookback_days=10, n_stocks=20, cost_bps=5, regime_gate=True, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0029
cost_bps: 5
n_stocks: 20
regime_gate: true
+1.03+1.97+0.61-0.52
lookback_days=10, n_stocks=20, cost_bps=10, regime_gate=True, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0035
cost_bps: 10
n_stocks: 20
regime_gate: true
+0.94+1.92+0.46-0.62
lookback_days=10, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=1
r-amihud-illiquidity-premium-us-sp500-0036
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.34-0.16-0.57-0.58
lookback_days=10, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=1
r-amihud-illiquidity-premium-us-sp500-0042
cost_bps: 10
n_stocks: 50
regime_gate: false
-1.01-0.72-1.57-1.18
lookback_days=10, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0043
cost_bps: 10
n_stocks: 50
regime_gate: false
-0.42-0.09-0.61-1.12
lookback_days=20, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0049
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.06+0.32+0.17-2.20
lookback_days=20, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0055
cost_bps: 10
n_stocks: 5
regime_gate: false
-0.20+0.20+0.02-2.39
lookback_days=20, n_stocks=10, cost_bps=5, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0061
cost_bps: 5
n_stocks: 10
regime_gate: false
-0.26+0.20-0.28-1.45
lookback_days=20, n_stocks=10, cost_bps=10, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0067
cost_bps: 10
n_stocks: 10
regime_gate: false
-0.44+0.03-0.47-1.63
lookback_days=20, n_stocks=20, cost_bps=5, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0073
cost_bps: 5
n_stocks: 20
regime_gate: false
-0.03+0.74-0.48-1.21
lookback_days=20, n_stocks=20, cost_bps=10, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0079
cost_bps: 10
n_stocks: 20
regime_gate: false
-0.27+0.50-0.74-1.44
lookback_days=20, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0085
cost_bps: 5
n_stocks: 50
regime_gate: false
-0.07+0.40-0.43-1.04
lookback_days=20, n_stocks=50, cost_bps=10, regime_gate=False, holding_days=5
r-amihud-illiquidity-premium-us-sp500-0091
cost_bps: 10
n_stocks: 50
regime_gate: false
-0.40+0.11-0.77-1.52
lookback_days=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=1
r-amihud-illiquidity-premium-us-sp500-0096
cost_bps: 5
n_stocks: 5
regime_gate: false
-0.47-0.44-0.59-0.26
lookback_days=40, n_stocks=5, cost_bps=5, regime_gate=False, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0098
cost_bps: 5
n_stocks: 5
regime_gate: false
+1.15+2.11+1.06-0.69
lookback_days=40, n_stocks=5, cost_bps=10, regime_gate=False, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0104
cost_bps: 10
n_stocks: 5
regime_gate: false
+1.07+2.03+1.00-0.76
lookback_days=40, n_stocks=10, cost_bps=5, regime_gate=False, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0110
cost_bps: 5
n_stocks: 10
regime_gate: false
+0.69+1.28+0.90-0.43
lookback_days=40, n_stocks=10, cost_bps=10, regime_gate=False, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0116
cost_bps: 10
n_stocks: 10
regime_gate: false
+0.60+1.18+0.79-0.49
lookback_days=40, n_stocks=20, cost_bps=5, regime_gate=False, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0122
cost_bps: 5
n_stocks: 20
regime_gate: false
+0.60+1.31+0.55-0.65
lookback_days=40, n_stocks=20, cost_bps=10, regime_gate=False, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0128
cost_bps: 10
n_stocks: 20
regime_gate: false
+0.47+1.18+0.40-0.75
lookback_days=40, n_stocks=50, cost_bps=5, regime_gate=False, holding_days=20
r-amihud-illiquidity-premium-us-sp500-0134
cost_bps: 5
n_stocks: 50
regime_gate: false
+0.55+0.79+0.51-0.01

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

Related strategies