qbuntuqbuntu

マルチファクター(米国S&P500)のバックテスト

Multi-Factor Composite (US S&P 500)

slug: multi-factor-us-sp500

米国S&P500(約503銘柄)でマルチファクターをバックテストした。240通りの中央値 Sharpe は -0.71。p-value は 0.11。Max DD は -39.5%。期間は 2022-02-01〜2026-09-01。最良 Sharpe +0.25 は代表値ではない。

判定は rejected。中央値は promising(Sharpe > 0.5 かつ p-value < 0.05)にも marginal(Sharpe > 0.05 かつ最良 p-value < 0.10)にも届いていない。主因は no_edge。レジーム・取引回数・コストには分類されず、中央値が採用ラインに届いていない。

成績の中央値

Sharpe(中央値)
-0.71
Max DD
-39.5%
勝率
—
Alpha(年率)
—
p-value
0.11
期間: 2022-02-01 → 2026-09-01
240通りの Sharpe:中央値 -0.71最良 0.25 (代表値ではない)最悪 -2.01p25–p75 -0.94–-0.43

仮説

原文は英語。

Combines signals from marginal/promising single factors into a z-scored composite. Applied to S&P 500 constituents.

採用しなかった理由

Across 240 grid combinations, median Sharpe=-0.71, best=0.25. Primary failure mode: no_edge.

検証ファクト (5)

Best grid Sharpe ratio is 0.25 (p=0.36).
period 2022-02-01–2026-09-01; cost=5bps
sharpe_ratio0.25
Median Sharpe across 240 grid runs is -0.71.
Full grid of 240 parameter combinations.
sharpe_ratio-0.71
Median Sharpe in DOWN regime is -0.39 across 240 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-0.39
Median Sharpe in FLAT regime is -1.05 across 240 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-1.05
Median Sharpe in UP regime is -0.65 across 240 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.65

検証ラン (30)

runparamssharpeUPFLATDOWN
n_factors=2, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0000
cost_bps: 5
n_stocks: 5
n_factors: 2
-0.56-1.11-0.51+0.84
n_factors=2, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-multi-factor-us-sp500-0001
cost_bps: 5
n_stocks: 5
n_factors: 2
-0.21-0.59-0.51+0.84
n_factors=2, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0002
cost_bps: 10
n_stocks: 5
n_factors: 2
-0.81-1.35-0.76+0.58
n_factors=2, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-multi-factor-us-sp500-0003
cost_bps: 10
n_stocks: 5
n_factors: 2
-0.45-0.85-0.76+0.58
n_factors=2, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0012
cost_bps: 5
n_stocks: 50
n_factors: 2
-1.13-1.51-1.92+0.13
n_factors=2, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0014
cost_bps: 10
n_stocks: 50
n_factors: 2
-1.58-2.06-2.45-0.16
n_factors=2, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0024
cost_bps: 5
n_stocks: 20
n_factors: 2
-0.55-0.45-0.84-0.35
n_factors=2, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0034
cost_bps: 10
n_stocks: 5
n_factors: 2
-0.76-0.88-1.20+0.91
n_factors=2, holding_days=10, n_stocks=50, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0044
cost_bps: 5
n_stocks: 50
n_factors: 2
-0.60-0.88-0.55+0.06
n_factors=2, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0054
cost_bps: 10
n_stocks: 10
n_factors: 2
-0.55-0.63-1.03+0.93
n_factors=2, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0064
cost_bps: 5
n_stocks: 5
n_factors: 2
-0.26-0.36-0.56+0.84
n_factors=2, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=True
r-multi-factor-us-sp500-0065
cost_bps: 5
n_stocks: 5
n_factors: 2
+0.25+0.51-0.56+0.84
n_factors=2, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0066
cost_bps: 10
n_stocks: 5
n_factors: 2
-0.28-0.38-0.59+0.82
n_factors=2, holding_days=60, n_stocks=50, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0076
cost_bps: 5
n_stocks: 50
n_factors: 2
-0.82-1.06-1.01-0.07
n_factors=3, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0086
cost_bps: 10
n_stocks: 10
n_factors: 3
-1.27-1.80-1.65+0.19
n_factors=3, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0096
cost_bps: 5
n_stocks: 5
n_factors: 3
-0.74-0.78-0.66-0.77
n_factors=3, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0106
cost_bps: 10
n_stocks: 20
n_factors: 3
-1.16-1.12-1.26-0.96
n_factors=3, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0116
cost_bps: 5
n_stocks: 10
n_factors: 3
-1.02-0.93-1.09-1.15
n_factors=3, holding_days=10, n_stocks=50, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0126
cost_bps: 10
n_stocks: 50
n_factors: 3
-1.12-0.92-1.18-1.36
n_factors=3, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0136
cost_bps: 5
n_stocks: 20
n_factors: 3
-0.94-0.98-0.63-1.42
n_factors=3, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0146
cost_bps: 10
n_stocks: 5
n_factors: 3
-0.81-1.15-0.93-0.02
n_factors=3, holding_days=60, n_stocks=50, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0156
cost_bps: 5
n_stocks: 50
n_factors: 3
-1.22-1.44-1.25-0.72
n_factors=4, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0160
cost_bps: 5
n_stocks: 5
n_factors: 4
-0.79-1.25-1.03+0.37
n_factors=4, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=True
r-multi-factor-us-sp500-0167
cost_bps: 10
n_stocks: 10
n_factors: 4
-1.15-1.12-1.98-0.33
n_factors=4, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0174
cost_bps: 10
n_stocks: 50
n_factors: 4
-2.01-2.33-3.02-0.57
n_factors=4, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0178
cost_bps: 10
n_stocks: 5
n_factors: 4
-1.01-0.94-0.92-1.36
n_factors=4, holding_days=5, n_stocks=50, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0188
cost_bps: 5
n_stocks: 50
n_factors: 4
-1.08-1.03-1.22-0.89
n_factors=4, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0198
cost_bps: 10
n_stocks: 10
n_factors: 4
-0.92-0.89-1.13-0.50
n_factors=4, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-multi-factor-us-sp500-0208
cost_bps: 5
n_stocks: 5
n_factors: 4
-0.63-0.81-0.50-0.31
n_factors=4, holding_days=20, n_stocks=20, cost_bps=10, regime_gate=False
r-multi-factor-us-sp500-0218
cost_bps: 10
n_stocks: 20
n_factors: 4
-0.80-0.97-0.40-1.11

対象ユニバース

S&P 500 constituents, ~503 stocks

関連する戦略

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

関連する戦略