Best Covered Calls: How to Find and Screen Winning Opportunities in Excel

In this article
Best covered calls screening process in Excel showing option chain analysis and return calculations with MarketXLS

To find the best covered calls, screen for four things: a stock you are willing to own long term, a strike whose delta matches how much assignment risk you accept (0.20 to 0.40 for out-of-the-money calls), an expiration around 30 to 45 days, and enough liquidity (open interest of 100+ contracts and a narrow bid-ask spread). Then rank the remaining calls by annualized return. The highest premium is usually not the best trade, because a large premium often signals high volatility or a strike that caps your upside. This guide, the second in a series after Covered Call Strategy Explained, builds that screen in Excel with MarketXLS option chain data.

What Makes a "Good" Covered Call?

A good covered call balances income, risk, and your outlook on the stock. It has four ingredients:

A Quality Underlying Stock: You should only sell calls on stocks you are comfortable owning for the long term. The foundation of the strategy is your 100 shares, so their quality is paramount. Use MarketXLS to evaluate fundamentals:

=PERatio("AAPL")
=Revenue("AAPL")
=MarketCapitalization("AAPL")
=DividendYield("AAPL")

Formula documentation: PERatio, Revenue, MarketCapitalization, DividendYield

A Favorable Risk/Reward Balance: The premium should offer a reasonable return for the risk you are taking (capping your upside and retaining downside risk).

An Appropriate Strike Price: The strike price should align with your goals: maximizing income, increasing the probability of keeping your shares, or adding downside protection.

Sufficient Liquidity: The option must have enough trading activity (volume and open interest) to ensure you can enter and exit your position at a fair price with a narrow bid-ask spread.

Strike Selection Methodology: The Art and Science

Strike price is the central decision in a covered call trade. Your choice directly impacts your potential return, your level of risk, and the likelihood of having your shares called away. Let us break down the options: In-the-Money (ITM), At-the-Money (ATM), and Out-of-the-Money (OTM).

Out-of-the-Money (OTM)

Definition: The strike price is higher than the current stock price.

Best For: Investors who are moderately bullish and want to give the stock room to appreciate. The primary goal is to retain the shares while collecting a small amount of income.

Pros: Lower probability of assignment, allows for capital gains if the stock rises.

Cons: Receives the lowest premium.

At-the-Money (ATM)

Definition: The strike price is very close to the current stock price.

Best For: Investors who are neutral and believe the stock will trade sideways. The primary goal is to maximize premium income.

Pros: Generates the highest amount of time value premium.

Cons: Roughly a 50/50 chance of having your shares called away. Offers minimal downside protection and no room for stock appreciation.

In-the-Money (ITM)

Definition: The strike price is lower than the current stock price.

Best For: Investors who want to maximize downside protection or are looking to sell their shares at a specific price.

Pros: Offers the highest premium (though much of it is intrinsic value) and the most downside protection.

Cons: High probability of assignment. Caps any potential stock appreciation.

Using Delta to Refine Your Selection

A key option "Greek" to consider is Delta. For call options, Delta can be used as a rough estimate of the probability that the option will expire in-the-money.

  • An OTM call with a 0.30 Delta has approximately a 30% chance of being assigned.
  • An ATM call will have a Delta around 0.50.
  • An ITM call will have a Delta above 0.50, approaching 1.00 the deeper in-the-money it is.

When screening, you can use Delta as a filter to find options that match your desired probability of assignment. MarketXLS provides Delta data through:

=QM_GetOptionQuotesAndGreeks("AAPL")

Formula documentation: QM_GetOptionQuotesAndGreeks

Best Covered Calls Screening Criteria Checklist

Here are the essential criteria to build into your covered call scanner:

Screening CriteriaRecommended RangeWhy It Matters
Stock QualityBlue-chips, Dividend AristocratsFoundation of your position
Days to Expiration (DTE)30-45 daysSweet spot for time decay
Open Interest100+ contracts minimumEnsures liquidity
Bid-Ask SpreadLess than $0.10Fair entry/exit pricing
IV Rank/PercentileAbove 50th percentileHigher premiums when IV is elevated
Static ReturnAbout 0.7-1.2% per 30 daysConsistent with the 8-15% annualized range below
Annualized Return8-15%Benchmark for comparison
Delta0.20-0.40 (OTM strategy)Matches assignment probability preference
Dividend YieldPositive (optional)Stack income sources

You can check dividend information to find stocks that let you "stack" income from both dividends and option premium:

=DividendYield("KO")
=DividendPerShare("KO")
=DividendFrequency("KO")

Formula documentation: DividendYield, DividendPerShare, DividendFrequency

