qbuntuqbuntu

ベータに賭ける戦略(BAB)(東証全銘柄)のバックテスト

Betting Against Beta (JP All Stocks)

slug: betting-against-beta-jp-all

東証全銘柄(約3,747銘柄)でベータに賭ける戦略(BAB)をバックテストした。320通りの中央値 Sharpe は -0.90。p-value は 0.04。Max DD は -49.2%。期間は 2022-04-01〜2026-09-01。最良 Sharpe -0.19 は代表値ではない。

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

成績の中央値

Sharpe(中央値)
-0.90
Max DD
-49.2%
勝率
—
Alpha(年率)
—
p-value
0.04
期間: 2022-04-01 → 2026-09-01
320通りの Sharpe:中央値 -0.90最良 -0.19 (代表値ではない)最悪 -1.69p25–p75 -1.09–-0.71

仮説

原文は英語。

Frazzini & Pedersen (2014): low-beta stocks outperform on a risk-adjusted basis. Testing on the full Japanese stock universe.

採用しなかった理由

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

検証ファクト (5)

Best grid Sharpe ratio is -0.19 (p=0.71).
period 2022-04-01–2026-09-01; cost=5bps
sharpe_ratio-0.19
Median Sharpe across 320 grid runs is -0.90.
Full grid of 320 parameter combinations.
sharpe_ratio-0.90
Median Sharpe in DOWN regime is -1.71 across 320 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-1.71
Median Sharpe in FLAT regime is -0.90 across 320 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.90
Median Sharpe in UP regime is -0.64 across 320 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.64

検証ラン (30)

runparamssharpeUPFLATDOWN
beta_window=40, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0000
cost_bps: 5
n_stocks: 5
beta_window: 40
-1.07-0.79-0.47-5.02
beta_window=40, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-all-0001
cost_bps: 5
n_stocks: 5
beta_window: 40
-0.79-0.11-0.47-5.02
beta_window=40, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0002
cost_bps: 10
n_stocks: 5
beta_window: 40
-1.20-0.93-0.58-5.17
beta_window=40, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-all-0003
cost_bps: 10
n_stocks: 5
beta_window: 40
-0.88-0.17-0.58-5.17
beta_window=40, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0012
cost_bps: 5
n_stocks: 50
beta_window: 40
-1.05-1.40-0.32-2.12
beta_window=40, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0018
cost_bps: 10
n_stocks: 5
beta_window: 40
-0.76-0.31-0.56-4.86
beta_window=40, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0032
cost_bps: 5
n_stocks: 5
beta_window: 40
-0.72-0.54-0.37-3.57
beta_window=40, holding_days=10, n_stocks=50, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0046
cost_bps: 10
n_stocks: 50
beta_window: 40
-0.67-0.30-0.74-1.46
beta_window=40, holding_days=20, n_stocks=50, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0060
cost_bps: 5
n_stocks: 50
beta_window: 40
-0.64-0.58-0.66-0.66
beta_window=40, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0064
cost_bps: 5
n_stocks: 5
beta_window: 40
-0.26+0.67-0.15-3.32
beta_window=40, holding_days=60, n_stocks=20, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-all-0075
cost_bps: 10
n_stocks: 20
beta_window: 40
-1.07-1.15-0.89-4.56
beta_window=60, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-all-0089
cost_bps: 5
n_stocks: 20
beta_window: 60
-0.97-0.57-0.57-2.60
beta_window=60, holding_days=1, n_stocks=20, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0090
cost_bps: 10
n_stocks: 20
beta_window: 60
-1.69-2.42-0.83-2.74
beta_window=60, holding_days=5, n_stocks=20, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0104
cost_bps: 5
n_stocks: 20
beta_window: 60
-0.71-0.31-0.79-2.09
beta_window=60, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0118
cost_bps: 10
n_stocks: 10
beta_window: 60
-0.84-0.27-1.08-2.15
beta_window=60, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0132
cost_bps: 5
n_stocks: 10
beta_window: 60
-0.80-0.43-1.34-0.95
beta_window=60, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0146
cost_bps: 10
n_stocks: 5
beta_window: 60
-0.59-0.30-0.48-1.55
beta_window=120, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0160
cost_bps: 5
n_stocks: 5
beta_window: 120
-0.87-0.30-0.67-2.49
beta_window=120, holding_days=1, n_stocks=50, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0174
cost_bps: 10
n_stocks: 50
beta_window: 120
-1.10-1.70-0.14-2.26
beta_window=120, holding_days=5, n_stocks=50, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0188
cost_bps: 5
n_stocks: 50
beta_window: 120
-0.97-0.32-1.13-2.16
beta_window=120, holding_days=10, n_stocks=20, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0202
cost_bps: 10
n_stocks: 20
beta_window: 120
-1.06-0.34-1.46-1.70
beta_window=120, holding_days=20, n_stocks=20, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0216
cost_bps: 5
n_stocks: 20
beta_window: 120
-1.38-0.95-1.59-2.04
beta_window=120, holding_days=60, n_stocks=10, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0230
cost_bps: 10
n_stocks: 10
beta_window: 120
-0.91-0.97-0.90-0.74
beta_window=250, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0240
cost_bps: 5
n_stocks: 5
beta_window: 250
-0.95-0.53-1.17-1.72
beta_window=250, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-all-0245
cost_bps: 5
n_stocks: 10
beta_window: 250
-0.40+0.27-0.51-1.29
beta_window=250, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-all-0259
cost_bps: 10
n_stocks: 5
beta_window: 250
-0.34-0.11-0.83+0.28
beta_window=250, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0260
cost_bps: 5
n_stocks: 10
beta_window: 250
-0.19-0.08-0.36-0.01
beta_window=250, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0274
cost_bps: 10
n_stocks: 5
beta_window: 250
-1.08-1.90-0.97+0.80
beta_window=250, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-all-0288
cost_bps: 5
n_stocks: 5
beta_window: 250
-1.29-2.42-0.98+9.00
beta_window=250, holding_days=20, n_stocks=50, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-all-0302
cost_bps: 10
n_stocks: 50
beta_window: 250
-1.09-0.84-1.95+6.74

対象ユニバース

Tokyo Stock Exchange all listed (Prime/Standard/Growth), ~3747 stocks

関連する戦略

source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-09-26T05:46:57

関連する戦略