The covered call card on your dashboard does not just list every call in the chain. Five filters run on every candidate before you see it, and one ⭐ best row is flagged per ticker. This page explains exactly what those filters are, why the defaults are what they are, and how to read the card.

The Five Filters

60-360 DTE
Expiry window
Shorter than 60 days and premium is too thin to justify the assignment risk. Longer than 360 days and you are writing LEAPS — a different strategy. The band covers monthly income through long-dated LEAPS calls.
Δ ≤ 0.20
Low assignment risk
Delta approximates the probability the call finishes in-the-money. 0.20 means ~80% chance you keep the stock. Tighter than the textbook 0.30 because the radar's job is "collect premium without losing the stock", not "max income regardless".
APY ≥ 5%
Worth your time
Premium annualized on the current stock price. Below 5% you are tying up 100 shares for what a money-market fund pays — not worth the assignment and call-away risk.
Strike > cost × 1.01
Always a locked gain
A 1% profit buffer above your weighted-average cost basis. If the stock rises past the strike and you get called away, you lock in ≥1% gain beyond cost — enough to cover IBKR fees (~$0.65/contract) and a couple cents of slippage without ambiguity.
Spread ≤ 30%
Liquidity gate
Bid-ask spread as % of mid. Wider than 30% and you will not get filled at a reasonable price. Flagged between 20% and 30% with a "wide spread" warning.

Why You Need to Own the Stock

Covered calls require ≥100 shares of the underlying per contract. If you do not hold the stock (or hold < 100 shares) the strategy becomes a naked call — unlimited upside exposure. The radar silently hides opportunities for tickers you do not hold to prevent that mistake.

The radar pulls your holdings from whichever accounts you have connected (IBKR, manual entry). It aggregates shares across accounts and computes a weighted-average cost basis. If any lot is missing cost data, the whole ticker is excluded — weighted-averaging over unknowns would be misleading.

The ⭐ Best Row

Within each ticker card, the ladder shows one row per expiry bucket (60d / 120d / 240d etc.). The row with the highest APY is flagged ⭐ — that is the radar's default pick for "most premium per day of commitment".

Highest APY is not always the right answer for you. A 60-day 11% APY and a 180-day 6% APY are different trades — the first earns cash now, the second locks in a direction for half a year. The ⭐ is a default, not a recommendation. Pick the row that matches your horizon.

The Waiting State

If every strike in the chain is below your cost basis, the card shows a greyed-out waiting state: "Holding 200 @ $150.00 · best available strike $145 — waiting for price to rise." This is not a bug — it is the filter doing its job. The radar refuses to suggest strikes that would lock in a loss if called away.

Reading the Card

1
Holdings badge shows your total shares and weighted-average cost. "floor $151.50 (+1%)" is the effective filter threshold after the profit buffer.
2
Each ladder row shows: DTE · strike · premium · APY · delta · OTM%. Flags in amber mean earnings in window or wide spread — do not ignore these.
3
The ⭐ row is the highest-APY survivor. If you have no strong view on horizon, start there.
4
Before opening the trade, cross-check: (a) you actually hold ≥100 shares of the ticker, (b) you are comfortable being called away at the strike, (c) there is no earnings or ex-dividend event inside the window you care about.

Why These Defaults (vs Textbook)

Classic covered-call playbooks use 30-45 DTE and 0.30 delta. The radar uses 60-360 DTE and ≤ 0.20 delta. Two reasons:

1. Wider DTE band: users of this app are long-term holders of dividend / blue-chip names, not monthly income speculators. Longer-dated calls give more flexibility to roll out to manage assignment.

2. Tighter delta: textbook 0.30 optimizes for premium per month. The radar optimizes for "I want to keep the stock." 0.20 halves the assignment probability (from ~30% to ~15-20%) at the cost of somewhat less premium. Worth it for positions you genuinely want to hold.

If you prefer the classic 30-45 DTE / 0.30 delta rhythm, the Covered Call Monthly Income Playbook covers that approach — it is about prescription, not filtering.

Filters: 60-360 DTE · Δ ≤ 0.20 · APY ≥ 5% · strike > cost × 1.01 · spread ≤ 30%
Covered calls only shown for tickers you actually hold (≥100 shares with known cost).
⭐ flags the highest-APY row — a default, not a prescription.

Open the radar →