Building a Covered Call Screener in Excel with MarketXLS

The screener below replicates the process an investor might use to find the best covered call to sell against their 100 shares of Apple ($AAPL).

Scenario (from an earlier example, when AAPL traded near $126.88): You own 100 shares of AAPL purchased at $117.70. The current price is $126.88. You are moderately bullish and want to find a call option expiring in the next few months with a strike price between $135 and $145.

Step 1: Get the Current Stock Price

Open Excel, enter your stock ticker: AAPL. Pull the current price:

=Last("AAPL")

Formula documentation: Last

=Last() is 15-minute delayed on the Standard plan. For streaming prices on the Advanced and Business plans, use:

=QM_Stream_Last("AAPL")

Formula documentation: QM_Stream_Last

Step 2: Pull the Option Chain

Use MarketXLS to get the full option chain:

=QM_GetOptionChain("AAPL")

Formula documentation: QM_GetOptionChain

This returns all available calls and puts with strikes, expirations, bid/ask prices, volume, open interest, and implied volatility. Options data is end-of-day on the Standard plan and real-time on Advanced and Business.

Alternatively, use the MarketXLS Option Scanner: Select the cell containing "AAPL", navigate to the MarketXLS tab on the Excel ribbon, click on Utilities, and select Option Scanner from the dropdown menu.

Step 3: Filter the Option Chain

The Option Scanner window will appear. To narrow down the thousands of possible contracts, apply filters:

  1. In the "Calls or Puts" dropdown, select Calls.
  2. Click the Edit Filter button.
  3. Set the Strike Price range from a minimum of 135 to a maximum of 145.

Step 4: Send the Data to Excel

Click the "Send these to Excel" button. MarketXLS will pull all the AAPL call options that meet your criteria directly into a new worksheet in your Excel file.

Step 5: Add Your Custom Calculation Columns

Add three new columns to the right of the imported data to analyze each option's potential return.

Days to Expiry: This column calculates the number of days until the option expires:

= [Expiry Date Cell] - TODAY()

Premium Return: This calculates the premium as a return on your cost basis:

= [Last Price Cell] / [Your Acquisition Cost per Share]

If your shares are called away, the total return also includes the gain up to the strike: = ([Last Price Cell] + [Strike Cell] - [Your Acquisition Cost per Share]) / [Your Acquisition Cost per Share].

(For our example, the acquisition cost is $117.70 per share or $11,770 total).

Annualized Return: This standardizes the return over a one-year period:

= ([Return Column Cell] / [Days to Expiry Cell]) * 365

Step 6: Analyze the Results

After adding these formulas, sort your table by Annualized Return from largest to smallest. The highest calculated annualized returns will appear first.

As expected, the options with the $135 strike price offer the highest annualized returns. This is because they are closest to the current stock price, carrying more risk of assignment, and thus command a higher premium.

However, our goal was to find a comfortable balance. Let us filter or scan down to the $140 strike price.

We can see several appealing options:

  • 19Nov$140 Call: An 8.38% annualized return, but it is six months away, tying up our shares for a long time.
  • 15Oct$140 Call: A very solid 7.81% annualized return.
  • 17Sep$140 Call: A respectable 7.39% annualized return.

For a covered call writer who averages around 6%, the 15Oct$140 call stands out. It offers an attractive premium ($3.60 per share, or $360 total) for a holding period of about four months. This trade meets the example's criteria: a stock the investor wants to own, a comfortable strike price, and an annualized return above their average.

Once this template is built, you can save it. The next time you want to screen for opportunities, simply change the ticker, run the Option Scanner, paste in the new data, and your analysis columns will update automatically!

Best Stocks for Covered Calls

While you can write covered calls on any optionable stock you own, certain types of companies are better suited for this strategy.

Blue-Chip Stalwarts

Companies like Microsoft ($MSFT), Johnson & Johnson ($JNJ), and Apple ($AAPL) are popular because of their stability and liquidity. Premiums are reasonable, and catastrophic price drops are less likely. Check fundamentals:

=PERatio("MSFT")
=MarketCapitalization("MSFT")
=DividendYield("MSFT")

Formula documentation: PERatio, MarketCapitalization, DividendYield

Dividend Aristocrats

Stocks like Coca-Cola ($KO) or Procter & Gamble ($PG) allow you to "stack" income: you collect the stock's dividend and the option premium. Be mindful that deep ITM calls can be assigned early right before an ex-dividend date.

=DividendYield("KO")
=DividendPerShare("KO")

Formula documentation: DividendYield, DividendPerShare

Select High IV Stocks

