Skip to main content Covered Call Calculator For ThinkOrSwim Skip to main content Skip to content
Master the TTM Squeeze with our comprehensive 19-module course Start Learning →
TOS Indicators
  • Tools

    Categories

    • Indicators
    • Backtesters
    • Scans
    • Dashboards
    • thinkScript
    • Member Resources
    Browse Full Library

    Featured Tutorials

    Heiken Ashi Trend Indicator
    Heiken Ashi Trend Indicator
    Indicators

    Download our Custom Heiken Ashi indicator for ThinkOrSwim. Full ThinkScript code, formula...

    Learn more →
    Commodities Tracker
    Commodities Tracker
    Indicators

    For acceleration signals: trend-following strategies and buying pullbacks. For deceleration signals: short...

    Learn more →
    Build an Election Backtester in 10 Minutes
    Build an Election Backtester in 10 Minutes
    Backtesters

    Learn how to create a Post-Election Backtester in ThinkOrSwim to analyze market...

    Learn more →

    Popular Posts

    Unusual Volume
    Unusual Volume
    Scans

    Build 4 scans to easily find stocks with greater than...

    Learn more →
    Upcoming Earnings with High Short Interest
    Upcoming Earnings with High Short Interest
    Scans

    Build a scan to find stocks that are likely to...

    Learn more →
    Unusual Volume Pro Scans
    Unusual Volume Pro Scans
    Scans

    4 additional scans to find unusual volume overlapping with key...

    Learn more →
  • Courses
    Squeeze Course
    Squeeze Course
    19 Modules

    Scan, backtest, and trade the TTM Squeeze setup with precision.

    Unlock Course →
    Earnings Course
    Earnings Course
    3 Modules

    Master earnings plays with free indicators and proven strategies for ThinkOrSwim.

    Unlock Course →
    V-Shaped Reversals
    V-Shaped Reversals
    7 Modules

    Identify and trade powerful V-shaped reversal patterns with confidence and precision.

    Unlock Course →
    Fibonacci Trading
    Fibonacci Trading
    4 Modules

    Learn to trade Fibonacci retracements and extensions in ThinkOrSwim effectively.

    Unlock Course →
  • Products
    Futures Volatility Box Premium
    Futures Volatility Box

    Volatility models for 10 major futures markets, including micros & SPX.

    Explore Futures VB →
    Stock Volatility Box Premium
    Stock Volatility Box

    Dynamic support & resistance for 595+ stocks/ETFs, with a live scanner.

    Explore Stock VB →
    Opening Range Breakouts Premium
    Opening Range Breakouts

    Powerful live scanner & backtester for ORB strategies on 595+ stocks.

    Explore ORB Setups →
My Account
All Indicators
Beginner 27 minutes ThinkOrSwim

Covered Call Calculator

Build a powerful covered call calculator for ThinkOrSwim that automatically calculates return percentages across all strikes and expiration dates

Download Indicator
How to install in ThinkOrSwim →
Table of Contents
  • How Covered Calls are Similar to Real Estate? 
  • Covered Call Calculator in Excel:
  • Covered Call Calculator in ThinkOrSwim:
  • Applying the Covered Call Calculator on KOPN:
  • Conclusion:
  • Download

Options Calculator

$
$
$
$
Premium received
$150.00
Premium return
1.30%
Premium return vs cost basis
—
Total return if called away
5.65%
Total return vs cost basis
—
Premium received
—
Cash required
—
Premium yield
—
Annualized yield
—
Effective entry if assigned
—
Discount vs current
—

For educational use. Not investment advice.

Introduction:

In today’s tutorial, we are going to be building a Covered Call Calculator. The whole idea behind this calculator is that we can very easily take a look at an options chain, and get an idea as to which calls equate to what percentage, as a return on our capital.

Covered Call Calculator in ThinkOrSwim Options Chain

If you are already familiar with covered calls and want to skip the coding exercise, you can use the link in the description box to download the final version of the calculator.

For Volatility Box members, I’ve built a more advanced version of the Covered Call Calculator, which allows you to run this analysis on stocks you already own, where you can input your cost-basis, and evaluate the return percentages.

The tutorial will be released early this week, and we will send out an email once the code/tutorial are available.

The way I have laid out this tutorial is in 4 different parts:

  • Part 1: Real-estate analogy for covered calls
  • Part 2: We will build out the calculator in a very simple Excel sheet
  • Part 3: We will then translate the calculator into ThinkOrSwim code
  • Part 4: We will apply the calculator and compare different options chains

