qbuntuqbuntu

Betting Against Beta (JP Growth Stocks)

slug: betting-against-beta-jp-growth
performance summary
Sharpe (median)
-0.65
Max DD
-26.1%
Win rate
Alpha (ann.)
p-value
0.25
backtest period: 2023-08-012026-06-01
Sharpe across 320 grid runs:median -0.65best 0.24 (not representative)worst -2.11p25–p75 -0.96-0.39

Hypothesis

Frazzini & Pedersen (2014): low-beta stocks outperform on a risk-adjusted basis. LONG lowest beta, SHORT highest beta. Beta estimated via rolling OLS against N225.

Why it didn't work

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

Facts (7)

Average monthly return correlation with other strategies in DOWN regime: 0.10
Pairwise Pearson correlation of monthly returns across 42 strategies, filtered to DOWN regime months (N=3, N225 < SMA20 < SMA60)
correlation0.10
Average monthly return correlation with other strategies (full period): 0.08
Pairwise Pearson correlation of monthly returns across 42 strategies, full backtest period
correlation0.08
Best grid Sharpe ratio is 0.24 (p=0.74).
period 2023-08-01–2026-06-01; cost=5bps
sharpe_ratio0.24
Median Sharpe across 320 grid runs is -0.65.
Full grid of 320 parameter combinations.
sharpe_ratio-0.65
Median Sharpe in DOWN regime is -1.37 across 320 runs.
Regime=DOWN, N225 SMA20/SMA60 classification.
sharpe_ratio-1.37
Median Sharpe in FLAT regime is -0.42 across 320 runs.
Regime=FLAT, N225 SMA20/SMA60 classification.
sharpe_ratio-0.42
Median Sharpe in UP regime is -0.96 across 320 runs.
Regime=UP, N225 SMA20/SMA60 classification.
sharpe_ratio-0.96

Runs (30)

runparamssharpeUPFLATDOWN
beta_window=40, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-growth-0000
cost_bps: 5
n_stocks: 5
beta_window: 40
-0.22-0.42+0.29-4.48
beta_window=40, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-growth-0001
cost_bps: 5
n_stocks: 5
beta_window: 40
-0.30-0.64+0.29-4.48
beta_window=40, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-growth-0002
cost_bps: 10
n_stocks: 5
beta_window: 40
-0.34-0.55+0.19-4.66
beta_window=40, holding_days=1, n_stocks=5, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-growth-0003
cost_bps: 10
n_stocks: 5
beta_window: 40
-0.39-0.70+0.19-4.66
beta_window=40, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-growth-0012
cost_bps: 5
n_stocks: 50
beta_window: 40
-1.23-1.96-0.63-0.92
beta_window=40, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-growth-0018
cost_bps: 10
n_stocks: 5
beta_window: 40
-0.68-2.35+0.29-15.64
beta_window=40, holding_days=10, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-growth-0032
cost_bps: 5
n_stocks: 5
beta_window: 40
-1.10-1.40-0.57-5.40
beta_window=40, holding_days=10, n_stocks=50, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-growth-0046
cost_bps: 10
n_stocks: 50
beta_window: 40
-1.16-2.04-0.33-7.46
beta_window=40, holding_days=20, n_stocks=50, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-growth-0060
cost_bps: 5
n_stocks: 50
beta_window: 40
-0.82-1.31-0.46-0.86
beta_window=40, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-growth-0064
cost_bps: 5
n_stocks: 5
beta_window: 40
-0.37-1.12-0.08+0.55
beta_window=40, holding_days=60, n_stocks=20, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-growth-0075
cost_bps: 10
n_stocks: 20
beta_window: 40
-0.47-1.62-0.09+0.06
beta_window=60, holding_days=1, n_stocks=20, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-growth-0089
cost_bps: 5
n_stocks: 20
beta_window: 60
-0.99-0.95-0.87-1.99
beta_window=60, holding_days=5, n_stocks=10, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-growth-0103
cost_bps: 10
n_stocks: 10
beta_window: 60
-0.80-1.47-0.30-3.23
beta_window=60, holding_days=10, n_stocks=10, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-growth-0117
cost_bps: 5
n_stocks: 10
beta_window: 60
-0.38-0.27-0.23-1.60
beta_window=60, holding_days=20, n_stocks=5, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-growth-0131
cost_bps: 10
n_stocks: 5
beta_window: 60
-0.84-0.57-1.21+0.16
beta_window=60, holding_days=60, n_stocks=5, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-growth-0145
cost_bps: 5
n_stocks: 5
beta_window: 60
-0.28-0.98-0.14+1.16
beta_window=60, holding_days=60, n_stocks=50, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-growth-0159
cost_bps: 10
n_stocks: 50
beta_window: 60
-0.40-1.37+0.09-0.84
beta_window=120, holding_days=1, n_stocks=50, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-growth-0173
cost_bps: 5
n_stocks: 50
beta_window: 120
-0.44-0.84+0.64-1.96
beta_window=120, holding_days=5, n_stocks=20, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-growth-0187
cost_bps: 10
n_stocks: 20
beta_window: 120
-0.96-1.22-0.56-4.17
beta_window=120, holding_days=10, n_stocks=20, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-growth-0201
cost_bps: 5
n_stocks: 20
beta_window: 120
-0.59-0.79-0.40-8.46
beta_window=120, holding_days=20, n_stocks=10, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-growth-0215
cost_bps: 10
n_stocks: 10
beta_window: 120
-1.29-1.50-0.96-2.76
beta_window=120, holding_days=60, n_stocks=10, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-growth-0229
cost_bps: 5
n_stocks: 10
beta_window: 120
+0.03-0.75+0.25+1.38
beta_window=250, holding_days=1, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-growth-0240
cost_bps: 5
n_stocks: 5
beta_window: 250
-0.10-1.29+0.30+16.97
beta_window=250, holding_days=1, n_stocks=10, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-growth-0244
cost_bps: 5
n_stocks: 10
beta_window: 250
-0.07+0.05-0.32+4.12
beta_window=250, holding_days=5, n_stocks=5, cost_bps=5, regime_gate=True
r-betting-against-beta-jp-growth-0257
cost_bps: 5
n_stocks: 5
beta_window: 250
+0.24-1.52+0.23+5.03
beta_window=250, holding_days=5, n_stocks=5, cost_bps=10, regime_gate=True
r-betting-against-beta-jp-growth-0259
cost_bps: 10
n_stocks: 5
beta_window: 250
+0.13-1.66+0.12+4.87
beta_window=250, holding_days=5, n_stocks=50, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-growth-0270
cost_bps: 10
n_stocks: 50
beta_window: 250
-2.11-3.04-1.80+0.50
beta_window=250, holding_days=10, n_stocks=5, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-growth-0274
cost_bps: 10
n_stocks: 5
beta_window: 250
-1.54-2.02-1.46+2.49
beta_window=250, holding_days=20, n_stocks=5, cost_bps=5, regime_gate=False
r-betting-against-beta-jp-growth-0288
cost_bps: 5
n_stocks: 5
beta_window: 250
-0.90-0.70-0.95-1.30
beta_window=250, holding_days=20, n_stocks=50, cost_bps=10, regime_gate=False
r-betting-against-beta-jp-growth-0302
cost_bps: 10
n_stocks: 50
beta_window: 250
-1.85-1.32-2.08-20.10

Target universe

Tokyo Stock Exchange Growth Market, ~495 stocks, tv >= 30M JPY
source: qbuntu-analysis · kabu STATION REST API + J-Quants daily bars
computed asof: 2026-07-31T01:31:48

Related strategies