Each trading day, about 40–50 minutes after the US market open, PutFinder ranks cash-secured-put setups across a curated list of liquid US stocks. This page tracks how those ranked setups have actually resolved at expiration since 2026-06-22 — a daily, factual record of a ranking heuristic.
Descriptive research, not investment advice. PutFinder is not a registered investment adviser or broker-dealer.
Loading the forward-test track record…
⚠️
Track record temporarily unavailable
The live forward-test record couldn't be loaded right now — please check back shortly.
Settled vs Pending — “Settled” setups have reached expiration and have a final result; “Pending” ones are still open.
Daily Top-10 (A) vs Full Pool (B) — A is the Top-10 we actually publish each day; B is every setup that passed the basic liquidity screen. The gap between them is what this page measures.
Percentage points (pp) — the plain arithmetic gap between two percentages: subtract one from the other, and the result is in percentage points, not percent.
Everything is hypothetical — results are marked at the close mid, not actual fills (real executions differ due to bid–ask spread, timing and fees).
ⓘ① Hypothetical — results are marked at the daily close mid, not actual fills; real executions would differ due to bid–ask spread, order timing, and broker fees.
Data as of
—
Last run snapshot
Settled records ②
10682
Across all three cohorts
Pending ②
4438
Awaiting expiration
PUBLIC Our Top-10 vs. the full eligible pool
0.02 pp
Return per 30 days held, Top-10 minus the full eligible pool
②Settled & pending shown side-by-side③Win rate never without avg return + worst single settled return
Cohort Comparison
Three ways to slice the same setups.A · Daily Top-10 = the Top-10 we publish each day.B · Full Pool = every setup that passed the basic liquidity screen (a zero-skill baseline).B′ · Yield-Ranked Top-10 = a Top-10 picked by raw yield alone.A vs B is the settlement gap this page measures and reports with its interval; A vs B′ compares the multi-factor score against ranking on raw yield alone.
Return per 30 days held is the sum of a group's position returns divided by the total days those positions were held, scaled to 30 days, so every day a position is held counts the same, whatever its size. It adjusts for how long positions were held, not for when they were entered. Average return per position and win rate are shown as recorded, not adjusted for holding length, so the win rate is not comparable across different holding periods.
Expiration by expiration
Return per 30 days held for each expiration date, for all three groups, with the number of settled positions behind every figure. A figure from a few positions moves a lot on one result, so each is shown with its count. Each figure is the sum of the positions’ returns over their total days held, scaled to 30 days, so every day a position is held counts the same, whatever its size: it adjusts for how long positions were held, not for when they were entered. The last row is the all-settled figure from the cards above. Rows cover expirations where the Daily Top-10 had at least one settled position; the last row counts every settled position in each group.
Expiration
A − B (pp)
Pool underlying move %
Score Calibration
Setups grouped by their score, to show how score relates to settled results. Settled counts differ widely between groups (see the Settled column), and a single expiration can move one group noticeably. Grouped on the full pool so a low-score group exists. Source: pool.
Return per 30 days held % by score bucket
Score band
Return per 30d %
Win rate at expiration
Worst single settled return
Settled
Pending
Per-Ticker Results
Click a column header to sort.
Ticker
Win rate at expiration % ③
Return per 30d % ③
Worst single settled return % ③
Assign freq
Settled
Pending
Deep-Dive Analysis
A closer look at whether the Daily-Top-10-vs-pool gap is real: what it's made of, whether it survives accounting for how few independent settlement dates back it, and where the data is still too thin to read.
The across-expirations test, the Yield-Ranked comparison, the score-calibration and per-ticker tables and the sector, holding-period and score-band breakdowns use return per 30 days held. The win-rate split, the matched-pool comparison and the robustness checks use average return per position (not time-adjusted).
Win rate, or loss size?
The gap between the Daily Top-10 and the pool splits into three additive parts: a change in win rate, a change in how much a winner pays, and a change in how much a loser costs.
Is this distinguishable from chance?
Every settled Daily Top-10 contract shares one of only a handful of expiration dates — they are not independent draws. Clustering by expiration date is the statistically correct test; treating every contract as independent (shown alongside, for contrast) overstates significance.
A like-for-like comparison
Conditioning the pool on the Daily Top-10 cohort's own minimum score, plus what share of the raw gap the pool's catalyst-gated score-0 rows alone explain (a cohort the Daily Top-10 structurally can't contain).
Is the gap robust?
Trimmed means, medians, and dropping one expiration at a time — checking the gap isn't a single-outlier or single-ticker artifact.
Does the score beat the Yield-Ranked Top-10?
Daily Top-10 vs. a Top-10 picked by raw annualized yield alone (no Quality/VRP/Trend) — the honesty check for whether the multi-factor score earns its complexity.
Where the data is (and isn't) thick enough to read
Daily Top-10 cohort results by sector, days-to-expiration, and score band. A greyed-out row has too few settled contracts to read as comparable to the rows beside it — the number is shown, never hidden, but should not be treated as a reliable estimate.