DeltaCortex tracks your cash-secured puts and covered calls, and surfaces one clear next move for every position — with the reasoning shown, not hidden.
Your positions and market data key stay on this device — nothing is uploaded to a DeltaCortex server.
DeltaCortex uses MarketData.app for live option quotes. Sign up for a free or paid key on their site, then paste it below — it's stored only in this browser.
Add your first position, or load an example so you can see how a card, its drawer, and the Today's Decisions panel work before entering anything real.
You can clear the example anytime from the trash icon.
Click "Add Position" to start tracking your options
Which entry deltas produce the highest win rates? Use this to calibrate your strike selection.
Are you holding too long? Closing at 50% profit in 15 days on a 30-DTE trade = 2x capital turns per cycle.
Cumulative P&L across all rolls of the same underlying. Shows whether rolling is saving or compounding losses.
Close positions from Active Positions to track performance
How to read the dashboard and take action on your positions
Five steps from a blank screen to a fully working DeltaCortex. Each one links straight to where you'll do it.
The engine decides per-position, but here's the logic it follows. Profit alone never decides — it's always gated by delta (how much risk remains) and capital efficiency (what your collateral is still earning).
The Health Score synthesizes 7 factors into one number. Higher = healthier.
Position is working as intended. Far OTM, theta decaying on schedule, no earnings risk. Action: Do nothing. Check again next week.
Position is fine but has one or two factors trending the wrong direction. Approaching profit-taking zone or delta creeping up. Action: Read the Smart Action. May suggest closing for profit or setting a review date.
Multiple factors are unfavorable — delta drifting ATM, theta behind pace, earnings approaching, or IV expanding. Action: Make a decision this week. The Smart Action will say close, scan for roll, or manage actively.
Position is challenged on most fronts. Likely near or past ATM, behind on theta, or facing an imminent catalyst. Action: Act today. Click 🔍 Scan to check roll viability. If no good roll exists, close.
Position is deep ITM, near expiration, losing on all metrics, or facing imminent binary risk. Action: Close immediately or roll if scanner shows a viable credit. Do not wait.
Hover over any Health Score in the table to see the component breakdown. Here's what each factor measures:
The Scan button pulses when the action logic thinks rolling is a viable path. Click it to pull the options chain and see actual net credit/debit numbers. Always scan before rolling — never roll blind.
Net credit ≥ $0.30, delta under 0.30, annualized yield ≥ 10%. The scanner's verdict banner will say "✅ Roll viable" with the best candidate highlighted.
Best credit candidate has delta above 0.35 (you're resetting the same problem), net credit is tiny ($0.05–0.10), open interest is under 500 (wide spreads), or IV Δ shows major expansion (rolling into weak premiums).
Scanner shows all debits, IV has crushed since entry (IV Δ deeply negative = poor roll premiums), yield is under 3% (capital trap), or you're rolling into an earnings event. Cut the loss and free capital for a better trade.
The Smart Action gives you one concrete instruction per position. Hover for the detailed reasoning. Here are the common outputs:
| Smart Action | Score Range | What It Means |
|---|---|---|
| Close at $X.XX (+$YYY) | 60–80 | Profit target reached. Close and redeploy the capital. |
| Hold — on track | 80+ | Everything is working. Do nothing. Review next week. |
| Let expire (max profit) | 85+ | Far OTM near expiration. Will expire worthless for full profit. |
| Scan roll — IV supports it | 25–45 | Position challenged but IV is rich enough to roll for credit. Click 🔍 Scan to verify. |
| Close at $X.XX (-$YYY) | 0–25 | Deep trouble. IV crushed or yield too low to justify rolling. Cut the loss. |
| Close pre-earnings (+/-$XX) | 20–40 | Earnings before expiration with non-trivial delta. Exit to avoid binary gap risk. |
| Watch — review in Xd | 45–60 | Not in trouble yet but delta creeping. Tells you exactly when to check back. |
The Earnings column and Health Score's earnings component (10% weight) will flag this. If you see ⚡ or ⚠️ in the Earnings column, the Smart Action will tell you to close pre-earnings rather than roll into the event.
The IV Δ column shows whether IV has compressed since entry. If IV Δ is deeply negative and the Roll Scanner shows all debits or tiny credits, the tool tells you to close rather than roll into weak premiums. This prevents the diminishing-returns roll chain.
The Yield column shows annualized return on secured capital. If a $17,000 position is earning 2% annualized, the tool flags this as a capital trap and the Smart Action will say close, not hold. Your capital is better deployed elsewhere.
The Health Score declines gradually as conditions worsen. A position doesn't jump from 80 to 20 overnight — you'll see 80 → 65 → 50 → 35 over days. The declining trend is your early warning system. Act when it crosses 40, not when it hits 15.
These systems run automatically behind the Score and Smart Action. Understanding them helps you trust and follow the recommendations.
If your loss exceeds 2× the premium collected (-200% P&L), the Smart Action forces a close regardless of all other factors. At -100%, it escalates to Act Soon. This is a hard circuit breaker — no combination of favorable delta, DTE, or IV can override it. The Health Score caps at 10 for -200% and 25 for -100%. This prevents the slow-bleed scenario where you keep holding because "delta is only 0.40."
The take-profit target adjusts based on theta pace. Ahead of schedule (pace > 1.3) → close at 40%. Normal pace → close at 50%. Behind schedule → close at 60%. The Smart Action shows which pace mode is active. This captures more winners faster and reduces giveback from positions that have already done most of their work.
The Roll Scanner pulls candidates from both ~30 DTE and ~45 DTE expirations. The 45-DTE often has meaningfully better credits because of extra time value. Each row shows its expiration so you can compare directly. Sometimes 30-DTE shows all debits but 45-DTE has viable credits.
Every Smart Action carries a visual prefix: ✅ = profit-taking (execute the win), 🛑 = loss-cutting (damage control, act now), ⚠️ = needs your judgment. Triage the entire table by scanning prefixes alone.
The Earnings Manager flags tickers where earnings were 1–5 days ago with a green "IV crush — good entry window" badge. Post-earnings IV crush is one of the highest-probability CSP entry points. When you see this badge, consider opening a new position on that ticker.
Each Entry price shows a small "X.X% max" annotation — the maximum possible return if the option expires worthless. Positions with lower max return should be closed earlier because there's less premium cushion to absorb adverse moves.
Hard caps override the weighted composite for deeply underwater positions. P&L worse than -75% caps score at 35. Worse than -100% caps at 25. Worse than -200% caps at 10. Even if delta and DTE look fine, large accumulated losses always surface as urgent.
These frameworks prevent you from over-concentrating risk, which is the #1 portfolio-level mistake CSP sellers make.
The strip between the stats bar and controls shows real-time utilization, available buying power, your largest single-name position, and your most concentrated sector — all against your configured limits. Red alerts fire when any limit is breached. Glance at this before every new trade.
When adding a new position, enter the ticker and strike to see a live sizing panel: cash required, % of buying power, available buying power, new utilization after adding, max contracts within your limit, and sector exposure. Warnings fire if the trade would breach any limit. This replaces gut-feel sizing with quantified guardrails.
The Health Score's 8th component (7% weight) penalizes positions in overweight tickers or sectors. If you have 30% of buying power in one name (against a 25% limit), every position in that name gets a concentration penalty that drags its score down. This means the Smart Action will bias toward closing the overweight position first when multiple positions need attention.
If NVDA, AMD, and ORCL all sell off simultaneously (they're correlated Technology names), positions that look individually manageable become a portfolio-level crisis. The sector concentration limit (default 40%) prevents this by capping how much capital you can deploy in one sector. Configure your limits in Settings → Portfolio Configuration.
The tool auto-detects Covered Calls (Short + Call) and applies CC-specific logic across all systems. Enter CCs as Position: Short, Option Type: Call.
For CSPs, "in trouble" means the stock dropped toward your strike (assignment = you buy shares at a loss). For CCs, "in trouble" means the stock rose above your strike (assignment = shares called away, capping your upside). The Smart Action, Health Score, and regime guidance all adjust for this difference automatically. The table shows "CSP" or "CC" under each position type.
CC Smart Actions say "buy back call" instead of "close", "roll up/out to keep shares" when deep ITM, "let assign if target price reached" for positions you want to exit, and "call expires worthless, keep shares + premium" for OTM at expiry. Profit-taking says "buy back and write new call" to encourage rolling into the next cycle.
For CSPs, capital yield = premium ÷ (strike × 100). For CCs, capital yield = premium ÷ (underlying price × 100), since your capital at risk is the shares you hold, not cash collateral. This gives a more accurate annualized return for CCs. The underlying price is fetched during Refresh All.
The Add Position form detects when you're entering a CC and shows CC-specific regime guidance. Key insight: CCs are more attractive in cautious/bear markets because high VIX = rich call premiums that offset share depreciation. In bull markets, CCs are less compelling because you risk capping your upside. The regime guidance adjusts delta targets accordingly.
The roll scanner auto-detects call positions and fetches OTM call candidates. For CCs, "rolling" means moving to a higher strike and/or further expiration to avoid assignment while collecting a net credit. The same net credit / delta / yield criteria apply — you want a credit roll with reasonable delta.
A composite bull/bear signal that adjusts your entry strategy, delta targets, and position sizing based on current market conditions.
The indicator combines two signals: VIX level (fear gauge) and SPY trend (price vs 50-day and 200-day moving averages). VIX is fetched via a three-tier fallback: first the MarketData.app indices endpoint (paid plans), then UVXY stock quote as a VIX proxy (free plan), then 21-day SPY realized volatility as a last resort. The VIX display shows which source was used (e.g., "Elevated (UVXY proxy)"). SPY data always works — 200 daily candles are fetched to calculate both SMAs.
Strong Bull: VIX < 15, SPY above both SMAs with 50d > 200d (golden cross). Sell at 0.25–0.30 delta. Full position sizing.
Bull: One bullish signal, no bearish. Sell at 0.20–0.25 delta. Standard sizing. Watch VIX for complacency spikes.
Neutral: Mixed signals. Be selective — 0.15–0.20 delta only. Keep 10% more buying power available than normal. Don't force trades.
Cautious: VIX elevated or SPY below 50d SMA. Only sell at 0.10–0.15 delta for maximum cushion. Reduce position sizes by 25%. Prioritize capital preservation.
Bear: VIX high + SPY below both SMAs. Only sell on names you'd own at the strike. Ultra-wide 0.10 delta or less. Half normal position sizes, max 35% utilization.
Crisis: VIX > 30. DO NOT open new CSPs. Premiums are rich but assignment probability is extreme. Focus entirely on managing existing positions.
Click Refresh All to fetch fresh VIX and SPY data (2 extra API credits). Data persists in localStorage so it's visible on next page load without re-fetching. Works when the market is closed — both endpoints return the most recent available data. A staleness indicator shows when data was last updated (e.g., "2d ago" in yellow over a weekend). The regime guidance also appears in the Add Position sizing panel so you see entry recommendations before every new trade.
Three analytics panels in the Performance tab help you improve future trades by learning from past results.
Shows your win rate bucketed by entry delta (0.05–0.15, 0.15–0.20, etc). If your 0.15–0.20 entries win 95% but 0.30+ only wins 65%, bias toward lower deltas. This is the most actionable insight for improving strike selection. Data accumulates as you close trades.
Compares average DTE at entry vs days held. Shows capital turns per cycle — entering at 30 DTE and closing at 15 days = 2× turns, which doubles effective annual return. Breaks down early closes (<60% of life), late closes (60–90%), and held-to-expiry (>90%) with P&L for each. If early closes are consistently profitable, close earlier.
Cumulative P&L across all legs of each roll chain. Shows the total result in one card with per-leg breakdown (Roll 1: -$200 → Roll 2: +$350 = +$150 total). If your roll chains are consistently net negative, that's a signal to cut earlier rather than rolling.
Everything here is stored on this device — nothing is uploaded to a DeltaCortex server.
—
Your positions, P&L, and decision engine (Smart Actions, eject prices, capital efficiency) are always available, licensed or not. An active license unlocks the Find Puts / Scan CCs scanners and Cloud Sync. Don't have a key? Get one here.
Your MarketData.app key — stored only on this device
Don't have a key yet? Get a free one at marketdata.app — the free tier includes 100 requests/day, enough to track a small portfolio. This key powers live pricing, Greeks, and IV throughout the app.
Protect your data and sync between PC and iPhone
Syncs all data through a private Gist on your GitHub account. Setup: create a free GitHub account → Settings → Developer settings → Personal access tokens → Generate new token (classic) with only the gist scope → paste below. Use the same token + Gist ID on each device.
Set your buying power and risk limits
Earnings and ex-dividend dates that feed the gap-risk and early-assignment flags
Not auto-fetched — MarketData.app doesn't provide dividend data. Look up the ex-date (and ideally the amount) once per ticker; the tool cross-checks it against delta and remaining time value to flag real early-assignment risk.
Current: v1.0.7 · June 2026
Upload your Fidelity trade export (.csv file)
Close current position and open new rolled position
Projects how long CC premium alone would take to grind your basis down to today's stock price — a "patience timeline," not a stock forecast.
Find puts to sell, ranked by a balanced score and checked against your T-bill hurdle.
Best strikes to write against your assigned shares, labeled by strategic zone.
Scanning options chain for net credit roll opportunities