INCOMEENGINEFrom insight to income

See what your portfolio could earn

Tell us what stocks you own. We'll show you, position by position, how much monthly income you could be earning by selling covered calls against them — and which ones aren't worth it right now.
Type in your positions
Just tickers and share counts — takes about 10 seconds each. Easiest for most people.
Heads up: covered calls need at least 100 shares of a single stock. If none of your positions are 100+ shares, this tool won't have anything to show you yet.
Or faster, if you have 10+ positions
We extract, we don't keep. Your file is read once — just to pull out tickers and share counts — then it's discarded. We never store your account number, your balances, or the document itself.
What we pull out
  • Stock positions — ticker and share count
  • Covered calls you've sold — netted out automatically (PDF)
  • Options you've bought — not counted, shown for context only
  • Account numbers, balances, the file itself — discarded after we read your tickers and shares
Manual entry: enter only the shares that are not already committed to calls you've sold. We can't net those automatically when you type them in — upload a statement above if you'd like that done for you.
Analyzing your statement…
This usually takes about 10 seconds

Confirm what we'll analyze

Here's what the statement shows. We've subtracted shares already committed to calls you've sold — the blue numbers are the free shares we'll screen. Adjust any of them if you know something the statement doesn't.
One thing to know: we only read your stock and the calls you've sold against it. If you hold options you bought (long calls or puts), those aren't shown here and aren't part of this screen. And a statement is a snapshot — if you've traded since it was generated, adjust the share counts above.
Credit you'd collect this cycle
$0
The cash you could collect up front if you sold covered calls on the attractive positions below — priced at today's live bid, before anything the stocks themselves do. Not income collected yet. The "/ month at this pace" line is an extrapolation: what you'd average if you kept writing calls at this cadence.
How we price & annualize (tap to open)

Data source and delay. Options quotes come from Tradier Market Data on the OPRA consolidated feed (vendor-stated latency: typically a few seconds during market hours; a quote you see here may lag the exchange by more under heavy load). Underlying equity quotes shown alongside the option price can be delayed up to 15 minutes on some Tradier plans — our Terms of Service says the same thing, this methodology note matches that language exactly. Outside market hours, quotes are frozen at the most recent close. The timestamp on the analyzer response (analyzed_at) is also shown as "as of HH:MM" on each pick card. Nothing here is a guaranteed fill price — your broker's fill can differ, especially on thinly traded strikes.

Per-share premium (modeled). We quote premiums conservatively, near the bid:
  premium = bid + 0.10 × (ask − bid)
When the bid-ask spread is unusually wide (first-hour quotes, thinly traded strikes), we switch to the midpoint capped at 2× the bid so a broken ask can't inflate the number.

Credit this cycle. Per-share premium (the modeled bid-plus-10%-of-spread figure above) × 100 shares/contract × number of contracts.
The ±15% range is around that modeled premium (not around the bid/ask midpoint, and not a statistical confidence interval) — it's an illustrative execution band meant to represent where a limit order might realistically fill depending on how aggressively you work it. Your actual fill could land outside it; we show the raw bid/ask on each pick's Details so you can calibrate.

Monthly pace (extrapolation). Credit normalized to 30 days: cycle_credit × (30 / days_to_expiry). This is what you'd average if you kept writing calls at this cadence — not a trade. Shown only when it differs materially from the actual-cycle credit.

Annualized yield %. (premium / strike) × (365 / days_to_expiry) × 100. Because we price on the bid rather than the midpoint, this will typically run 1–2 percentage points below a mid-based check.

This Analyzer is a snapshot
Income Engine is the whole picture, every morning.
What you get daily
The Call Sheet
Every morning at 7 AM. Only positions needing a decision today.
PLTRToday
$200 call · 2 days left
Roll to Nov 20 $210 for $1.80 credit
What stays on your Record
The Record
The suggestions the engine made, the decisions you made, the dollars behind each one.
Oct 10, 2026
NVDA $225+$640
Expired worthless. Engine right. Agreed.
What it prices live
Live trade pricing
Not estimates. Live bid/ask from the options chain, every roll priced to the penny.
Credit range
$3.60–$3.90
Updated continuously while the market is open.
From insight to income.

Keep this portfolio.
Let the Engine work it for you.

We'll carry everything you just analyzed — your positions and the calls you've already sold — into your private Engine. It tracks every position, surfaces what needs a decision, and books your income as it lands.

Free during private beta · 30 days' notice before any paid tier
Educational analysis only · Not investment advice · Covered calls cap upside and carry the full downside risk of owning the shares · Ranges reflect option data and the screen's risk level