For more aggressive investors, stocks in higher-volatility sectors can offer significantly larger premiums. This comes with higher risk. Use MarketXLS to compare implied volatility across different stocks when screening for the best covered calls.

Monthly vs Weekly Covered Calls

FeatureMonthly OptionsWeekly Options
Premium AmountHigher per tradeLower per trade
ManagementLess frequentMore active
Time Decay BenefitModerateAggressive
Transaction CostsLower (fewer trades)Higher (more trades)
Capital TurnoverMonthlyWeekly
Event RiskMore exposure per periodLess per period
Best ForLong-term holdersActive traders
Income Frequency12x per year52x per year

Monthly Options (Standard Expiration)

Pros:

  • Higher premiums due to more time value
  • Less frequent management required
  • Better for long-term holders

Cons:

  • Capital tied up for longer periods
  • More exposure to unexpected news or events
  • Lower frequency of income generation

Weekly Options (Weekly Expiration)

Pros:

  • More frequent income opportunities
  • Faster capital turnover
  • Better for active traders
  • Less time for unexpected events to impact position

Cons:

  • Lower individual premiums
  • Requires more active management
  • Higher transaction costs due to frequency

Advanced: Optimizing for Yield vs Protection

When screening for the best covered calls, you face a fundamental trade-off between yield (income) and protection (downside buffer).

High-Yield Strategy (ATM/ITM strikes)

  • Target Delta: 0.45-0.70
  • Higher premiums but higher assignment probability
  • Best in sideways/bearish markets
  • Example: Selling ATM calls for maximum time premium

Protection-Focused Strategy (OTM strikes)

  • Target Delta: 0.15-0.35
  • Lower premiums but lower assignment probability
  • Best in bullish markets where you want to keep shares
  • Example: Selling 10-15% OTM calls for small income + upside participation

Balanced Approach

  • Target Delta: 0.25-0.45
  • Moderate premium with reasonable assignment probability
  • Good for most market conditions
  • Example: Selling 5-10% OTM calls

Rolling Covered Calls: When and How

Rolling means closing your current covered call and opening a new one, usually at a later expiration, a different strike, or both.

When to Roll

  • The stock has risen above your strike: roll up and out to avoid assignment while collecting more premium
  • Expiration is approaching: roll to a new month to continue income generation
  • The stock has dropped significantly: roll down to a lower strike for more premium (and lower breakeven)

How to Roll in Excel

  1. Close the existing position: note the cost to buy back the call
  2. Open a new position: use =QM_GetOptionChain("AAPL") to find the next month's options
  3. Calculate the net credit or debit of the roll
  4. Update your tracking spreadsheet with the new position

Rolling Comparison

Roll TypeWhen to UseNet Effect
Roll Out (same strike, later expiration)Stock near strike at expirationCollect more time premium
Roll Up and Out (higher strike, later expiration)Stock above strike, want to keep sharesHigher cap on gains, more premium
Roll Down (lower strike, same/later expiration)Stock has dropped significantlyMore premium, lower breakeven

Five Example Screening Setups

The setups below show how the screening criteria apply to five well-known stocks. They are examples of the method, not recommendations:

Example 1: Microsoft (MSFT)

  • Current Price: Use =Last("MSFT") to get the current price
  • Suggested Strike: 5% OTM (30 DTE)
  • Delta target: ~0.35
  • Quality: Excellent blue-chip stock
  • Dividend: Check =DividendYield("MSFT")

Example 2: Johnson & Johnson (JNJ)

  • Current Price: Use =Last("JNJ")
  • Suggested Strike: 3% OTM (45 DTE)
  • Delta target: ~0.30
  • Quality: Dividend aristocrat, defensive
  • Dividend: Check =DividendYield("JNJ")

Example 3: Apple (AAPL)

  • Current Price: Use =Last("AAPL")
  • Suggested Strike: 5-8% OTM (30 DTE)
  • Delta target: ~0.30-0.35
  • Quality: Large-cap tech leader
  • Option chain: =QM_GetOptionChain("AAPL")

Example 4: Coca-Cola (KO)

  • Current Price: Use =Last("KO")
  • Suggested Strike: 3-5% OTM (60 DTE)
  • Delta target: ~0.25
  • Quality: Stable dividend payer, conservative
  • Dividend: Check =DividendYield("KO") and =DividendPerShare("KO")

Example 5: NVIDIA (NVDA)

  • Current Price: Use =Last("NVDA")
  • Suggested Strike: 7-10% OTM (30 DTE)
  • Delta target: ~0.30-0.35
  • Quality: High-growth tech, higher volatility = higher premiums
  • Option chain: =QM_GetOptionChain("NVDA")

