backtest_picker
Replay a stock ranking strategy against a benchmark on historical price, earnings, analyst, and fundamentals data, with clear disclosures for survivorship and backfill bias.
Instructions
Disclosed PROXY backtest of the picker's ranking logic (portfolio.picker_backtest) on
live free data: for each ticker, fetches price history (yfinance, tier B), earnings-
surprise history (yfinance, tier B, see providers.yfinance_surprises), analyst rating-
change events (yfinance, tier B, US-listed/ADR only) and as-filed annual fundamentals
(SEC EDGAR XBRL, tier A, US filers only), then replays a quarterly-rebalance top-quintile
strategy against benchmark. This is NOT the production scorer (scoring/engine.py) --
it is a narrower, point-in-time-honest proxy answering "would this ranking logic have
beaten the benchmark on past data". Every mandatory disclosure (survivorship bias --
today's tickers only --, Yahoo backfill risk, no transaction costs, event-dated not
true point-in-time consensus revisions) is always returned under disclosures; a
ticker/benchmark with no usable price history is skipped and reported, never invented.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | ||
| tickers | Yes | ||
| benchmark | No | VWCE.MI | |
| horizon_months | No |