YieldProof

Methodology

No black box

Every number on YieldProof is computed from the option chain with the formulas below. No opaque “AI score,” no proprietary magic — just the same math a careful options seller does by hand, run across the market every day.

what each column means

The results table, decoded

Market data gives us the raw ingredients (🟦); our engine computes every decision metric (🟩). That’s the whole point — if the data feed handed us a “good trade” score, anyone could copy it.

ColumnHow it’s foundSource
Trade / ExpiresThe ticker, strike, and expiration🟦 market data
✓ liquid / OIOpen interest — contracts currently live🟦 market data
⚠ earningsCompany reports before the trade expires🟦 market data
↗ uptrend / ↘ pullbackChecks on the stock's own price history — see the trend, below🟩 computed
PriceThe stock's price when the option was quoted🟦 market data
Cushion(price − strike) ÷ price: the fall before the strike is reached🟩 computed
Odds of profitΦ(d), a lognormal CDF at your breakeven🟩 computed
IVImplied volatility of that option, as a yearly figure🟦 market data
Returncredit ÷ capital, over the holding period🟩 computed
AnnualizedReturn × 365 ÷ days to expiry — a rate, not a forecast🟩 computed
Collectthe put's bid × 100🟩 from 🟦 bid
Capitalcash set aside to buy the shares: strike × 100🟩 computed
Bad caseloss at the stock's 10th-percentile price, capped at max loss🟩 computed

The exact formulas are below and in the code (`lib/ranking/strategies.ts`, `pop.ts`).

what we screen

Cash-secured puts only

We rank one trade: the cash-secured put. You sell a put below today’s price, collect the premium, and set aside the cash to buy 100 shares at the strike. If the stock stays above the strike you keep the premium; if it doesn’t, you buy the shares at a price you agreed to in advance.

We chose it because its payoff is knowable up front — the credit, the cash, the breakeven, and the odds can all be computed the moment you enter — and because it is the income trade a beginner can hold in their head. We do not rank directional bets (buying calls or puts): honestly ranking a trade that depends on predicting direction isn’t possible.

Covered calls appear in one place: when you search a ticker. They are the next step after a put is assigned (see the wheel, below), so they only make sense for a stock you already hold. We no longer screen credit spreads.

what we scan

Which stocks, and when

Our list holds about 11,200 US stocks and funds that have listed options. One scan cannot cover them all, so each trading day we scan up to 3,500 of them. A hand-picked core of large, liquid names always goes first. The rest are ordered by how often each has produced a trade that cleared the quality floor, so the day is spent where trades are actually found. A name that has never been tried still gets a turn. Any ticker outside the day’s scan can be checked on demand with the search box.

Inverse funds are never screened — the 178 funds built to fall when their market rises (for example SQQQ or SOXS). A put can leave you owning the shares, and an inverse fund loses value over time even when its market ends flat. Leveraged long funds (for example TQQQ or SOXL) are screened. They move two or three times as far as the market they track, in both directions, and their high premiums reflect that. Our paper-trading record does not enter them.

The scan runs once per trading day, at least 2 hours after the US market opens. In the first part of the session, prices and bid-ask spreads are still settling. On a market holiday there is no scan. The time of the quotes is printed above the list — prices move after that, so check your broker before you trade.

The list shows at most two puts per stock, with a link to open the rest, so that one stock with many strikes cannot fill the page. Nothing is removed: every put that clears the quality floor is stored and can be reached with the filters.

the odds

Probability of profit (POP)

POP is the model probability the trade finishes at or above breakeven. We compute it with a lognormal model of the stock price — the standard Black-Scholes assumption — evaluated at the breakeven price, not the strike. (Using the strike, or the common “1 − delta” shortcut, under-counts a seller’s real odds because you also keep the premium.) Inputs: the stock price, the option’s implied volatility, strike, premium, and days to expiry. Implied volatility (IV) sets the width of that price distribution — higher IV widens the expected move and lowers POP, lower IV tightens it and raises POP; each trade’s IV is shown in the results table. We cross-check the result against the contract’s delta.

A 75% POP means the trade has historically worked about three times out of four — not that it can’t lose. It loses one time in four.

the tradeoff

Why we don't chase 90%+ odds

The most counterintuitive fact in options: because they’re priced roughly fairly, higher odds pay a smaller reward. You can’t have both. Here’s the tradeoff across a real day’s cash-secured puts:

Odds of profitAvg return
80–85%~1.2%
75–80%~2.1%
65–75%~3.4%
under 65%~7.1%

A 90%+ odds trade would pay roughly 0.3% — you’d risk thousands to collect pennies. Traders call it “picking up pennies in front of a steamroller”: it feels safe, but the rare loss dwarfs everything you collected. So we cap the scan at 0.10 delta (excluding those trades) and rank by odds × return — targeting the sweet spot where the odds are good and the premium is worth collecting, rather than either extreme.

the reward

Return on capital, and why we lead with period return

Return on capital (ROC) is the credit you collect ÷ the cash you set aside: premium ÷ (strike × 100). That cash is the full cost of buying the shares, so the figure is conservative.

We headline the period return (“2.4% over 32 days”). The Annualized column is there to compare trades of different lengths, and it is not a forecast. Annualized returns on short-dated options look enormous — a 2.4% return over 32 days “annualizes” to ~27% — but that assumes you flawlessly repeat the trade every month all year, which rarely happens. The period return is the honest one.

the risk

The realistic bad case

Alongside the max loss, every trade shows a “bad case” in dollars: what you’d lose if the stock landed at its statistical 10th-percentile price by expiry, capped at the trade’s max loss. It’s not the worst case — it’s a realistic rough day, so you can size positions sensibly.

