Timing the Factor Zoo
Andreas Neuhierl et al. (4 authors), 2024 · SSRN
What the paper asks for.
Aggregate many factor-timing signals via Partial Least Squares with one component (PLS1, expanding window) to forecast next-month excess returns for each equity risk factor; sort factors into quintile portfolios on these forecasts and trade the equal-weighted Q5 minus Q1 long-short multifactor portfolio (H-L).
- Type
- ml
- 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
20 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 backfill56/77
- A2no global normalize59/77
- A3no future data access56/77
- A4causal consistency30/77
- A8transaction timing76/77
- A9signal delay test31/77
- A10e2e metric consistency0/77
- B1pls components k equals 1§§3.2.2 / Table 2 “partial least squares regressions with 1 component”provenance · paper-explicit58/77
- B2expanding window pls estimation§§3.2.2 “We use each factor's first half of the sample to obtain initial estimates, and use the second half to form out-of-sample (OOS) forecasts”provenance · paper-explicit43/77
- B3quintile sort on predicted returns§§3.3 “Each month t we sort factors into five portfolios based on their t+1 predicted excess return”provenance · paper-explicit63/77
- B4high low portfolio q5 minus q1§§3.3 / Table 5 “we construct a high-low (H-L) portfolio”provenance · paper-explicit34/77
- B5momentum signals vol scaled capped§Appendix B, MOM1 “Annualized return in month t scaled by annualized past return volatility over 3Y, capped at ±2.”provenance · paper-explicit63/77
- B6tsmom ewma halflife 60§Section 2.2 and Appendix B “Ex-ante volatility is the square root of an exponentially weighted moving average of squared daily returns.”provenance · paper-inferredstage · signal gen67/77
- B7naive benchmark historical mean sort§§3.3, Eq. (11) “quintile portfolios which are sorted based on the historical average factor return. We name these benchmark portfolios 'naively timed'”provenance · paper-explicit50/77
- B8pls maximizes covariance§§3.2.1, Eq. (7) “To find the vectors v_m, we iteratively solve the following problem: v_m = arg max_v [cov(f_i, W_i v)]^2, s.t. v'v = 1”provenance · paper-explicit19/77
- B9reversal signals definition§§2.2 “The 60 (120) month reversal signal translates into a weight w = 1 − annualized factor return over the past 60 (120) months.”provenance · paper-explicit58/77
- B10oos r squared definition§§3.2.2, Eq. (8) “R²_OOS = 1 − Σ(f_{i,t+1} − f̂_{i,t+1})² / Σ(f_{i,t+1} − f̄_{i,t+1})² where f̄_{i,t+1} is the historical average return estimated through period t”provenance · paper-explicit34/77
- B11per factor pls regression§§3.2.1 (footnote 6) “Note that we run a separate PLS regression for each factor to capture differential dynamics in factor risk premia.”provenance · paper-explicit58/77
- B12momentum sign signals binary§§2.2 “we derive momentum signals that assign a weight of w_{i,t} = ±1, conditional on the sign of the past factor return over an n-months horizon”provenance · paper-explicit63/77
- B13pls predictive lag signal t return t plus 1§§3.2.1, Eq. (5) “f_i is a T×1 vector of factor i's one-period ahead excess returns”provenance · paper-explicit29/77
The lowest-passing observed requirement is e2e metric consistency: 0 of 77 observed checker verdicts pass. The full property list above shows whether errors concentrate in domain-level validity or the paper-specific strategy logic.