Your complete guide to OptionFlow Pro
Plain-English explanations of every feature, every score, and every metric β so you always know exactly what you're looking at and what to do with it.
Your Account β Optional but Recommended
Sign up in 30 seconds to unlock brokerage sync, live position tracking, and cross-device access
OptionFlow Pro is free to use without an account β every screener, backtest, and scanner works for anonymous visitors. Portfolios you enter manually stay in your browser as long as you use the same device and don't clear cookies. Signing in unlocks server-side featuresthat the guest experience can't: automatic brokerage sync via Plaid, Claude AI portfolio insights, positions that follow you across devices, and email password reset.
Three ways to sign in
Email + password
Classic sign-in. Includes password reset by email.
Magic link
One-tap sign in from your email inbox. No password required. Fastest.
One-time code
6-digit code delivered by email. Ideal when your email lives on your phone but you're logging in on desktop.
What sign-in unlocks
- Brokerage sync via Plaid. Connect Fidelity, Empower, Schwab, and more β open positions auto-populate.
- Claude AI portfolio insights. Opus analyzes your synced holdings and history for basis reduction, risks, and roll ideas. 100,000 tokens/week, free.
- Cross-device access. Your brokerage-synced positions follow you between phone, tablet, and desktop.
- Encrypted at rest. Brokerage access tokens are encrypted with AES-256-GCM before hitting the database.
- Password reset. Forgot your password? Get a reset link by email.
What we do NOT collect
- Your brokerage username or password β Plaid authenticates you directly with your broker.
- Payment card details, SSN, or government IDs.
- Marketing profiles, third-party ad trackers, or analytics beacons.
Full details in the Privacy Policy.
Connect Your Brokerage β Live Position Sync
Link Fidelity, Empower, Schwab, and more via Plaid β no more re-uploading statements after every trade
The Portfolio Tracker becomes dramatically more useful when it knows what you actually own. Manual entry works. Excel/CSV/PDF imports work. But every trade you make leaves those numbers stale until you re-upload. Connecting your brokerage via Plaid keeps positions fresh automaticallyβ both open positions and 90 days of transaction history.
How it works
Create an account or log in. Required so we can scope your data to you.
On /dashboard/portfolio, click Connect Brokerage. Plaid Link opens.
Log in to your brokerage in Plaid's secure popup. Credentials never touch us.
Auto-sync fires. Holdings and 90 days of transactions land in seconds.
What gets synced
Open positions
What it is: Every current holding β stocks, ETFs, options β with quantity, cost basis, institution price.
Why it matters: Feed the Wealth Snapshot, at-risk counter, and calendar without typing a single position by hand.
Options metadata
What it is: Strike, expiry, and call/put type for every option contract in the account.
Why it matters: Powers the ITM badge on synced options and the expiry calendar. Automatic.
Transaction history
What it is: Up to 90 days of buys, sells, dividends, and assignments per initial sync. Incremental after.
Why it matters: See exactly what you traded, when, and at what price β closed-position P&L becomes possible.
Live prices
What it is: Yahoo Finance quotes for every synced ticker, overlaid on your brokerage snapshot.
Why it matters: The `Β·live` tag shows real-time price. ITM options are auto-flagged red.
Security at every layer
- Plaid handles broker auth. You log in to your broker inside Plaid's popup. Your broker password is never sent to us.
- Tokens encrypted at rest. The access token Plaid gives us is AES-256-GCM encrypted before it hits the database.
- Row-level security. The database physically won't return your data to any other user.
- Read-only. Plaid's Investments product is read-only. This app cannot place trades.
- Disconnect anytime. One click revokes access at Plaid AND deletes every synced row from our database.
Manual imports still work
Don't want to link a broker? The existing Excel/CSV/PDF import still works, exactly as before. Empower, Schwab, and Fidelity exports parse deterministically. PDFs get parsed via Claude if the layout is unfamiliar. Guests without accounts can use manual imports and add positions by hand, all stored in localStorage.
Claude AI Insights β Sign-in Exclusive
Anthropic's Opus model reads your whole portfolio and transaction history, then tells you what it sees
This is the one feature that requires an account. The analysis runs on our server against your synced or imported portfolio, so it isn't available to anonymous guests. Once you have positions in the Portfolio Tracker, open the AI insights panel and Claude analyzes your holdings and your full transaction historyβ not just a point-in-time snapshot.
Two tiers of analysis
Tier 1 β Summary
Three short paragraphs: your overall state, the cost-basis reduction you've earned from selling calls, and one actionable observation.
Tier 2 β Deep analysis
Structured breakdown: per-symbol basis stories, top risks with evidence, roll and new-position opportunities, Wheel candidates, and positions to review now.
How it stays fast and free
- 100,000 tokens per week. A generous free budget, shown right in the panel so you always know what's left.
- Cached when unchanged. If your portfolio hasn't moved since the last run, you get the previous answer instantly at zero token cost.
- Grounded in your data. Claude only reasons over figures actually present in your portfolio β it never invents numbers.
- Basis reduction, computed deterministically. The premium-vs-cost-basis math is calculated in code first, then handed to Claude for narrative.
Dashboard Hub β Your Options Income Command Center
Navigate to /dashboard from the top nav β your starting point for every portfolio action
The Dashboard is the central hub for your portfolio tools. It gives you a live overview of your entire options income operation β across all portfolios β in a single glance. From here you can check your health score, see what needs attention, log a new trade, and jump to any tool.
What's on the Dashboard
Wealth Snapshot Score
Good Β· Income yield is your strongest dimension
12
Open Positions
$3,240
MTD Income
2
At Risk
Portfolio
All positions & P&L
Wheel
Cycle tracker
Calendar
Expiry income view
Example Dashboard layout β numbers update in real time from your portfolio data
Quick Add Position
The Dashboard includes an inline Quick Add Position form so you can log a new trade without navigating to the full Portfolio page. Fill in the symbol, strategy (Covered Call, Cash-Secured Put, or Wheel legs), strike, expiry, premium, and contracts. A toast confirmation appears instantly with a link to view the full position in Portfolio Tracker. The position is immediately included in the Wealth Snapshot score.
Three Quick Stats
Open Positions
What it is: Total number of options contracts currently open across all portfolios
Why it matters: High-level check that your active trade count matches what you expect
MTD Income
What it is: Total premium collected from positions opened this calendar month, net of any buy-back costs
Why it matters: Your month-to-date income scorecard β the number most income traders care about most
At-Risk Positions
What it is: Open positions where the stock price is within 3% of the strike
Why it matters: Positions that may need attention β a small move could push them in-the-money
Wealth Snapshot β Portfolio Health Score (0β100)
A single score that tells you how well-structured your options income portfolio is right now
The Wealth Snapshot is OptionFlow Pro's signature feature for high-net-worth traders and serious income investors. Instead of forcing you to review every position manually to understand portfolio health, it synthesises four key dimensions into a single 0β100 score β with a plain-English insight about what to improve next.
The Horseshoe Gauge
Example score: 74/100
The horseshoe arc fills from 7:30 to 4:30 (three-quarter circle). The score animates as portfolio data loads.
The 4 Dimensions Explained
Income Yield β 30% of total score
Measures the annualized yield you're generating across all open positions. Calculated as: (premium collected Γ· strike price) Γ (365 Γ· DTE), averaged across open positions. A score of 100 here means you're averaging β₯ 25% annualized yield β strong for covered calls. A score of 0 means no open positions generating income. Target zone: 50β80, which maps to roughly 12β20% annualized yield.
Position Health β 30% of total score
The percentage of your open positions currently in a "Hold" state β meaning DTE β₯ 21 days, the stock is not through your strike (not ITM), and you're not within 3% of the strike. A score of 100 means every open position is healthy and doesn't need attention right now. A low score is a call to action: check your "Watch" and "Act Now" positions in the Portfolio Tracker. Target zone: 70+.
Diversification β 20% of total score
Counts the number of unique underlying symbols in your open positions. Concentration risk is one of the biggest mistakes income traders make β having 90% of your premium in a single stock exposes you to a single earnings event or sector shock. Score of 100 = 10+ different underlyings. Score of 0 = 1 underlying. Target zone: 5β10 symbols for a balanced income portfolio.
Expiry Spread β 20% of total score
Measures how spread out your expiration dates are. If all your contracts expire on the same date, you face a cliff β all decisions at once, all premium stops at once. A well-laddered portfolio has positions expiring in rolling 7β14 day intervals, so cash flow and decision-making is staggered. Score of 100 = expirations span > 45 days apart. Target zone: expirations spread at least 21+ days apart.
Score Bands β What Your Number Means
80 β 100
Your portfolio is firing on all cylinders. Strong yield, healthy positions, good diversification, and staggered expirations. Keep doing what you're doing β just monitor for positions approaching strike.
60 β 79
Solid foundation. One or two dimensions have room to improve β check the insight line below the gauge for the specific area to focus on. Likely either yield could be higher or a position or two needs attention.
40 β 59
Several things need attention. The most common cause is a cluster of positions near their strikes (health), too-concentrated in one stock (diversification), or all expiring the same week (spread). Review the sub-scores to pinpoint the issue.
0 β 39
Portfolio requires structural changes. Could indicate a stock moved significantly against multiple positions, you're too concentrated, or you've let positions ride past expiry without rolling. Use Portfolio Tracker to review each 'Act Now' status.
The Insight Line
"Expiry Spread is your weakest area β consider adding positions with expirations further out to stagger your cash flow."
Below the score gauge, a plain-English insight sentence identifies the lowest-scoring dimension and gives you a specific action to improve it. The insight updates automatically as you add, close, or roll positions β so it's always relevant to your current portfolio state. It's designed to give even an experienced HNW trader a concrete next step without having to interpret numbers manually.
Where the Wealth Snapshot Appears
/dashboard β Full-size gauge with all 4 sub-score bars and the insight line. Scores across all portfolios combined.
/dashboard/portfolio β Compact version at the top of the Portfolio page, scoped to the active portfolio only. Shows how one specific account is performing in isolation.
All data is read from your browser's localStorage. Nothing is sent to a server β the score is computed entirely in your browser from your saved positions.
Portfolio Tracker
Track premium income, stock collateral, and covered call P&L β no login, no account needed
The Portfolio Tracker lets you log every covered call and cash-secured put you've sold, see your running P&L, and understand how much income you're earning on your stock collateral. Everything is saved in your browser β no server, no account, and your data never leaves your device.
How to get started
Option A β Import from brokerage: Click "Import Holdings" and upload your brokerage export file (Excel .xlsx, CSV, or PDF). The app reads your current open positions and stock holdings automatically.
Option B β Add manually: Click "+ Add Position", fill in the symbol, strike, expiry, and premium you collected. Done.
Multiple portfolios
Use the portfolio tabs at the top of the page to create separate portfolios β for example, one for your brokerage account and one for your IRA. Each portfolio has its own positions and holdings. Switching portfolios never affects your other data. Creating a new portfolio starts completely empty.
Stock Holdings β Collateral
When you import or manually hold stocks, you unlock the collateral view. This shows you how effectively you're monetizing what you already own.
Stock Collateral Value
What it is: Current market value of all stocks you're tracking
Why it matters: This is the capital you're putting to work by selling covered calls
Income on Collateral
What it is: Open premium collected Γ· total stock value Γ 100
Why it matters: Shows what % return you've generated on your stock holdings. 1β3% per month is common for covered calls.
CCs Written
What it is: How many open covered call positions exist for that symbol
Why it matters: Quick check that you haven't over-written or forgotten a contract
Premium Income
What it is: Total credit collected from open covered calls on that stock
Why it matters: The income those specific shares have generated so far this cycle
Position Status Alerts
The stock is well away from your strike and DTE is > 21 days. Sit back and let time decay (theta) work for you.
Either the stock is within 5% of your strike OR you're inside 21 days to expiry. Keep an eye on it β you may want to roll or close soon.
The stock has crossed your strike (ITM) or you're inside 7 days. Decide: let it get assigned, buy it back, or roll to the next expiry.
Position is done β either expired worthless, you bought it back, or the stock was assigned. P&L is locked in.
Rolling a position
"Rolling" means closing the current contract and immediately opening a new one further out in time (and sometimes at a different strike). In the portfolio, click Rollon any open position β it marks the old position as "rolled" and pre-fills the Add Position form with the same symbol and strategy so you can enter the new contract details.
Summary metrics
Premium Collected MTD
What it is: Total credit received from all positions opened this calendar month
Why it matters: Your current-month income number β what you'll report at month end
Avg Annualized Yield
What it is: (Premium Γ· Strike) Γ (365 Γ· DTE) Γ 100, averaged across open positions
Why it matters: Lets you compare positions of different sizes and durations on a fair basis. 15β35% is a healthy range for covered calls.
At-Risk Positions
What it is: Open positions where the stock price is within 3% of the strike
Why it matters: These need monitoring. A small move could push the stock through your strike.
Stock Price (Red)
What it is: In the positions table, the stock price turns red when it's passed your strike
Why it matters: Instant ITM warning. For a call: stock above strike. For a put: stock below strike.
Wheel Strategy Tracker
A dedicated page at /dashboard/wheel β track every leg of the Wheel from first CSP to called away
The Wheel is one of the most popular income strategies for options sellers: sell a Cash-Secured Put, get assigned the stock if it falls, then sell Covered Calls until the shares get called away β and repeat. The Wheel Tracker keeps the full history of every leg, calculates your true cost basis after all premium collected, and shows you exactly where you are in the cycle at a glance.
The 4-step cycle
Sell a cash-secured put at a strike where you'd be happy owning the stock. Collect premium immediately.
If the stock falls to your strike at expiry, you buy 100 shares per contract at that price. Your premium lowers the effective cost.
Now own the stock β sell Covered Calls above your effective cost basis to collect more premium and reduce cost further.
If stock rises to your call strike, shares get sold. Bank the premium + any gain on the stock. Start the next wheel.
Arrows connect each phase. The tracker shows your active step highlighted in the cycle bar on each wheel card.
Visual Cycle Bar β the status strip on each wheel card
Every wheel card shows a horizontal 4-step progress bar so you can instantly see where that wheel is in its lifecycle:
Example: wheel is in the "Sell CC" phase (β = active, β = done, β = upcoming)
β Done β that phase is complete. For Sell CSP: shows total CSP premium collected. For Assigned: shows your cost basis per share.
β Active β highlighted with a pulsing dot β the current phase you're in right now.
β Upcoming β grayed out β future phases not yet reached.
Portfolio Linking β import positions with one click
If you've already imported your brokerage data into the Portfolio Tracker, you don't need to re-enter everything manually in the Wheel Tracker. Use the Link Portfolio dropdown at the top of the Wheel page to connect a portfolio. The app will read your existing positions and offer three types of suggestions:
Open Puts β Start Wheel
Any open short put in your portfolio appears here as a "Start Wheel" button. Click it and the wheel is created instantly, pre-filled with the symbol, strike, expiry, premium, and contracts β no typing needed.
Stock Holdings β Start at Assigned Phase
If you already own shares and there's no active wheel for that symbol, click "Start as Assigned" to jump straight to phase 2. The wheel begins with your average cost basis set, ready to track covered calls from here.
Open Calls β Add as CC Leg
Open short calls that match the symbol of an active assigned wheel are shown as "Add CC Leg" suggestions. One click adds the covered call leg to that wheel β with a break-even warning if the strike is below your effective cost basis.
Key metrics on each wheel
Effective Cost Basis
What it is: Your actual cost per share after subtracting all premium collected (net of commissions)
Why it matters: If you paid $200/share but collected $8/share in premium, your effective cost is $192. That's your real break-even β not the price you paid.
Basis Reduction %
What it is: (Original cost β Effective cost) Γ· Original cost Γ 100
Why it matters: Shows how much premium has lowered your cost basis as a percentage. 5% means you've collected enough premium to be 5% cheaper than your original buy price.
Total Premium Collected
What it is: Sum of all closed legs Γ contracts Γ 100, minus commissions
Why it matters: Your total net income from this wheel across all legs. This is what you've put in your pocket regardless of what happens to the stock.
Gain if Called Away
What it is: (CC strike β Effective cost basis) Γ shares
Why it matters: If your CC gets exercised right now, this is the total gain you'd lock in. Combines the profit on the stock sale with all premium already collected.
Broker & Commission Settings
Click β Brokerin the header to set your broker name and per-contract commission. Once set, all P&L numbers and effective cost basis calculations automatically deduct commissions. Common rates: Tastytrade $1.00/contract Β· Schwab/TDA $0.65/contract Β· Robinhood $0. Stock commissions (charged on assignment and exit) can also be set separately. Most modern brokers charge $0.
Smart Screener
Options β Smart Screener β finds the best covered call contract per symbol across a group
Instead of looking up options for each stock one by one, the Smart Screener scans an entire group (like all Technology stocks, or your watchlist) and surfaces the single best covered call contract per ticker β already filtered by your chosen strategy. It grades each result so you can instantly skip the mediocre ones.
The three strategies
Conservative
Lower risk, more cushion. Best for stocks you'd be comfortable holding long-term.
25β50 days out Β· Delta 0.15β0.25 Β· OI β₯ 1,000
Balanced
The sweet spot. Enough time for theta decay without holding too long.
14β35 days out Β· Delta 0.20β0.35 Β· OI β₯ 500
Aggressive
Weekly or short-term premium. Higher yield, but less time to react if things move against you.
5β21 days out Β· Delta 0.25β0.45 Β· OI β₯ 200
Symbol sources
By Sector β Pre-built lists for Technology, Semiconductors, Finance, Energy, Healthcare, Consumer, and "High IV / Meme" stocks. ETFs is the recommended starting point because they have the deepest option chains.
My Watchlist β Scans only the symbols you've saved to your personal watchlist.
Custom Tickers β Type any comma-separated list of symbols.
Grade System (A / B / C / D)
Used in the Smart Screener β rates how strong a covered call setup is right now
Each contract returned by the Smart Screener gets a grade based on a combination of factors. Think of it like a report card β A is the best setup, D means skip it.
High-conviction setup. All the stars are aligned: IV Rank above 55 (options are expensive), stock is above both its 50-day and 200-day moving averages (healthy trend), RSI is in the 40β72 range (not overbought, not oversold), earnings aren't before expiry, annualized yield is above 12%, and there's plenty of open interest. These are the setups you act on.
Solid setup. Doesn't hit every A criterion β maybe IV Rank is lower, or the stock is only above one moving average β but the core mechanics are sound. Good trade, just with a little less tailwind.
Marginal. Something is off β low yield, thin open interest, or borderline technicals. Fine to take if you know the stock well, but review carefully before selling.
Avoid. One or more hard disqualifiers: the strike is already in-the-money (cushion negative), open interest is dangerously thin (under 50 contracts), or earnings are before expiry. Selling a covered call over earnings is high-risk β the stock can gap through your strike overnight.
Key metrics explained
IV Rank
What it is: Where today's implied volatility sits relative to its own 1-year range (0β100)
Why it matters: High IV Rank (>50) means options are relatively expensive β great time to sell premium. Low IV Rank means options are cheap β poor time to sell.
Delta (Ξ)
What it is: Probability-like measure of how sensitive the option price is to a $1 stock move
Why it matters: A delta of 0.25 roughly means a 25% chance the stock reaches the strike. Lower delta = more cushion, less premium. Higher delta = more premium, less cushion.
Cushion
What it is: (Strike β Stock Price) Γ· Stock Price Γ 100
Why it matters: How far the stock can rise before your contract goes in-the-money. 5% cushion means the stock can rally 5% before you'd be called away.
PoP (Probability of Profit)
What it is: Estimated probability the contract expires worthless (you keep the full premium)
Why it matters: Derived from delta. A PoP of 75% means roughly 3 in 4 trades expire in your favor if you repeat the same setup.
DTE (Days to Expiry)
What it is: Calendar days until the contract expires
Why it matters: Theta (time decay) accelerates in the final 21 days β you earn most of the premium as you get closer to expiry. Many traders sell 21β45 DTE and buy back at 50% profit.
Ann. Yield
What it is: (Premium Γ· Strike) Γ (365 Γ· DTE) Γ 100
Why it matters: Puts all contracts on equal footing regardless of size or duration. Compare 10-day and 45-day trades fairly.
OI (Open Interest)
What it is: Number of open contracts on that specific strike + expiry
Why it matters: Higher OI = tighter bid-ask spreads, easier to get in and out at a fair price. Below 100 OI, you may struggle to fill at the listed price.
Earnings
What it is: Days until the next scheduled earnings announcement
Why it matters: Earnings cause large overnight moves that can blow through your strike. Grade D is automatically assigned if earnings fall before expiry.
Single Stock Scan β Score & BuyScore System
Stocks β Single Scan β momentum and trend analysis with a clear action signal
The scan looks at a stock's recent price history and volume behavior to decide whether the trend is healthy enough to hold, needs trimming, or should be cut. It gives you two numbers: a Score (overall trend health) and a BuyScore (buy-side conviction).
Action β what the trend says about your current holding
The trend structure is intact. No major damage signals. Score β₯ 0. Sit tight.
Some warning signs are appearing β maybe the stock is spending too many days below its 20-day moving average, or there are multiple failed recovery attempts. Score β1 to β3. Consider reducing position size.
Serious technical damage. Score β€ β4. Typically triggered by a decisive break below the 50-day MA. This is not a buy candidate until it repairs the chart.
Score β the raw trend health number
Built from multiple independent checks:
BuyScore β buy-side conviction (separate from trend health)
The BuyScore layers in volume behavior to give you a forward-looking buy signal.
STAY action + strong underlying score + constructive volume (rallies on above-average volume). High confidence the stock wants to move higher.
Decent setup but one element is missing. Put it on your watchlist and wait for confirmation.
Either the trend is damaged or the volume pattern is distributional. Not a buy right now.
Volume Note
Constructive: Rallies (up days) are happening on above-average volume and dips are lighter. Institutions are accumulating β good sign.
Distribution risk: Drops are occurring on heavier volume than rallies. Big players are selling into strength β warning sign.
Neutral: Volume is balanced. No strong read either way.
Preset Sweep (Stocks β Preset Sweep)
Runs the same scan across your entire watchlist at once and shows only the symbols with a BuyScore above 0 β sorted highest to lowest. Useful for a quick morning scan to see which stocks are worth looking at today.
IV Leaderboard
Options β IV Leaderboard β ranks symbols by how expensive options are right now
Implied Volatility (IV) is essentially how much the market is paying for options. High IV = expensive options = better premium for sellers. The IV Leaderboard ranks all the symbols you throw at it from highest to lowest IV, so you can instantly spot which ones are the best candidates for selling options right now.
Key concepts
IV 30D
What it is: Annualized implied volatility calculated from recent 30-day realized moves
Why it matters: The raw volatility number. 30% IV means the market expects roughly 30% annual price swings.
IV Rank
What it is: Where today's IV sits vs. its own 1-year range (0 = lowest ever, 100 = highest ever)
Why it matters: More useful than raw IV. 80 rank means IV is near 1-year highs β great time to sell. 20 rank means IV is depressed β bad time to sell.
How to use it:Run the leaderboard on a sector or custom list. Click any symbol to jump straight to the Covered Calls tab with that symbol pre-filled β so you go from "this stock has high IV" to "here are all the contracts I can sell" in one click.
Covered Calls Deep Dive
Options β Covered Calls β full expiration grid for one symbol
While the Smart Screener picks the single best contract per stock, the Covered Calls tab shows you every available contract across every expiration for one symbol β all in one scrollable grid. Use it when you want full control over which strike and date to sell.
When to use Smart Screener vs. Covered Calls tab:
Start with the Smart Screener to find which stocks are worth selling options on. Then jump to the Covered Calls tab (click "View full screener β" on any result) to see all the specific contracts and choose the exact one that fits your strike preference and risk tolerance.
Reading the grid: Contracts are grouped by expiration date. For each expiration you see all available strikes with bid/ask, premium, delta, OI, and annualized yield. The "best" contract for your strategy is often highlighted.
Other Tools
Market Heatmap Β· Watchlist Β· Preset Sweep
Market Heatmap (Stocks β Market Heatmap)
A visual overview of sector performance. Each block represents a stock or ETF, sized by market cap and colored by today's return. Green = up, red = down. Use it as a quick morning read to see which sectors are in favor today before deciding where to scan.
Watchlist
Save any symbols you follow regularly. The watchlist powers everything else:
β’ Run Scan β sends your whole watchlist to the Single Scan tab and shows BuyScore for each
β’ Screen Covered Calls β opens Smart Screener pre-loaded with your watchlist symbols
β’ Check IV β opens IV Leaderboard ranked by your watchlist
Preset Sweep (Stocks β Preset Sweep)
Batch-scans your entire watchlist using the same momentum analysis as Single Scan, then filters to show only symbols with BuyScore > 0 β sorted from strongest to weakest. The fastest way to find buy candidates across many stocks at once.