So, let’s get started!

How Covered Calls are Similar to Real Estate? 

Let’s start by first comparing how covered calls are similar to real estate.

And instead of using made-up numbers, let’s use a real example. This is a piece of property that’s on sale in Indiana. I’ve blacked out the address, but we can see the rest of the details here.

Indiana House with Cash Flow

This worksheet is made by the folks trying to sell the property, so keep in mind, the numbers are most likely a bit inflated. And even THEN, you will find, that using the covered call ThinkOrSwim calculator, you can very easily find better opportunities.

The cash list price for this house is $67,500.

The monthly cash flow, after expenses, is approximated to be $373.34.

That’s a monthly cash flow of 1%.

So let’s say this a different way – with $67,500 invested, we expect to make a 1% return every 30 days, in the form of “rent.” Equity appreciation is separate, and we’ll leave it as a non-factor for this exercise.

And before we even get to comparisons, let’s state the obvious – real estate is a much different asset class, with a different set of goals and risk parameters, and comparing the two is akin to comparing apples to oranges.

Yet, we try to do it anyways in the next section.

Now, let’s compare the rental income to covered call income.

We’ll use the same $67,500 as our starting point, to assess how many shares of a certain company we can buy, and how many calls we can sell against those shares.

For this example here, I’ve laid out 3 different stocks and their respective returns.

ATM calls T
(Low Volatility)
FSLY
(Mid Volatility)
CURI
(High Volatility)
AMC
(Very High Volatility)
16 APR 21 IV 25.28% 74.49% 119.76% 196.03%
Return % if calls not exercised 1.44% 5.3% 9.32% 19.02%
Return % if calls exercised 2.25% 11.23% 18.01% 19.53%

As you can see, in all scenarios, ranging from a stock like AT&T (T), which has only 25% IV, all the way up to a stock like AMC (AMC), we outperform the 1% from real estate.

The “risk” here is the fluctuation in the price of the underlying, which could go against you much quicker than that of a house. And that’s why, I’ve laid out different volatility regimes, for transparent comparison.

The most important question, that I think your answer has to be “yes” to, is if you are comfortable being long shares of the underlying that you are l booking at.

If the answer to that is no, keep going down your candidate list.

Covered Call Calculator in Excel:

Let’s start by building a covered call calculator in Excel first.

A side note before we get started — this process is even easier in Google Sheets, where you can use the Google Finance function to automate cells, such as the current price of the stock, etc.

This doesn’t need to be polished, so let’s keep it efficient.

We will need a list of symbols, their current stock price, the strike of the option we’d like to sell, along with the premium received. And using that information, we can calculate two different return percentages.

One return percentage will be based around if the shares do not get called away, and the second return percentage will be based around if the shares do get called away.

The scenario in which our Out-Of-The-Money (OTM) covered call gets exercised is analogous equivalent to selling a piece of property with at least (some) equity appreciation.

Covered call calculator in Excel

Here is the formula for calculating the return percentage, for shares that do not get called away (per 1-lot / 100 shares):

  • Premium Collected / Current Price

Here is the formula for calculating the return percentage, for shares that are called away (per 1-lot / 100 shares):

  • (Premium Collected + Profit From Selling Shares) / Current Price

And that’s the calculator built in Excel. We now need to translate this entire Excel worksheet into thinkScript code, which allows this entire process to be automated.

Covered Call Calculator in ThinkOrSwim:

For Part 3 of this tutorial, we’re going to translate the formulas that we’ve built into Excel into thinkScript.

There are 2 key benefits to having our covered call calculator live inside of ThinkOrSwim:

  • You can quickly compare different strikes, across different expirations, for a single stock
  • You can quickly compare a group of stocks, and rank by return percentages

Let’s start out.

If you are pasting in the final downloaded code, this is the process you will need to follow as well.

First, we need to come into the “Trade” tab inside of our ThinkOrSwim platform.

This code will live inside of a “Custom Quote” in TOS, which is also shared by the dashboard columns.

To create a custom quote, we can click the drop down, and select “Customize”

After choosing “Customize,” you can select “Custom Quotes” from the drop down menu, and click the scroll icon to create a new custom quote.

Inside of the custom quote, we can start by first defining our base variables. These include our base share count, and our base contract count.

def maxShares = 100;
def maxContracts = 1;

