You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.0 KiB

name description type
PEAD Strategy Results Pure PEAD 7% strategy is the first configuration to show consistent OOS profitability across all temporal splits project

PEAD 7% Base — Production Candidate (2026-03-14)

First strategy to show positive expectancy out-of-sample on all splits.

Signal

  • Entry: earnings reaction_day_return >= 7%, volume_ratio_20d >= 1.5x
  • Scoring model: pead in libs/backtest/scoring.py (compute_pead_score())
  • Earnings-only, all other event types disabled
  • Filters disabled: veto_oneoff_penalty=1.0, veto_unknown_direction=false, veto_bearish_direction=false

Combined Results (155 trades across train/test/valid)

  • Win Rate: 67.1% (stable 64.7-67.5% across all splits)
  • Avg Win: +5.45%, Avg Loss: -3.48%
  • Mean PnL per trade: +2.51%
  • Median PnL: +3.73%
  • W/L Ratio: 1.57
  • PF: 1.31 (test), 1.95 (valid), 1.68 (train)

Key Files

  • Manifests: configs/experiments/pead_pure_7pct.json, pead_7pct_drift_a.json
  • Scoring: libs/backtest/scoring.pycompute_pead_score()
  • Domain: libs/backtest/domain.pySignalConfig.scoring_model, pead_reaction_threshold, pead_volume_threshold
  • Store wiring: apps/backtester/run.py_build_store() dispatches to PEAD scoring

Drift A Variant (wider target 3.0 ATR, hold 25d)

  • Higher per-trade returns (+7.13% avg win) but lower win rate (56.1%)
  • Mean PnL nearly identical (+2.59%) but median much lower (+0.40%)
  • OOS less stable (valid WR dropped to 40%)
  • Not recommended for production

Why: Previous strategies (baseline 3-factor scoring, small/mid-cap variants, execution optimization) all failed OOS. PEAD 7% succeeds because it relies on a well-documented academic anomaly with a simple, hard-to-overfit signal.

How to apply: Use PEAD 7% Base as the foundation. Any future strategy modifications should be compared against this baseline. The signal is the edge — execution/risk parameters have limited room for improvement (5 execution variants tested, none beat baseline OOS).