Methodology
PutWatch scores every candidate the same way every weekday. This page is the whole of it: what gets excluded before scoring, what the six factors measure, what each one is worth, and how ten picks are chosen from what survives.
Nothing here is proprietary on purpose. A score you cannot check is a score you have to take on trust, and this product is not worth much if that is what it is asking for. The numbers below are read directly from the code that runs the scan.
The universe
A few hundred liquid US names, rebuilt nightly. Everything that follows runs against that list, so a name that never enters it is never scored, never picked and never appears in the record.
The hard gates
A candidate has to pass all of these. There is no partial credit and no score high enough to rescue a failure — which is the rule that stops a rich implied volatility from carrying an untradeable contract onto the list.
They run in two passes because the two cost very different amounts. The first judges the underlying from data already in hand; only what survives is worth requesting an option chain for, and the second judges what comes back.
On the underlying
- 20-day average share volume below 1,000,000
- Fewer than 126 sessions of price history
- Leveraged or inverse fund
- A pending acquisition or delisting, from its SEC filings
- A late filing or a non-reliance notice, from its SEC filings
- Earnings inside the expiration window
On the contract
- No expiration between 32 and 70 days out
- Open interest at or below 500
- Contract volume at or below 100
- Spread wider than 5% of mid and $0.10
- Credit below $0.30 per share
The expiration band is absolute rather than a window around the target, because standard monthly expirations sit 28 to 35 days apart and a narrow window drops the third Friday out of range for weeks at a time. The floor of 32 days is what protects the exit rules: every close in the app is calibrated for 45 days and the time-based close fires at 21, so an entry much below that would hit its close inside a fortnight, in the slowest part of the decay curve.
The six factors
What survives the gates is scored out of 100. Six factors, fixed weights, and no multiplier applied to the total.
| Factor | What it asks | Points |
|---|---|---|
IV rank | Is this name’s implied volatility high for this name? | 20 |
IV vs realized | Is the market charging more than the stock has actually moved? | 20 |
Return on capital | Is the credit worth the capital, per unit of assignment risk? | 20 |
Liquidity | Can this contract be entered and exited? | 15 |
Trend safety | Is the chart falling into the strike? | 15 |
Event risk | Is there a known catalyst inside the window? | 10 |
Total | 100 | |
Each factor normalizes to 0–100 on a fixed curve and is then worth its weight. Three of the six take a single number, and those curves are published in full below. The other three are averages of sub-measurements.
IV rank
Where this name's implied volatility sits in its own past year. The floor is 0.10, not zero: a name in the bottom tenth of its own year genuinely offers no volatility-rank evidence for selling premium.
10% → 0 · 30% → 30 · 50% → 65 · 70% → 90 · 85% → 100
Implied against realized volatility
Implied divided by realized, each measured over the contract's own horizon rather than thirty days regardless. The taper above 2.0 is deliberate — an extreme ratio usually means the market knows about a catalyst we do not.
1.0× → 0 · 1.2× → 40 · 1.4× → 75 · 1.6× → 100 · 2.0× → 100 · 3.0× → 70
Return on capital
Annualized, and per unit of assignment risk rather than raw: the contract taken is not exactly at the target delta, and a fatter delta collects more credit. Scoring the raw figure paid for risk the model never charged for. The taper above 80% is the same reasoning as above — a 200% annualized credit is a warning, not a bargain.
10% → 0 · 20% → 40 · 30% → 70 · 40% → 90 · 50% → 100 · 80% → 100 · 150% → 60
Liquidity, trend and event risk
- Liquidity averages three equally weighted measurements of the contract: the bid-ask spread as a fraction of the mid, open interest, and contract volume.
- Trend safety averages four measurements of the chart: price against its 200-day average, price against its 50-day average, distance above the 52-week low, and the depth of any recent decline. A measurement the price history cannot support scores zero rather than being dropped from the average — averaging over what exists would quietly reward a name for the data it lacks.
- Event risk is a state rather than a curve, scored from the table below.
| Calendar state | Out of 100 |
|---|---|
A published earnings date, outside the window | 100 |
The instrument does not report earnings at all | 100 |
Earnings 1–7 days after expiry | 60 |
No earnings date published, and none can be estimated | 60 |
A known non-earnings catalyst inside the window | 40 |
No published date, but a quarterly estimate lands inside | 20 |
Earnings inside the window | 0 |
An unpublished earnings date scores the same as a report known to fall just after expiry, because both mean roughly “there is probably an event near this window and it is not inside it as far as anyone can tell.” An instrument with no earnings at all — a fund — scores full marks, and is kept separate from a date that merely has not been published. Those are not the same fact, and treating them alike would apply a haircut to a large share of any day’s candidates for an event that cannot happen.
What is measured and not scored
Two things are computed for every candidate and contribute nothing to its score: what the name does overnight, and the shape of the put wing around the chosen strike. They are recorded because they are cheap to record and impossible to reconstruct later, and they are not scored because no measurement has yet shown they should be. A factor is not added here for looking sensible.
A score means the same thing every day
No part of the model looks at the rest of the day’s candidates. Every curve is a fixed scale, so a 78 in March means what a 78 means in October, and it is never “best of a bad day.” That constraint is the reason the track record can be compared across months at all.
It is also the reason diversification is applied when the list is cut rather than inside the score. Discounting a candidate for how many same-sector names happened to outrank it that morning is not a fact about the candidate.
From scored pool to ten picks
- Candidates with earnings inside the expiration window are excluded from the published list. They are still scored, and readers who have asked to see them get them — but the published list is cut from what the default settings would show, so that the record reports the product rather than something adjacent to it.
- The top ten are taken in score order, with at most 2 from any one sector. If that cannot fill the list the cap relaxes to 3. The cap relaxes and the length does not: a reader who asked for ten picks should get ten.
- A separate top ten is produced for short strangles, the same way.
- Each list is then filtered against what your account can carry, and balanced against the sectors you already hold.
The expiration the scan quotes is chosen off the monthly cycle, inside a band of 32 to 70 days.
Versions
The model is at version 4, and every scored row records the version it was scored under. That is what makes the record honest across a change: rows scored by different models are not silently averaged together.
A proposed change is replayed over every stored candidate before it is adopted, and the replay reports how far the order moves and how many picks change. Most proposals move one pick in ten and would cost a split record, which is usually the argument against making them.
See it applied
Every pick this model has published is tracked as a paper position and closed by fixed rules, losses included.
PutWatch publishes research and education, not investment advice. Nothing on this page is a recommendation to buy or sell any security. See the disclaimer.