Option Chain Data Thinkorswim users frequently need to export into Excel for advanced filtering, strategy modeling, and portfolio management. Thinkorswim (ToS) by Charles Schwab (formerly TD Ameritrade) is one of the most powerful trading platforms available, and its option chain data is among the most comprehensive in the industry. However, working with that data inside Excel unlocks additional capabilities — custom screening logic, multi-leg strategy calculations, historical comparison, and automated journaling that the platform alone cannot provide.
In this guide, we cover three complete methods to get option chain data from Thinkorswim into Excel: the manual scan-and-export method, the RTD (Real-Time Data) link method, and the MarketXLS direct method using =QM_GetOptionChain(). Each method has different strengths, and we'll help you choose the right one for your workflow.
Why Export Option Chain Data from Thinkorswim to Excel?
Before diving into the how-to steps, let's understand why traders move option chain data into Excel:
- Custom Filtering: Excel allows you to filter by any combination of Greeks, volume, open interest, bid-ask spread, or implied volatility — going far beyond what ToS scan filters offer.
- Strategy Modeling: Build multi-leg strategy P&L models with custom formulas, scenario analysis, and sensitivity tables.
- Historical Tracking: Log option chain snapshots over time to analyze how implied volatility, open interest, and Greeks evolve.
- Portfolio Integration: Combine option chain data with your portfolio positions, account balance, and risk metrics in a single dashboard.
- Automation: Once data is in Excel, you can use VBA macros or Power Query to automate repetitive analysis tasks.
- Sharing and Reporting: Excel files are easily shared with colleagues, mentors, or trading groups for collaborative analysis.
Method 1: Thinkorswim Scan Tab Export (Manual Method)
This is the most straightforward way to get option chain data from Thinkorswim into Excel. It uses the built-in scan feature to filter options, then exports the results.
Step 1: Open the Scan Tab
Go to the Scan section in Thinkorswim (as shown in the navigation bar at the top of the platform). This is where you will configure your option filters and generate results that can be exported.
Step 2: Configure Your Scan Criteria
For this example, we'll scan for options on stocks that appear in both the S&P 100 and DOW Jones Industrial Average indices. Fill in the required fields:
- Scan in: Select "S&P 100" (or your preferred index/watchlist)
- Intersect with: Select "Dow Jones Industrial Average"
- Instrument type: Options
This narrows your results to options on blue-chip stocks that are in both major indices.
Step 3: Set Filter Parameters
Continue refining your scan with specific option parameters. For example, to filter by delta:
- Minimum Delta: -0.5
- Maximum Delta: 0.5
These delta values focus on at-the-money and slightly out-of-the-money options, which are typically the most liquid and actively traded. You can also add filters for:
- Days to Expiration (DTE): e.g., 20–60 days
- Volume: Minimum daily volume threshold
- Open Interest: Minimum open interest
- Implied Volatility: IV range
- Bid-Ask Spread: Maximum spread width
After entering your criteria, select "Options" in the dropdown and click the Scan button.
Step 4: Review and Export Results
The platform will display all options that satisfy your conditions. Each row shows the option symbol, strike price, expiration date, bid, ask, last price, volume, open interest, and Greeks (delta, gamma, theta, vega).
To export:
- Click the print/export icon (usually in the upper-right area of the results panel)
- Select Export to Excel from the dropdown menu
- A pop-up message will appear with instructions for pasting — click OK
Step 5: Paste into Excel
Open a new Excel workbook and paste the copied content (Ctrl+V or Cmd+V). The data will populate with column headers and all the option data from your scan.
Tips for the Manual Export Method:
- The export captures a snapshot — data does not update automatically
- Re-run the scan and export process each time you need fresh data
- Use Excel's Sort & Filter feature to further refine the exported results
- Save the workbook with a date-stamped filename for historical tracking
Method 2: Thinkorswim RTD Link (Real-Time Data)
The RTD (Real-Time Data) link method creates a live connection between Thinkorswim and Excel, allowing option data to update in real-time without manual re-exports.
How RTD Link Works
Thinkorswim provides an RTD server that Excel can connect to using the =RTD() function. This sends a request to the running ToS application, which returns live data directly into your spreadsheet cells.
Prerequisites
- Thinkorswim desktop application must be running on the same computer
- Excel must be open simultaneously
- You need the correct RTD server name and topic strings for ToS
RTD Formula Syntax
The general syntax for pulling option data via RTD from Thinkorswim is:
=RTD("tos.rtd",, "LAST", ".AAPL250321C200")
Where:
"tos.rtd"— the RTD server identifier for Thinkorswim- The second parameter is blank (empty string for local server)
"LAST"— the data field (can also be "BID", "ASK", "VOLUME", "DELTA", "GAMMA", "THETA", "VEGA", "IMPL_VOL", etc.)".AAPL250321C200"— the ToS option symbol format
Common RTD Data Fields for Options
| Field Name | Description |
|---|---|
| LAST | Last traded price |
| BID | Current bid price |
| ASK | Current ask price |
| VOLUME | Daily trading volume |
| OPEN_INT | Open interest |
| DELTA | Option delta |
| GAMMA | Option gamma |
| THETA | Option theta (daily) |
| VEGA | Option vega |
| IMPL_VOL | Implied volatility |
| MARK | Mark price (mid of bid/ask) |
| HIGH | Day's high |
| LOW | Day's low |
Understanding ToS Option Symbol Format
Thinkorswim uses a specific symbol format for options:
.TICKER YYMMDD[C/P]STRIKE
For example:
.AAPL 250321C200— AAPL March 21, 2025, $200 Call.SPY 250620P500— SPY June 20, 2025, $500 Put
Setting Up an RTD-Based Option Chain Sheet
- Column A: List the option symbols you want to track
- Column B:
=RTD("tos.rtd",,"LAST",A2)— Last price - Column C:
=RTD("tos.rtd",,"BID",A2)— Bid - Column D:
=RTD("tos.rtd",,"ASK",A2)— Ask - Column E:
=RTD("tos.rtd",,"DELTA",A2)— Delta - Column F:
=RTD("tos.rtd",,"IMPL_VOL",A2)— Implied Volatility - Column G:
=RTD("tos.rtd",,"VOLUME",A2)— Volume
Advantages of RTD Link:
- Live data — updates automatically while ToS is running
- Customizable — pull exactly the data fields you need
- No manual re-export — continuous feed
Limitations of RTD Link:
- Requires ToS desktop application running on the same machine
- Limited to approximately 1,000 RTD cells before performance degrades
- Only available on Windows (Mac users cannot use RTD)
- Data stops when ToS is closed
Method 3: MarketXLS Direct Method (Recommended)
MarketXLS provides the most streamlined approach to getting option chain data in Excel — no manual exports, no RTD server dependency, and no platform-specific requirements. The =QM_GetOptionChain() function pulls complete option chain data directly into your spreadsheet.
How It Works
MarketXLS connects to institutional-grade data feeds through QuoteMedia, delivering option chains for any optionable stock or index directly into Excel cells.
Key Formula: QM_GetOptionChain
=QM_GetOptionChain("AAPL")
This single formula returns the complete option chain for Apple (AAPL), including all available expirations, strikes, calls, and puts with bid, ask, last, volume, open interest, and Greeks.
Additional MarketXLS Option Functions
| Function | Purpose | Example |
|---|---|---|
=QM_GetOptionChain("AAPL") | Full option chain for a stock | Returns all strikes, expirations, Greeks |
=OptionSymbol("AAPL", "2026-03-21", "C", 200) | Generate standard option symbol | Returns @AAPL 260321C00200000 |
=QM_Last("@AAPL 260321C00200000") | Last price of specific option | Returns current option price |
=QM_GetOptionQuotesAndGreeks("AAPL") | Full quotes with all Greeks | Delta, gamma, theta, vega, rho, IV |
=QM_Stream_Last("@AAPL 260321C00200000") | Streaming live option price | Continuously updating price |
=QM_Stream_Bid("@AAPL 260321C00200000") | Streaming bid price | Live bid updates |
=QM_Stream_Ask("@AAPL 260321C00200000") | Streaming ask price | Live ask updates |
=QM_Stream_Delta("@AAPL 260321C00200000") | Streaming delta | Live Greek updates |
=QM_Stream_ImpliedVolatility("@AAPL 260321C00200000") | Streaming IV | Live implied volatility |
Step-by-Step: Setting Up MarketXLS for Option Chain Data
- Install MarketXLS: Download from marketxls.com and install the Excel add-in
- Activate your license: Enter your license key in the MarketXLS ribbon settings
- Open a new workbook and type in cell A1:
=QM_GetOptionChain("AAPL") - Press Enter — the option chain data populates across multiple rows and columns
- Use Excel filtering to narrow down by expiration date, strike range, or option type
Building an Options Screener with MarketXLS
Create a powerful options screening tool entirely within Excel:
Cell A1: "AAPL" (Stock symbol)
Cell B1: =QM_Last("AAPL") (Current stock price)
Cell C1: =PERatio("AAPL") (Fundamental context)
Cell D1: =RSI("AAPL") (Technical momentum)
Then in row 3 and below:
Cell A3: =QM_GetOptionChain(A1) (Full option chain)
Apply Excel filters to the option chain output to find:
- High implied volatility options (potential premium selling opportunities)
- High volume / open interest strikes (most liquid contracts)
- Specific delta ranges (e.g., 0.30 delta for covered call candidates)
- Narrow bid-ask spreads (better execution)
Comparison: Three Methods for Getting Option Chain Data in Excel
| Feature | ToS Manual Export | ToS RTD Link | MarketXLS |
|---|---|---|---|
| Real-time data | No (snapshot) | Yes (live) | Yes (streaming) |
| Requires ToS running | Only during export | Yes (always) | No |
| Operating system | Windows/Mac | Windows only | Windows/Mac |
| Setup complexity | Easy | Moderate | Easy |
| Data freshness | Manual refresh | Continuous | Continuous |
| Cell limit | Unlimited (static) | ~1,000 cells | Add-in limits |
| Greeks included | Yes | Yes | Yes |
| Historical data | No | No | Yes (via GetHistory) |
| Multiple symbols | One scan at a time | Manual setup per symbol | One formula per symbol |
| Cost | Free (ToS account) | Free (ToS account) | MarketXLS subscription |
| Best for | Occasional analysis | Active day trading | Comprehensive analysis |
Working with Option Chain Data in Excel: Practical Techniques
Once you have option chain data in Excel (by any method), here are practical techniques for analysis.
Technique 1: Covered Call Screening
A covered call involves owning 100 shares and selling a call option against them. Use option chain data to find the best covered call candidates:
- Filter for call options only
- Set DTE filter to 30–45 days
- Sort by premium yield (option price / stock price × 100)
- Look for delta between 0.25–0.35 (out-of-the-money with reasonable premium)
- Verify bid-ask spread is narrow (less than 5% of option price)
Technique 2: Put Selling for Income
Selling cash-secured puts is a popular income strategy. Screen option chain data for:
- Filter for put options only
- Set DTE to 20–45 days
- Look for delta between -0.20 and -0.30
- Calculate annualized return:
=(Premium / Strike Price) × (365 / DTE) × 100 - Verify adequate open interest (>100 contracts) for liquidity
Technique 3: Hedging with Protective Puts
For existing stock positions, use option chain data to find protective puts:
- Identify your stock's current price using
=QM_Last("AAPL") - Pull the put option chain with
=QM_GetOptionChain("AAPL") - Filter for puts with strike near or below current price
- Compare the cost of protection (put premium) vs. the downside you're hedging
- Evaluate different expirations for cost efficiency
Example from option chain data:
Suppose you own a stock trading at $50. You buy a put option at $5 premium with a $45 strike price for a 1-year period. At expiration:
- If the stock rises to $55: You don't exercise the put. Your cost is the $5 premium, but you gained $5 on the stock — net even on protection cost.
- If the stock drops to $40: You exercise the put and sell at $45 instead of $40. Your loss is limited to $10 ($50 - $45 + $5 premium) instead of $10 without the put. The put saved you $5 per share.
Technique 4: Bear Put Spread Analysis
The bear put spread involves buying a higher-strike put and selling a lower-strike put with the same expiration. Use option chain data to model this:
Setup example (stock trading at $40):
- Buy 1 put at $45 strike for $4.75
- Sell 1 put at $40 strike for $1.75
- Net debit: $3.00
| Stock Price at Expiration | Long 45 Put P/L | Short 40 Put P/L | Net Spread P/L |
|---|---|---|---|
| $46 | -$4.75 | +$1.75 | -$3.00 |
| $45 | -$4.75 | +$1.75 | -$3.00 |
| $44 | -$3.75 | +$1.75 | -$2.00 |
| $43 | -$2.75 | +$1.75 | -$1.00 |
| $42 | -$1.75 | +$1.75 | $0.00 |
| $41 | -$0.75 | +$1.75 | +$1.00 |
| $40 | +$0.25 | +$1.75 | +$2.00 |
| $39 | +$1.25 | +$0.75 | +$2.00 |
| $38 | +$2.25 | -$0.25 | +$2.00 |
| $37 | +$3.25 | -$1.25 | +$2.00 |
Key observations:
- Maximum loss: $3.00 (net debit paid) — occurs when stock stays above $45
- Maximum profit: $2.00 (width of strikes minus debit) — occurs when stock falls below $40
- Breakeven: $42.00 (higher strike minus net debit)
This analysis is easily done in Excel once you have option chain data with real bid/ask prices.
Technique 5: Implied Volatility Analysis
Use option chain data to analyze implied volatility patterns:
- Pull the full option chain with
=QM_GetOptionChain("AAPL") - Create a volatility smile/skew chart by plotting IV against strike price for a single expiration
- Compare IV across different expirations to build a term structure
- Identify IV crush opportunities around earnings by comparing pre-earnings IV to historical averages
Automating Option Chain Data Updates with VBA
For traders who use the manual Thinkorswim export or need to log data periodically, here's a simple VBA approach:
Sub LogOptionData()
Dim ws As Worksheet
Dim lastRow As Long
Set ws = ThisWorkbook.Sheets("OptionLog")
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
' Log timestamp and current option prices
ws.Cells(lastRow, 1).Value = Now()
ws.Cells(lastRow, 2).Value = ws.Cells(1, 2).Value ' Option symbol
ws.Cells(lastRow, 3).Value = ws.Cells(1, 3).Value ' Last price
ws.Cells(lastRow, 4).Value = ws.Cells(1, 4).Value ' IV
ws.Cells(lastRow, 5).Value = ws.Cells(1, 5).Value ' Delta
End Sub
Set this macro to run on a timer (every 5–15 minutes) to build a time series of option prices and Greeks throughout the trading day.
Troubleshooting Common Issues
ToS Export Shows Empty Data
- Ensure your scan criteria aren't too restrictive
- Verify you have real-time data enabled in your ToS account
- Check that the market is open (options data may not be available outside trading hours)
RTD Formulas Show #N/A
- Confirm Thinkorswim is running on the same computer
- Verify the option symbol format is correct (
.AAPL 250321C200) - Check that RTD is enabled in Excel: File → Options → Add-ins → Enable RTD
MarketXLS Returns Errors
- Verify your MarketXLS license is active and logged in
- Check the stock symbol is valid and optionable
- Ensure you have an internet connection for data feeds
- For option-specific functions, verify you're using the correct option symbol format (
@AAPL 260321C00200000)
Frequently Asked Questions
How do I export option chain data from Thinkorswim to Excel?
Option Chain Data Thinkorswim exports require three steps: (1) Go to the Scan tab and configure your criteria (index, delta range, DTE, etc.), (2) click Scan to generate results, then (3) click the print/export icon and select "Export to Excel." Paste the copied content into a new Excel workbook. This creates a static snapshot that you can filter and analyze using standard Excel tools. For live data, consider the RTD link method or MarketXLS instead.
Can I get real-time option chain data from Thinkorswim in Excel?
Option Chain Data Thinkorswim can stream live into Excel using the RTD (Real-Time Data) link. Use the formula =RTD("tos.rtd",,"LAST",".AAPL 250321C200") to pull live prices. You can also request BID, ASK, DELTA, GAMMA, THETA, VEGA, and IMPL_VOL fields. The RTD method requires Thinkorswim to be running on the same Windows computer. For a platform-independent alternative, MarketXLS offers =QM_Stream_Last() for streaming option prices without needing ToS running.
What is the easiest way to get option chains in Excel without Thinkorswim?
Option Chain Data Thinkorswim alternatives exist for traders who want option chains without the ToS platform dependency. MarketXLS provides the simplest approach — just type =QM_GetOptionChain("AAPL") in any Excel cell to get the complete option chain including all strikes, expirations, prices, and Greeks. No external platform needs to be running, and it works on both Windows and Mac. The data comes from institutional-grade QuoteMedia feeds.
How do I analyze option Greeks from Thinkorswim data in Excel?
Option Chain Data Thinkorswim exports include Greeks (delta, gamma, theta, vega) in the scan results. Once in Excel, you can sort by any Greek, create scatter plots of delta vs. strike price, build volatility skew charts, or calculate portfolio-level Greeks by summing across positions. With MarketXLS, use =QM_GetOptionQuotesAndGreeks("AAPL") for comprehensive Greeks data, or stream individual Greeks with =QM_Stream_Delta(), =QM_Stream_Gamma(), =QM_Stream_Theta(), and =QM_Stream_Vega() functions.
Can I use option chain data to screen for covered call or put selling candidates?
Option Chain Data Thinkorswim combined with Excel filtering is excellent for screening strategies. For covered calls, filter for calls with 30–45 DTE and delta between 0.25–0.35, then calculate premium yield (option price / stock price). For put selling, filter for puts with delta between -0.20 and -0.30 and calculate annualized return. MarketXLS makes this even easier since =QM_GetOptionChain() returns filterable data that you can immediately apply Excel's Sort & Filter functionality to.
Is the Thinkorswim RTD link available on Mac?
Option Chain Data Thinkorswim RTD links are only available on Windows because the RTD (Real-Time Data) protocol is a Windows COM-based technology. Mac users cannot use RTD formulas in Excel. The alternatives for Mac users are: (1) use the manual scan-and-export method in ToS, or (2) use MarketXLS which works on both Windows and Mac through the Excel add-in store. MarketXLS functions like =QM_GetOptionChain() provide the same data access without platform restrictions.
Summary
Getting option chain data from Thinkorswim into Excel opens up powerful analytical capabilities for options traders. The three methods covered — manual scan export, RTD live link, and MarketXLS direct integration — each serve different needs. For occasional analysis, the scan export is quick and free. For active day traders on Windows, the RTD link provides live streaming data. For the most comprehensive and platform-independent solution, MarketXLS's =QM_GetOptionChain() delivers complete option chains with a single formula, enhanced by supporting functions like =OptionSymbol(), =QM_Last(), =QM_GetOptionQuotesAndGreeks(), and the full suite of =QM_Stream_ functions for live data.
Ready to streamline your options analysis workflow? Explore MarketXLS plans at MarketXLS to get live option chains, Greeks, and 1,100+ financial functions directly in Excel.
None of the content published on marketxls.com constitutes a recommendation that any particular security, portfolio of securities, transaction, or investment strategy is suitable for any specific person. The author is not offering any professional advice of any kind. The reader should consult a professional financial advisor to determine their suitability for any strategies discussed herein.