By defining them separately, this allows us to change the value of these variables in one place, instead of every line in the code.

After that, we can start by defining the formula for our return percentage for the scenario in which our call is not exercised:

def totalStrikePriceGainPct = (totalStrikePriceGain + premiumCollected)/(MaxContracts*100*close(getUnderlyingSymbol()));

def premiumCollectedPct = premiumCollected/(MaxContracts*100*close(getUnderlyingSymbol()));

Great. Next, we need to define the formula for our second scenario – the one in which our call does get exercised, and our shares taken away from us:

def strikePriceGain = GetStrike() - close(getUnderlyingSymbol());
def totalStrikePriceGain = strikePriceGain * maxContracts * 100;
def totalStrikePriceGainPct = (totalStrikePriceGain + premiumCollected)/(MaxContracts*100*close(getUnderlyingSymbol()));

That’s it. We have the two different pieces that help us make this calculation.

Now, we need to plot the values in a neat manner, using labels.

AddLabel(totalStrikePriceGain,AsPercent(premiumCollectedPct) + " | " + AsPercent(totalStrikePriceGainPct), color.white);

Click Save. And apply to our charts.

And just like that, we have an extra column inside of our options chain, that calculates for us the returns for each option’s strike, across a variety of different expirations.

Applying the Covered Call Calculator on KOPN:

Let’s apply our new Covered Call Calculator to the stock, KOPN.

KOPN Squeeze on ThinkOrSwim Charts

There are a few reasons why KOPN is on our radar:

  • Trend – We have a bullish Market Pulse line, confirming a bullish trend
  • Squeeze – We had a recent Slingshot Squeeze signal fire long, which has 2 winners and 1 loser over the past 5 years. Average winner is 15.96%, while the 1 loser was -0.46%.
  • Squeeze – We had a Squeeze Signal fire long with Friday’s activity, suggesting continued bullish movement, and for the squeeze to fire long

Now, if we come in to the option’s chain, let’s evaluate what we have. We’ll start with the April monthlies first.

On our charts, $16 and $18 are the two Fibonacci Extensions that we have, where we expect price to pause and reverse.

The closest strike we have which accounts for both of those levels is the $20 strike. That’s a delta 16 call option, in which your return percentage for just the premium is 2.87%, and if your calls are exercised, is 82.41%.

Not bad.

If we move one strike closer to In-The-Money (ITM), we have the $17.50 strike, which would alter those percentages to 4.94% and 62.03%, respectively.

Now, if we switch to a different expiration cycle – let’s navigate to the 21 May ‘21 time series.

For the same $20 strike, the percentages have shifted from the 2.87% and 82.41% to 8.08% and 87.61%.

A different way of saying the same thing is that you are being compensated with 5.21% in additional premium, for taking on the risk of another 35 days.

The downside is the much lower liquidity in the $20 strikes in the May series, compared to the April series.

Conclusion:

That brings us to the end of our tutorial. We built an entire Covered Call Calculator for the options chain in ThinkOrSwim, and it really didn’t take us a whole lot of time to build it.

If covered calls were part of your trading plan or strategy, you can now use this calculator to help make that process more efficient, and target the call that helps you meet your trading goals.

Conversely, if covered calls were previously not a part of your trading plan, I hope this tutorial helped demonstrate how they can be powerful, if used correctly.

Download

Click the button below to download the Covered Call Calculator for ThinkOrSwim.

Download Covered Call Calculator
Covered Call Calculator.ts
# Covered Call Calculator for ThinkOrSwim

# Generated by TOS Indicators

# Full tutorial: tosindicators.com/indicators/covered-call-calculator

# Input Variables

input maxShares = 100;


// ... 59 more lines ...

Unlock This Code

Create a free account to access the full source code and download files.

