アミフッドの非流動性プレミアム(米国S&P500)のバックテスト
Amihud Illiquidity Premium (US S&P 500)
slug: amihud-illiquidity-premium-us-sp500
米国S&P500(約503銘柄)でアミフッドの非流動性プレミアムをバックテストした。144通りの中央値 Sharpe は +0.07。p-value は 0.31。Max DD は -10.8%。期間は 2022-02-01〜2026-09-01。最良 Sharpe +1.34 は代表値ではない。
判定は marginal。どこかのパラメータでは p-value が 0.10 を下回るが、中央値自体は promising の基準(Sharpe > 0.5 かつ p-value < 0.05)に届いていない。上昇・横ばい・下落で結果が割れ、中央値としては安定しない。
成績の中央値
Sharpe(中央値)
+0.07
Max DD
-10.8%
勝率
—
Alpha(年率)
—
p-value
0.31
期間: 2022-02-01 → 2026-09-01
144通りの Sharpe:中央値 0.07最良 1.34 (代表値ではない)最悪 -1.01p25–p75 -0.40–0.63
仮説
原文は英語。
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.
採用しなかった理由
Across 144 grid combinations, median Sharpe=0.07, best=1.34. Primary failure mode: regime_dependent.
検証ファクト (5)
Best grid Sharpe ratio is 1.34 (p=0.0053).
period 2022-02-01–2026-09-01; cost=5bps
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.
Median Sharpe in DOWN regime is -0.86 across 144 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
Median Sharpe in FLAT regime is -0.40 across 144 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
Median Sharpe in UP regime is 0.67 across 144 runs.
Regime=UP, N225 SMA20/SMA60 classification.
検証ラン (30)
| run | params | sharpe | UP | FLAT | DOWN |
|---|---|---|---|---|---|
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 |
対象ユニバース
S&P 500 constituents, ~503 stocks
関連する戦略
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-24T02:22:21