Pick Track Record
Every weekly pick we've published, resolved against actual market outcomes. No selective reporting. Sample-size warnings noted where data is still thin.
Two views: the CSP leg (did the put expire or get assigned) and the full wheel cycle (CSP → assigned → covered calls → called away, end-to-end P&L). Last updated: 8/24/2026, 1:01:23 PM.
01Rolling windows
Same dataset, sliced by recency. If recent results diverge sharply from long-term, the model may be drifting and we'll investigate.
| Bucket | N | Win rate | Assigned | Prem/$100k | Annualized |
|---|---|---|---|---|---|
Last 26 weeks | 31 | 61.3% | 38.7% | $2,050 | 21.12% |
Last 52 weeks | 31 | 61.3% | 38.7% | $2,050 | 21.12% |
All time | 31 | 61.3% | 38.7% | $2,050 | 21.12% |
Last 13 weeksn=25 | 25 | 72% | 28% | $2,187 | 17.5% |
02By tier
Opty's blue-chip picks ($100+ per share) vs. Opty Jr's budget-friendly picks (under $100). Different capital footprints, different risk profiles.
| Bucket | N | Win rate | Assigned | Prem/$100k | Annualized |
|---|---|---|---|---|---|
Opty Jrn=21 | 21 | 61.9% | 38.1% | $2,844 | 25.32% |
Optyn=10 | 10 | 60% | 40% | $1,698 | 12.31% |
03By score bucket — does the score actually work?
The honest test of a quality score: do higher scores produce better real-world outcomes? If 80–89 and 70–79 perform identically, the model is over-weighted on noise. If 90+ stocks dominate, the score is doing its job.
| Bucket | N | Win rate | Assigned | Prem/$100k | Annualized |
|---|---|---|---|---|---|
80-89n=16 | 16 | 62.5% | 37.5% | $2,082 | 20.75% |
90-100n=8 | 8 | 25% | 75% | $1,974 | 15.58% |
70-79n=4 | 4 | 100% | 0% | $1,719 | 15.8% |
below-60n=2 | 2 | 100% | 0% | $3,433 | 49.04% |
60-69n=1 | 1 | 100% | 0% | $2,248 | 37.01% |
04By sector
Which sectors actually wheel well. Useful for tilting your own portfolio, and a reality check on our sector caps.
| Bucket | N | Win rate | Assigned | Prem/$100k | Annualized |
|---|---|---|---|---|---|
Industrialsn=5 | 5 | 80% | 20% | $1,601 | 5.28% |
Technologyn=5 | 5 | 40% | 60% | $1,985 | 29.47% |
Consumer Cyclicaln=5 | 5 | 60% | 40% | $2,924 | 34.63% |
Energyn=4 | 4 | 50% | 50% | $4,613 | 34.91% |
Communication Servicesn=4 | 4 | 75% | 25% | $1,431 | 13.13% |
Healthcaren=3 | 3 | 100% | 0% | $1,511 | 5.64% |
Financial Servicesn=2 | 2 | 50% | 50% | $2,470 | 24.14% |
Basic Materialsn=2 | 2 | 0% | 100% | $2,160 | 21.68% |
Consumer Defensiven=1 | 1 | 100% | 0% | $1,433 | 7.28% |
05Weekly vs monthly puts (DTE)
Every pick gets two parallel resolutions: the monthly strike we actually recommend (21–45 DTE) and a weekly counterfactual (5–12 DTE) tracked silently alongside it. Same pick, same week, two real outcomes — so this comparison reflects what would have actually happened, not a simulation.
| Bucket | N | Win rate | Assigned | Prem/$100k | Annualized |
|---|---|---|---|---|---|
monthly (21-45d) | 31 | 58.1% | 41.9% | $2,204 | 21.3% |
bi-weekly (11-20d)n=24 | 24 | 83.3% | 16.7% | $1,486 | 51.55% |
weekly (≤10d)n=12 | 12 | 58.3% | 41.7% | $1,392 | 82.54% |
longer (45d+)n=1 | 1 | 100% | 0% | $2,034 | 6.64% |
Read the annualized column as the apples-to-apples comparison: a 1% return in a week annualizes very differently from 1% in a month. Higher annualized with similar win rate ⇒ that DTE bucket is the better engine on this universe.
06Full wheel cycle performance
The CSP leg above tells you whether the put expired or got assigned. This section tells you the full story: every CSP all the way through covered calls and called-away shares. One row per wheel cycle, end to end.
| Bucket | N | Completion | Called away | Avg return $ | Annualized |
|---|---|---|---|---|---|
Opty Jrn=16 | 16 | 50% | 0% | $315.06 | 27.2% |
Optyn=9 | 9 | 55.6% | 0% | $1,197.34 | 21.96% |
08Currently held (12)
Picks where we got assigned and are still selling covered calls. Stuck means shares have been held 90+ days without being called away — the honest “here's what didn't work cleanly” view. Mark-to-market values use the latest price snapshot.
| Symbol | Strike | Cost basis | Now | CCs | Premium | Mark / Cap gain | Total $ | Days | Status |
|---|---|---|---|---|---|---|---|---|---|
| IBMOpty | $235 | $230.06 | $235.32 | 0 | $494 | $526 | $1,020 | 125 | Stuck |
| LVSOpty Jr | $53 | $50.89 | $46.96 | 0 | $211 | $-393 | $-182 | 125 | Stuck |
| CTSHOpty Jr | $55 | $54.00 | $61.06 | 0 | $100 | $706 | $806 | 125 | Stuck |
| AMRZOpty Jr | $52.5 | $51.42 | $45.68 | 0 | $108 | $-574 | $-466 | 125 | Stuck |
| SWOpty Jr | $40 | $38.90 | $49.20 | 0 | $110 | $1,030 | $1,140 | 125 | Stuck |
| CVEOpty Jr | $29 | $28.45 | $32.96 | 0 | $95 | $451 | $546 | 125 | Holding shares |
| CRMOpty | $180 | $176.28 | $209.02 | 0 | $859 | $3,274 | $4,133 | 125 | Holding shares |
| APOOpty | $123 | $119.76 | $132.69 | 0 | $684 | $1,293 | $1,977 | 125 | Holding shares |
| VZOpty Jr | $45 | $44.65 | $49.36 | 0 | $87 | $471 | $558 | 125 | Holding shares |
| NTROpty Jr | $66 | $64.47 | $75.18 | 0 | $278 | $1,071 | $1,349 | 125 | Holding shares |
| UPSOpty | $110 | $107.35 | $102.10 | 0 | $661 | $-525 | $136 | 125 | Holding shares |
| HALOpty Jr | $36 | $35.34 | $35.37 | 0 | $152 | $3 | $155 | 111 | Holding shares |
09Most recent results (CSP leg)
The last 25 picks resolved.
| Symbol | Score | Strike | Prem | Result | Return | Resolved |
|---|---|---|---|---|---|---|
| EOGOpty | 89 | $130 | $2.20 | Expired ✓ | 1.692% | 8/21/2026 |
| MMMOpty | 87 | $150 | $2.60 | Expired ✓ | 1.733% | 8/21/2026 |
| MRKOpty | 87 | $120 | $2.18 | Expired ✓ | 1.817% | 8/21/2026 |
| TMUSOpty | 87 | $180 | $4.33 | Expired ✓ | 2.406% | 8/21/2026 |
| UPSOpty | 90 | $110 | $2.65 | Assigned | 2.409% | 8/21/2026 |
| DALOpty Jr | 87 | $77.5 | $1.41 | Expired ✓ | 1.819% | 8/21/2026 |
| EXELOpty Jr | 90 | $50 | $1.10 | Expired ✓ | 2.2% | 8/21/2026 |
| CARROpty Jr | 88 | $60 | $0.50 | Expired ✓ | 0.833% | 8/7/2026 |
| PFEOpty Jr | 83 | $25 | $0.23 | Expired ✓ | 0.92% | 7/17/2026 |
| PINSOpty Jr | 86 | $19 | $0.41 | Expired ✓ | 2.158% | 7/17/2026 |
| HPQOpty Jr | 74 | $23 | $0.60 | Expired ✓ | 2.609% | 7/17/2026 |
| DVNOpty Jr | 83 | $40 | $8.80 | Expired ✓ | 22% | 7/17/2026 |
| NCLHOpty Jr | 75 | $18 | $0.42 | Expired ✓ | 2.333% | 7/17/2026 |
| CSXOpty Jr | 73 | $45 | $0.50 | Expired ✓ | 1.111% | 7/17/2026 |
| HALOpty Jr | 81 | $36 | $0.66 | Assigned | 1.833% | 7/17/2026 |
| PMOpty | 91 | $165 | $2.60 | Expired ✓ | 1.576% | 7/10/2026 |
| CRMOpty | 88 | $180 | $3.72 | Assigned | 2.067% | 7/10/2026 |
| APOOpty | 91 | $123 | $3.24 | Assigned | 2.634% | 7/10/2026 |
| VZOpty Jr | 90 | $45 | $0.35 | Assigned | 0.778% | 7/10/2026 |
| NTROpty Jr | 87 | $66 | $1.53 | Assigned | 2.318% | 7/10/2026 |
| CVEOpty Jr | 92 | $29 | $0.55 | Assigned | 1.897% | 6/26/2026 |
| VFCOpty Jr | 76 | $16 | $0.44 | Expired ✓ | 2.75% | 6/5/2026 |
| MOpty Jr | 65 | $17.5 | $0.55 | Expired ✓ | 3.143% | 6/5/2026 |
| SOFIOpty Jr | 55 | $15 | $0.46 | Expired ✓ | 3.067% | 6/5/2026 |
| PATHOpty Jr | 55 | $9.5 | $0.50 | Expired ✓ | 5.263% | 6/5/2026 |
10Methodology & honest disclosures
- What “win” means (CSP leg): the cash-secured put expired worthless and we kept 100% of the premium with no shares assigned. Assigned outcomes are tracked separately and are not losses on their own — you keep the premium and own the shares at a discount. The full wheel-cycle section above shows what happens next.
- Wheel cycle status: Called away means the full wheel completed (shares sold via covered call). Holding shares means we're still in the covered-call phase. Stuck means we've held shares 90+ days without being called away — usually because the stock dropped below cost basis.
- Mark-to-market: for cycles still in progress, the “Mark” column uses the most recent price snapshot we have on file. It's an estimate, not a realized number.
- Weekly counterfactual: the weekly DTE numbers in section 05 are not hypothetical. Every pick stores a parallel weekly strike at generation time, and we resolve that weekly leg against the same closing-price feed used for the real (monthly) trade. We never recommended these weekly trades to users — they exist purely so we can publish an honest weekly-vs-monthly comparison instead of a guess.
- How outcomes are computed: for every pick, we fetch the underlying's closing price on the exact expiry date (institutional-quality SIP data via Polygon). Close at or above strike = expired worthless. Close below strike = assigned.
- Premium per $100k: total premium collected divided by total capital required (strike × 100), scaled to a $100,000 portfolio for apples-to-apples comparison.
- Annualized return: per-trade percentage return multiplied by 365 / days held. This is a return on capital tied up by the put, not a portfolio return.
- Sample sizes: any bucket with fewer than 30 resolved picks should be treated as directional, not statistically significant. We'll flag them in tables.
- What's excluded: picks still open (haven't reached expiry yet) and picks with missing expiry data. Currently 5 open CSPs and 12 assigned-but-still-held positions are not in the totals above.
- Slippage / fills: stats assume you sold the recommended balanced strike at the displayed premium on the day the pick was published. Real fills will vary — treat published numbers as an upper bound on what a disciplined trader could capture.
- Past performance does not predict future results. See our full disclaimer.
Disclaimer: OptyTrades is for educational and informational purposes only. Nothing on this site constitutes financial advice. Options trading involves substantial risk of loss. Always consult a licensed financial advisor before making investment decisions.