the quality floor

How we throw out junk trades

Before a trade is ever shown, it must clear every gate below:

  • Odds sweet spot (delta 0.10–0.40): we only scan contracts in this range. Below 0.10 delta are the deep-OTM 90%+ trades that pay pennies (see the next section); above 0.40 is too close to the money. Delta is the technical name for the odds dial.
  • Out-of-the-money only: every strike starts below today’s price. In-the-money strikes are never scanned.
  • Time window (7–60 days to expiry): over 60 ties up capital too long. Trades under 15 days move fast and need closer watching, so our paper-trading record enters 15 days and up only.
  • Conservative fills: premiums assume you sell at the bid — the price you can actually get, never the optimistic midpoint.
  • Liquidity: open interest ≥ 50 (how many of that contract are live in the market), at least 10 contracts traded in the same session, a bid-ask spread ≤ 10% of the mid price, and a bid of at least $0.05 — so you can actually get in and out at a fair price. The spread is the rule that protects your fill; open interest and volume show that the contract is really trading. Rows with open interest of 1,000 or more carry a “✓ liquid” mark.
  • Earnings excluded by default: no trades where the company reports earnings before expiry — those are unpredictable overnight moves. Turn Skip earnings off to see them, marked ⚠. A fund does not report earnings, so it never carries the mark. For a few stocks the data has no date; those carry no mark either and stay in the list.
  • Enough premium: at least $0.15 per share, so commissions don’t eat the trade.

The odds presets then apply a floor: Best odds shows puts at 75% or better, Balanced at 70%, and Bigger income at 65%. Covered calls, in a ticker search, use lower floors (59% / 56% / 53%): a covered call breaks even at today’s price minus the premium, so it cannot reach 75% however good it is.

The odds we display are always the true probability — we never rescale the number you see. Our public track record only enters trades that clear the 75% bar.

the trend

Is the stock in an uptrend?

Selling a put loses money only if the stock falls past your breakeven, and a stock that has been falling is more likely to keep falling. So every trade carries four checks on the stock’s own price history, refreshed once a day after the close:

  • 1-year trend up: the price is higher than a year ago and above its 200-day average.
  • 5-year trend up: the price is higher than five years ago.
  • Months mostly green: at least 7 of the last 12 completed months closed higher than the month before.
  • Not stretched: today’s price is within 1.5 standard deviations of its 20-day average — inside its Bollinger Band, not at an edge.

A stock is marked uptrend when at most one check fails. A steadily rising stock often sits near the top of its band and fails “not stretched” alone; that is still an uptrend. A stock with too little history for a check shows not checked rather than a guess, and the optional Uptrend only filter removes only what failed — unchecked names stay in the list.

The four checks describe the long-term direction. Open any row for the short-term picture as well: the price against its 50-day and 200-day averages, its highest and lowest close of the last year, and its 14-day RSI. RSI compares the size of recent up-days with recent down-days on a scale of 0 to 100: about 50 is balanced, a low figure means the price has been falling. None of these is a pass-or-fail check, and none changes the uptrend mark.

The Recent dip filter keeps stocks whose RSI is at or below the level you pick (50, 40 or 30). It reads the short term only: most stocks in a dip are simply falling, and they carry a plain “↘ dip” mark. A pullback is the narrower case — a dip inside an uptrend, RSI at 40 or below — and is marked “↘ pullback”. Put sellers look for one to avoid selling at a short-term high. To list them, pick a dip level and tick Uptrend only, or use the Pullback in an uptrend preset. A dip is not a signal that the fall is over. A stock with no RSI on record cannot be called a dip, so the dip filter leaves it out.

These describe the price, not the business. A rising price is not proof of a good company, a falling one is not proof of a bad one, and a trend describes the past — it can turn.

managing trades

What to do if a trade goes against you

Picking the entry is only half the job — what you do when a trade is tested matters more for your results. A general playbook (not advice):

  • Cash-secured puts: if the stock drops below your strike, you can let it assign and own the shares at your breakeven, or roll the put down and out for a credit to lower that breakeven and buy more time.
  • Covered calls: if the stock runs past your strike, your shares are called away there. To keep them, roll the call up and out for a credit before expiration.

Each trade shows its own numbers — breakeven, bad case, called-away price — so the choice is concrete, not abstract.

the wheel

Turning assignment into more income

Getting assigned isn’t a failure — on a company you’d be happy to own, it’s just the next step. The wheel strings a put and a covered call together:

  1. Sell a cash-secured put on a good stock and collect premium.
  2. If assigned, you own 100 shares at your breakeven — below where the stock was trading.
  3. Sell covered calls against those shares to keep collecting premium.
  4. If the shares are called away at a profit, you’re back to cash — sell puts again and repeat.

On the covered-call leg, a common tip is to sell calls at or above your cost basis, so a call-away still books a gain. Search any ticker to see its covered calls, but we don’t know your holdings or cost basis — the rankings are the same for every visitor, so this is general education, not a recommendation.

position sizing

How much to trade

The fastest way to lose money selling options isn’t one bad trade — it’s betting too big on any single one. A common guardrail is to risk no more than about 5% of your account on a position and to keep a large cash buffer. Surviving the losers is what lets the winners compound.

Every trade lists the capital it ties up and its realistic bad case so you can size sensibly. These are general guidelines, not a recommendation for your situation — we don’t know your account.

the fine print

Not advice, and impersonal by design

YieldProof is an educational research tool, not investment advice. The rankings are identical for every visitor — we don’t know your portfolio and never tailor picks to it. Options involve risk, including loss of principal; a probability of profit is a model estimate, not a promise. Quotes are a snapshot from the trading day, not live — always verify prices in your own brokerage before trading.