Common Mistakes When Screening for Best Covered Calls

  1. Chasing the highest premium: very high premiums usually mean very high risk. The stock may be volatile for a reason (earnings, FDA decision, etc.)
  2. Ignoring liquidity: wide bid-ask spreads eat into your returns. Always check open interest and volume.
  3. Selling calls on stocks you do not want to own: the foundation of a covered call is stock ownership. If you would not buy the stock outright, do not sell calls on it.
  4. Not considering ex-dividend dates: ITM calls may be assigned early before an ex-dividend date, causing you to lose the dividend.
  5. Setting and forgetting: active covered call writers manage their positions, rolling when appropriate.
  6. Using too short expirations: weekly options can be tempting but require constant attention and generate more transaction costs.

Pricing and Getting Started with MarketXLS

To build your covered call screening workflow, you will need MarketXLS installed in Excel. MarketXLS provides the functions demonstrated in this guide, from =Last() for stock prices to =QM_GetOptionChain() for full option chains and =DividendYield() for dividend analysis. Visit the MarketXLS pricing page to find the plan that fits your trading needs.

Frequently Asked Questions (FAQ)

Q: What is a good annualized return for a covered call?

This is subjective, but many experienced covered call writers aim for an annualized return of 8-15%. Returns above 20% often indicate significantly higher risk, either in the volatility of the underlying stock or a very aggressive strike price.

Q: Should I use the Bid, Ask, or Last price for my calculations?

The Last price is easy and automatically included by MarketXLS. However, for the most realistic analysis, using the Bid price is more conservative, as it represents the price you could likely sell the option for right now.

Q: What do "Open Interest" and "Volume" mean?

  • Volume is the number of contracts traded today.
  • Open Interest is the total number of outstanding contracts that have not been settled. High open interest is a better indicator of an option's liquidity than volume.

Q: How far out in time should I sell options?

Selling options with 30 to 45 Days to Expiration (DTE) is often considered the "sweet spot." This is because an option's time decay (Theta) accelerates significantly in the last 30-45 days, which benefits the option seller.

Q: Can I screen for covered calls on multiple stocks at once?

Yes. With MarketXLS you can list multiple tickers and screen them in one sheet. You can build a master spreadsheet that pulls option data for your entire portfolio of stocks using =QM_GetOptionChain() for each ticker.

Q: How often should I refresh my screening data?

For active trading, refresh your data daily or even intraday. For longer-term positions, weekly updates are usually sufficient. On the MarketXLS Advanced and Business plans, =QM_Stream_Last() streams prices; on Standard, stock quotes are 15-minute delayed and options data is end-of-day.

Q: What is the best strike price for covered calls?

There is no single "best" strike; it depends on your goals. Use the Delta-based approach: 0.20-0.30 Delta for conservative (low assignment probability), 0.30-0.40 for balanced, and 0.40-0.50 for aggressive income generation.

Q: Can I write covered calls on dividend stocks?

Yes, and many traders prefer dividend stocks for covered calls because you can collect both the dividend and the option premium. However, be aware that deep ITM calls may be assigned early before ex-dividend dates. Check dividends with =DividendYield() and =DividendFrequency().

Now, Let Us Manage the Trade

A custom screener in Excel with MarketXLS turns your covered call criteria into a ranked list of candidates. This article is educational and not investment advice.

Once you have entered a trade, the journey is not over. The next critical step is active management. Our next guide will teach you how to track, manage, and optimize your positions.

Continue to our final guide: Covered Call Management: Track, Roll & Optimize in Excel

Previous: ← Covered Call Strategy Explained

Get started with MarketXLS to build your covered call screening workflow today.

Related posts

Important Disclaimer

The information provided in this article is for educational and informational purposes only and should not be construed as investment advice, a recommendation, or an offer to buy or sell any securities. MarketXLS is a financial data platform and is not a registered investment advisor, broker-dealer, or financial planner. Always conduct your own research and consult with a qualified financial professional before making any investment decisions. Past performance is not indicative of future results. Trading and investing involve substantial risk of loss.

The Professional Investment Platform Inside Excel

Market data and options research tools in Excel

  • Option prices and Greeks in Excel
  • Historical options data in Excel
  • US stock and index options data
  • Prices and data on underlying stocks and indices
  • Use MarketXLS formulas in your Excel worksheets
  • Explore options research workflows in Excel
  • Excel formulas and sample worksheets

See MarketXLS in action

Bring this workflow into Excel.

Book a demo with our team to see how MarketXLS supports your market research.

Ankur
AnkurFounder & CEO, MarketXLS
Book a demo