Create Free Account Login
To install the calculator, go to Trade > Layout > Customize > Custom Quotes. Select an available custom quote slot, paste the ThinkScript code, and click Apply. The calculator will display return percentages next to each strike price. Make sure to save your layout after installation.
Target annualized returns of 20-40% depending on market conditions and stock volatility. For monthly options, this translates to 1.5-3% per contract. Higher volatility stocks offer higher premiums but carry more risk. Use our color-coding feature set to 30% threshold to identify attractive opportunities.
The calculator works across all expiration cycles. Simply switch between monthly options in your ThinkOrSwim options chain to see return percentages for different time horizons. Generally, 30-45 days to expiration offers the best balance of premium income and time decay acceleration.
Yes, adjust the maxShares and maxContracts inputs at the top of the code. For example, if you own 200 shares, change maxShares to 200 and maxContracts to 2. The calculator will automatically adjust return percentages for your position size.
The first percentage shows returns if the option expires worthless (you keep only the premium). The second shows total returns if your shares are called away (premium plus capital gains). Use the second number to evaluate if you're comfortable with assignment at that strike price.
No, only sell calls on stocks where you're willing to have shares called away. Avoid covered calls on your highest-conviction growth stocks or positions you plan to hold long-term. Focus on stable dividend stocks or positions where you have profit-taking targets.
High implied volatility environments (VIX > 25) offer better covered call premiums but higher risk. Low volatility periods (VIX < 15) provide poor premiums. Use the calculator to compare opportunities and wait for better market conditions if current premiums don't meet your return targets.
Monitor the position and consider three options: 1) Accept assignment if you're comfortable selling at the strike price, 2) Buy back the call and sell a higher strike (roll up), or 3) Buy back the call and hold the stock. Use the calculator's "if exercised" percentage to determine if assignment meets your return goals.

Here are some resources that you may find useful:

  • How to import an indicator into ThinkOrSwim (video tutorial)
Featured Tools:
Stock Volatility Box

Stock Volatility Box

Spot reversal zones across 600 stocks & ETFs.

  • Hourly & daily models
  • Powerful Live Scanner
  • Built for day traders
Futures Volatility Box

Futures Volatility Box

Pinpoint reversal zones in 10 major futures markets.

  • 5 models (incl. Scalper)
  • ThinkOrSwim & TradingView
  • SPX traders
ORB Setups

ORB Setups

Find the best Opening Range Breakout setups.

  • Powerful real-time scanner
  • Instant backtests
  • 2+ years data

Get Free Access

Create a free account for downloads and new tutorial alerts.

Create Free Account

More Tutorials Like This

Multi-Time Frame (MTF) Squeeze Indicator

Multi-Time Frame (MTF) Squeeze Indicator

Beginner • 21 minutes
Simple Breakout Tool

Simple Breakout Tool

Beginner • 14 minutes
Opening Range Breakout

Opening Range Breakout

Advanced • 36 minutes

Ready to Trade With an Edge?

Join 40,000+ traders using institutional-grade tools for ThinkOrSwim.

Get the Bundle
TOS Indicators

Premium thinkorswim indicators, scans, and trading tools to help you trade smarter.

ThinkOrSwim Tools

  • Indicators
  • Scans
  • Backtesters
  • Dashboards
  • thinkScript
  • Browse All

Courses

  • Squeeze Course
  • Earnings Course
  • V-Shaped Reversals
  • Fibonacci Trading

Products

  • Futures Volatility Box
  • Stock Volatility Box
  • ORB Setups
  • Shop All

Guides

  • TTM Squeeze
  • Automated Trading
  • Volatility Trading
  • Opening Range Breakouts
  • Trade Reports
  • Contact Us

© 2026 TOS Indicators. All rights reserved.

Privacy Policy Terms of Service Disclaimer

The information contained on this website is solely for educational purposes, and does not constitute investment advice. The risk of trading in securities markets can be substantial. You must review and agree to our Terms of Service prior to using this site.

U.S. Government Required Disclaimer - Commodity Futures Trading Commission. Futures and options trading has large potential rewards, but also large potential risk. You must be aware of the risks and be willing to accept them in order to invest in the futures and options markets. Don't trade with money you can't afford to lose. This website is neither a solicitation nor an offer to Buy/Sell futures or options. No representation is being made that any account will or is likely to achieve profits or losses similar to those discussed on this website. The past performance of any trading system or methodology is not necessarily indicative of future results.

Individual results may vary, and testimonials are not claimed to represent typical results. All testimonials are by real people, and may not reflect the typical purchaser's experience, and are not intended to represent or guarantee that anyone will achieve the same or similar results.

TOS Indicator's Traders and employees will NEVER manage or offer to manage a customer or individual's options, stocks, currencies, futures, or any financial markets or securities account. If someone claiming to represent or be associated with TOS Indicator solicits you for money or offers to manage your trading account, do not provide any personal information and contact us immediately.

CFTC RULE 4.41 - HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY, SIMULATED TRADING PROGRAMS IN GENERAL ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.