Betting Against Beta
Andrea Frazzini and Lasse Heje Pedersen, 2014 · Journal of Financial Economics
What the paper asks for.
Leverage-constrained investors over-pay for high-beta assets, so a rank-weighted long-low-beta / short-high-beta cross-sectional portfolio that levers each leg to ex-ante beta=1 (BAB factor) earns a positive risk-adjusted return.
- Type
- technical
- Implementation
- pandas
- Rebalance
- monthly
- Long-short
- yes
- Data
- One-command fetcher for WRDS-sourced task data
- Operational scope
- The paper-defined methodological core is retained; the fixed instruction instantiates only the data mappings, interfaces, and evaluation conventions needed for execution.
- 01 Data loading
- 02 Feature engineering
- 03 Model fitting
- 04 Signal generation
- 05 Portfolio construction
- 06 Execution
19 properties · 80 attempts.
Each row is one requirement the strategy must satisfy. The bar reports the share of observed checker verdicts that pass; missing checker output is not converted into a property verdict.
- A1no backfillstage · data loading69/71
- A2no global normalizestage · signal gen66/71
- A3no future data accessstage · feature eng64/71
- A4causal consistencystage · signal gen62/71
- A5no survivorship biasstage · data loading59/71
- A7data frequency alignmentstage · data loading63/71
- A8transaction timingstage · execution62/71
- A9signal delay teststage · signal gen63/71
- A10e2e metric consistencystage · evaluation71/71
- B1volatility window one year daily log returns§§3.2 “We compute rolling estimates of volatilities ... on a one-year rolling window”provenance · paper-explicitstage · feature eng62/71
- B2correlation window five year overlapping three day log returns§§3.2 “five-year rolling window ... of three-day overlapping log returns”provenance · paper-explicitstage · feature eng48/71
- B3beta decomposition rho sigma i over sigma m§§3.2 “β_TS = ρ · σ_i / σ_m”provenance · paper-explicitstage · feature eng70/71
- B4beta shrinkage w zero point six§§3.2 “β̂ = w · β_TS + (1 − w) · β_XS, where w = 0.6 ... we use the prior β_XS = 1”provenance · paper-explicitstage · feature eng71/71
- B5rank weighted portfolio w eq k z minus zbar§§3.2 “z is the cross-sectional rank ... z̄ is its cross-sectional average ... k = (z − z̄)”provenance · paper-explicitstage · signal gen67/71
- B6bab return formula levered excess§§3.2, Eq. (16) “r_{BAB,t+1} = (1 / β_L) (r_{L,t+1} − r_f) − (1 / β_H) (r_{H,t+1} − r_f)”provenance · paper-explicitstage · execution63/71
- B7monthly rebalance frequency§§3.2 “rebalanced every calendar month”provenance · paper-explicitstage · execution63/71
- B8excess returns used for legs§§3.2, Eq. (16) “(r_L − r_f) ... (r_H − r_f)”provenance · paper-explicitstage · execution62/71
- B9weights normalized each leg sums one§§3.2 “the portfolio weights of stocks in the low- and high-beta portfolios are scaled such that w_L'1 = 1 and w_H'1 = 1”provenance · paper-explicitstage · signal gen69/71
- B10no concurrent market return in beta§§3.2 “rolling window of three-day overlapping log returns”provenance · paper-explicitstage · feature eng64/71
The lowest-passing observed requirement is correlation window five year overlapping three day log returns: 48 of 71 observed checker verdicts pass. The full property list above shows whether errors concentrate in domain-level validity or the paper-specific strategy logic.