Betting Against Beta (JP All Stocks)
slug: betting-against-beta-jp-all
performance summary
Sharpe (median)
+0.13
Max DD
-18.1%
Win rate
—
Alpha (ann.)
—
p-value
0.63
backtest period: 2023-08-01 → 2026-02-02
Sharpe across 160 grid runs:median 0.13best 0.78 (not representative)worst -1.25p25–p75 -0.17–0.37
Hypothesis
Frazzini & Pedersen (2014): low-beta stocks outperform on a risk-adjusted basis. Testing on the full Japanese stock universe.
Why it didn't work
Across 160 grid combinations, median Sharpe=0.13, best=0.78. Primary failure mode: regime_dependent.
Facts (5)
Best grid Sharpe ratio is 0.78 (p=0.13).
period 2023-08-01–2026-02-02; cost=5bps
cite ↗ /cite/betting-against-beta-jp-all-fact-best-sharpevia r-betting-against-beta-jp-all-0309
Median Sharpe across 160 grid runs is 0.13.
Full grid of 160 parameter combinations.
Median Sharpe in DOWN regime is 1.11 across 160 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
Median Sharpe in FLAT regime is -0.40 across 160 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
Median Sharpe in UP regime is 0.54 across 160 runs.
Regime=UP, N225 SMA20/SMA60 classification.
Runs (30)
| run | params | sharpe | UP | FLAT | DOWN |
|---|---|---|---|---|---|
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 | +0.03 | -0.04 | +0.49 | -2.14 |
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.21 | +0.75 | +0.49 | -2.14 |
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 | -0.15 | -0.19 | +0.28 | -2.32 |
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.02 | +0.56 | +0.28 | -2.32 |
beta_window=40, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False r-betting-against-beta-jp-all-0004 | cost_bps: 5 n_stocks: 10 beta_window: 40 | +0.02 | -0.42 | +0.77 | -4.73 |
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.77 | -0.83 | -0.99 | +0.33 |
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.12 | +0.35 | -0.77 | +1.28 |
beta_window=40, holding_days=10, n_stocks=10, cost_bps=10, regime_gate=False r-betting-against-beta-jp-all-0038 | cost_bps: 10 n_stocks: 10 beta_window: 40 | -0.24 | -0.08 | -0.59 | +1.50 |
beta_window=40, holding_days=20, n_stocks=10, cost_bps=5, regime_gate=False r-betting-against-beta-jp-all-0052 | cost_bps: 5 n_stocks: 10 beta_window: 40 | -0.48 | +0.14 | -1.69 | +0.09 |
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.13 | +0.21 | -0.38 | -0.09 |
beta_window=40, holding_days=60, n_stocks=5, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0067 | cost_bps: 10 n_stocks: 5 beta_window: 40 | -0.04 | +1.04 | -0.40 | -0.12 |
beta_window=60, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True r-betting-against-beta-jp-all-0081 | cost_bps: 5 n_stocks: 5 beta_window: 60 | +0.44 | +0.72 | +0.91 | -2.03 |
beta_window=60, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0087 | cost_bps: 10 n_stocks: 10 beta_window: 60 | +0.33 | +0.80 | +0.80 | -8.53 |
beta_window=60, holding_days=5, n_stocks=10, cost_bps=5, regime_gate=True r-betting-against-beta-jp-all-0101 | cost_bps: 5 n_stocks: 10 beta_window: 60 | +0.33 | +1.03 | -0.31 | +2.29 |
beta_window=60, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0115 | cost_bps: 10 n_stocks: 5 beta_window: 60 | +0.53 | +1.19 | -0.45 | +5.12 |
beta_window=60, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=True r-betting-against-beta-jp-all-0129 | cost_bps: 5 n_stocks: 5 beta_window: 60 | +0.18 | +0.81 | -1.24 | +5.77 |
beta_window=60, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0135 | cost_bps: 10 n_stocks: 10 beta_window: 60 | +0.19 | +0.62 | -0.50 | +1.28 |
beta_window=60, holding_days=60, n_stocks=10, cost_bps=5, regime_gate=True r-betting-against-beta-jp-all-0149 | cost_bps: 5 n_stocks: 10 beta_window: 60 | +0.56 | +1.01 | +0.37 | +0.77 |
beta_window=120, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0163 | cost_bps: 10 n_stocks: 5 beta_window: 120 | +0.30 | +1.26 | +0.29 | -2.07 |
beta_window=120, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=True r-betting-against-beta-jp-all-0177 | cost_bps: 5 n_stocks: 5 beta_window: 120 | +0.47 | +0.89 | -0.14 | +1.85 |
beta_window=120, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0183 | cost_bps: 10 n_stocks: 10 beta_window: 120 | +0.41 | +1.48 | -0.24 | +0.98 |
beta_window=120, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=True r-betting-against-beta-jp-all-0197 | cost_bps: 5 n_stocks: 10 beta_window: 120 | +0.65 | +1.37 | -0.59 | +4.40 |
beta_window=120, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0211 | cost_bps: 10 n_stocks: 5 beta_window: 120 | -0.09 | +0.77 | -1.38 | +2.66 |
beta_window=120, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=True r-betting-against-beta-jp-all-0225 | cost_bps: 5 n_stocks: 5 beta_window: 120 | +0.74 | +1.35 | +0.33 | +0.90 |
beta_window=120, holding_days=60, n_stocks=10, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0231 | cost_bps: 10 n_stocks: 10 beta_window: 120 | +0.67 | +0.28 | +0.58 | +1.47 |
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.03 | -1.49 | +0.54 | -0.71 |
beta_window=250, holding_days=1, n_stocks=10, cost_bps=10, regime_gate=False r-betting-against-beta-jp-all-0246 | cost_bps: 10 n_stocks: 10 beta_window: 250 | -0.73 | -1.28 | -0.19 | -1.66 |
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.09 | -0.01 | -0.40 | +0.90 |
beta_window=250, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=True r-betting-against-beta-jp-all-0291 | cost_bps: 10 n_stocks: 5 beta_window: 250 | -1.25 | +0.20 | -3.01 | +2.84 |
beta_window=250, holding_days=60, n_stocks=10, cost_bps=5, regime_gate=True r-betting-against-beta-jp-all-0309 | cost_bps: 5 n_stocks: 10 beta_window: 250 | +0.78 | -0.04 | +1.09 | +1.77 |
Target universe
Tokyo Stock Exchange all listed (Prime/Standard/Growth), ~3747 stocks
Related strategies
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-07-31T01:32:13