Excel has no built-in option chain function; its Stocks data type covers equities but not options or Greeks. To get an option chain into Excel you need a data add-in, a broker link, or a manual download. With the MarketXLS add-in, =QM_GetOptionChain("AAPL") returns the current chain (strikes, expirations, bid/ask, volume, open interest) as a table, and =QM_GetOptionQuotesAndGreeks("AAPL") adds Greeks and implied volatility. Options data is end-of-day on the MarketXLS Standard plan and real-time streaming on the Advanced and Business plans.
Try it in your own spreadsheet
Get the free MarketXLS sample workbook (.xlsx).
No account needed. MarketXLS live data requires a paid plan. Preview workbook
Explore more videos
This guide compares that approach with the free alternatives (Thinkorswim RTD, the Interactive Brokers API, Power Query, CBOE downloads, and Python scripts), including where each one falls short. For the product-level workflow, see options data in Excel.
At a Glance: Methods Compared
| Method | Real-Time? | Full Chain? | Greeks? | Cost | Difficulty |
|---|---|---|---|---|---|
| MarketXLS Add-In | ✅ Advanced and Business plans (Standard: end-of-day) | ✅ Complete | ✅ Yes | See plans | Easy: one formula |
| Thinkorswim DDE/RTD | ✅ Yes | ⚠️ Manual setup | ⚠️ Limited | Free (with account) | Hard: requires TOS running |
| IBKR Excel API | ✅ Yes | ✅ Programmable | ✅ Yes | Free (with account) | Very hard: API knowledge needed |
| Power Query + Yahoo | ❌ Delayed/broken | ⚠️ Partial | ❌ No | Free | Medium: fragile, breaks often |
| CBOE Manual Download | ❌ EOD only | ✅ Full chain | ❌ No | Free | Easy but manual |
| Python Script → CSV | ⚠️ Depends on source | ✅ Full chain | ⚠️ Depends | Free-ish | Hard: coding required |
Each method has tradeoffs, covered below.
The One-Formula Approach: MarketXLS
The MarketXLS add-in returns an option chain from a single formula, with no API code or external trading software. Disclosure: MarketXLS publishes this guide.
Pull a Complete Option Chain
One formula. That's it:
=QM_GetOptionChain("AAPL")
Formula documentation: QM_GetOptionChain
This spills the current AAPL option chain into your spreadsheet (non-expired calls and puts across expirations and strikes), with:
- Bid / Ask / Last price
- Volume and Open Interest
For Greeks and implied volatility per contract, use =QM_GetOptionQuotesAndGreeks("AAPL") (below).
No VBA macros, web queries, or external applications are needed. The chain is a snapshot that updates when Excel recalculates. If Excel shows #SPILL!, clear the cells blocking the result.
Filter the Chain
Don't need every strike? Filter it:
=QM_GetOptionChainInTheMoney("AAPL")
Formula documentation: QM_GetOptionChainInTheMoney
This returns only in-the-money options. Other filtered versions include QM_GetOptionChainActive (excludes zero-volume contracts), QM_GetOptionChainAtTheMoney, QM_GetOptionChainOutOfTheMoney, QM_GetOptionChainWeeklies, QM_GetOptionChainMonthlies, and QM_GetOptionChainNearTerm. See options data in the docs.
Get a Specific Option's Price
Know exactly which contract you want? Generate the symbol and pull the price:
=OptionSymbol("AAPL", "2026-03-21", "C", 200)
Formula documentation: OptionSymbol
This returns: @AAPL 260321C00200000
Then get the live price:
=QM_Last("@AAPL 260321C00200000")
Formula documentation: QM_Last
Or stream it (Advanced and Business plans):
=QM_Stream_Last("@AAPL 260321C00200000")
Formula documentation: QM_Stream_Last
QM_Stream_* functions update the cell automatically while streaming is on. Each streamed contract uses one live symbol subscription, and options tracking is limited to 300 symbols.
Live Greeks for Any Contract
Need Delta for your hedging model? Theta for your income strategy?
=QM_GetOptionQuotesAndGreeks("AAPL")
Formula documentation: QM_GetOptionQuotesAndGreeks
Returns option quotes with Greeks (Delta, Gamma, Theta, Vega, Rho) and implied volatility for each contract. See all options functions →
Real-World Example: Building an Options Dashboard
Here's how a typical options dashboard looks in Excel with MarketXLS:
| Cell | Formula | What It Returns |
|---|---|---|
| B1 | =Last("AAPL") | Current stock price |
| B2 | =QM_GetOptionChain("AAPL") | Full chain (spills into range) |
| B3 | =OptionSymbol("AAPL","2026-03-21","C",200) | @AAPL 260321C00200000 |
| B4 | =QM_Last(B3) | Option last price |
| B5 | =QM_Stream_Last("AAPL") | Streaming stock price (Advanced and Business) |
| B6 | =RSI("AAPL") | RSI indicator value |
| B7 | =SimpleMovingAverage("AAPL", 50) | 50-day SMA value |
On-demand cells update when Excel recalculates; the QM_Stream_Last cell updates automatically.
Free Method #1: Thinkorswim → Excel (DDE/RTD Link)
If you have a TD Ameritrade / Charles Schwab account, Thinkorswim can push real-time data to Excel via DDE (Dynamic Data Exchange) or RTD (Real-Time Data) links.
How It Works
- Open Thinkorswim desktop application
- In Excel, use RTD formulas pointing to TOS's data server
- Options data streams into your cells while TOS is running
The Reality
Pros:
- Free with your brokerage account
- Real-time data
- Reliable while it's working
Cons:
- TOS must be running at all times; close it and the data stops
- DDE links are fragile and can break on TOS updates
- Setting up the RTD connection is not intuitive
- Limited to data your TOS subscription provides
- Can't easily share workbooks; the links are machine-specific
- Schwab's merger has introduced instability in some DDE features
This works if TOS is already your primary platform and you keep it running. It is a link between two applications, not a standalone data source.
Free Method #2: Interactive Brokers Excel API
IBKR offers a proper Excel API through their Trader Workstation (TWS) platform.
How It Works
- Install TWS and enable the API in settings
- Use IBKR's RTD formulas or their dedicated Excel add-in
- Request option chain data programmatically
The Reality
Pros:
- Full access to IBKR's market data
- Real-time streaming
- Programmable, so you can build custom tools
Cons:
- Steep learning curve; API knowledge required
- TWS must be running
- Account minimums apply
- Rate limits on data requests
- Documentation is extensive but dense
- Not practical for casual users
IBKR's API is the right choice for developers and quantitative traders who want full programmatic control. For most Excel users who just want option chain data in cells, it's overkill.
Free Method #3: Power Query + Yahoo Finance
You can use Excel's Power Query to pull option chain data from Yahoo Finance URLs.
How It Works
Excel's Power Query can connect to web-based data sources and import tables. Some financial websites provide option chain data in HTML tables that Power Query can read.
The Reality
Pros:
- Free
- No external software needed
- Built into Excel
Cons:
- Web data sources change their page structure regularly, so queries break without warning
- Data is typically 15-20 minutes delayed
- No Greeks included
- Only shows one expiration date at a time
- Rate-limited; too many requests and you may get blocked
- Not suitable for anything you need to rely on consistently
Power Query is a useful tool for many data tasks, but option chain data from web sources tends to be unreliable for ongoing use.
Free Method #4: CBOE Direct Download
The Chicago Board Options Exchange provides downloadable option chain data.
How It Works
- Visit cboe.com and navigate to a symbol's option chain
- Download as CSV
- Open in Excel
The Reality
Pros:
- Official exchange data
- Free
- Clean format
Cons:
- Manual only, no automation
- End-of-day data only
- One symbol at a time
- No Greeks
- Not practical for daily workflows
Good for occasional research. Not practical for active trading or analysis.
Free Method #5: Programming / API Approach
For technically inclined users, languages like Python can connect to official data provider APIs (such as Tradier, Polygon, or your broker's API) to pull option chain data and export to Excel.
The Reality
Pros:
- Can be cost-effective with the right data provider
- Fully customizable
- Can automate with scheduling
Cons:
- Requires programming knowledge
- Data quality and licensing depend entirely on the source
- Extra step to get data into Excel
- Maintaining scripts as APIs change is ongoing work
- Not real-time unless using WebSocket connections
If you're comfortable with programming, this gives you flexibility. But it's a development project, not an Excel solution.
Options Analytics Beyond the Chain
After the chain is in Excel, the next steps are usually P/L modeling, IV comparisons, and scanning:
Options Profit Calculator
Modeling potential P/L across different price scenarios and dates is fundamental to options trading.
With MarketXLS, the Options Profit Calculator handles:
- 20+ preset strategies: covered calls, iron condors, straddles, strangles, butterflies, spreads, collars, and more
- Black-Scholes pricing built into the calculator
- Payoff diagrams generated directly in your spreadsheet
- Scenario matrices showing P/L across price and time dimensions
The free alternatives (manual Black-Scholes formulas, online calculators like optionsprofitcalculator.com) work for one-off calculations but don't integrate with your live data.
Implied Volatility Rankings
IV rank compares current implied volatility with its range over a past period, which options sellers use to judge whether premiums are rich or cheap.
=QM_GetOptionQuotesAndGreeks("SPY")
Formula documentation: QM_GetOptionQuotesAndGreeks
Returns IV for every contract. Combined with historical data, you can build IV rank and IV percentile calculations directly in your models.
Options Scanner
Need to find opportunities across multiple symbols? MarketXLS's Options Scanner analyzes up to 40 tickers simultaneously, filtering by:
- Volume and open interest thresholds
- Greek ranges (e.g., Delta between 0.3 and 0.4)
- IV percentile
- Bid-ask spread
- Days to expiration
Results land in Excel, next to your existing analysis. Learn more about the Options Scanner →
Understanding Option Symbols
One of the confusing aspects of options in Excel is the symbology. Here's how it works:
Standard Option Symbol Format
@TICKER YYMMDD[C/P]SSSSSSSSS
@: prefix indicating an optionTICKER: underlying symbol (e.g., AAPL)YYMMDD: expiration dateCorP: call or putSSSSSSSSS: strike price × 1000, zero-padded to 8 digits
Examples:
| Description | Symbol |
|---|---|
| AAPL Mar 21, 2026 $200 Call | @AAPL 260321C00200000 |
| MSFT Feb 11, 2026 $412.50 Call | @MSFT 260211C00412500 |
| SPY Jan 16, 2026 $450 Put | @SPY 260116P00450000 |
| TSLA Apr 17, 2026 $175 Call | @TSLA 260417C00175000 |
You don't have to memorize this. MarketXLS generates the symbol for you:
=OptionSymbol("AAPL", "2026-03-21", "C", 200)
Formula documentation: OptionSymbol
Returns: @AAPL 260321C00200000
Then use that symbol anywhere you need the option's data.
Pricing: What Does Options Data in Excel Cost?
Free Options
| Method | What You Get | What's Missing |
|---|---|---|
| TOS DDE/RTD | Real-time chain + some Greeks | Requires TOS running, fragile |
| IBKR API | Full chain + Greeks | Complex setup, requires account |
| Yahoo/Power Query | Delayed chain, no Greeks | Breaks frequently, no Greeks |
| CBOE Download | EOD chain | Manual only, no Greeks |
| Python + yfinance | Delayed chain | Coding required, unreliable |
MarketXLS
MarketXLS options data is end-of-day on the Standard plan ($70/month billed annually) and real-time streaming on the Advanced ($125/month billed annually) and Business ($200/month billed annually) plans. Prices include data and exchange fees for non-professional users. See current pricing and plan details →
If you already use TOS or IBKR as your primary platform, their free Excel integrations may be enough. If you want a data source that works regardless of broker, or you need Greeks, scanning, and historical data as formulas, an add-in avoids the setup and maintenance of the free methods.
Who Needs Option Chain Data in Excel?
Active Options Traders
You're building custom models for entries and exits. You need real-time Greeks flowing through your pricing formulas. You track positions across multiple underlyings and want everything in one spreadsheet.
Covered Call / Cash-Secured Put Sellers
You screen for optimal strikes based on premium, delta, and days to expiration. Having the full chain in Excel lets you sort, filter, and compare across your watchlist efficiently.
Portfolio Managers & Financial Advisors
You use options for hedging client portfolios. You need to analyze collar strategies, protective puts, and covered call overlays with real data, not theoretical examples.
Quantitative Analysts
You're building backtesting models, vol surface analysis, or statistical arbitrage strategies. You need historical options data, Greeks history, and the ability to process large datasets in Excel or export to other tools.
Finance Students & Educators
You're learning or teaching options pricing. Having real option chains in a spreadsheet makes Black-Scholes, binomial trees, and Greeks tangible rather than abstract.
Getting Started: From Zero to Option Chain in 5 Minutes
Step 1: Install MarketXLS
On Windows, install the MarketXLS desktop add-in. On Mac and Excel for the web, install the Microsoft 365 add-in from Microsoft AppSource; its formulas use the mxls. prefix, for example =mxls.QM_GetOptionChain("SPY"). See choose your version.
Step 2: Pull Your First Chain
In any cell, type:
=QM_GetOptionChain("SPY")
Formula documentation: QM_GetOptionChain
The SPY option chain (hundreds of contracts across all expirations) spills into your spreadsheet, with strikes, expirations, bid/ask, volume, and open interest for each contract.
Step 3: Get a Specific Contract Price
Pick any contract from the chain, or generate the symbol yourself:
=OptionSymbol("SPY", "2026-03-21", "C", 580)
=QM_Last("@SPY 260321C00580000")
Formula documentation: OptionSymbol, QM_Last
Step 4: Build Your Model
Combine option data with stock data, technical indicators, and fundamentals as Excel formulas:
=Last("SPY") ' Current SPY price
=RSI("SPY") ' RSI indicator
=SimpleMovingAverage("SPY", 20) ' 20-day SMA
=DividendYield("SPY") ' Dividend yield
=QM_GetOptionChain("SPY") ' Full option chain
=QM_GetOptionQuotesAndGreeks("SPY") ' Chain with Greeks
Formula documentation: Last, RSI, SimpleMovingAverage, DividendYield, QM_GetOptionChain, QM_GetOptionQuotesAndGreeks
Step 5: Stream Real-Time (Advanced/Business Plans)
For live-updating prices without hitting refresh:
=QM_Stream_Last("@SPY 260321C00580000")
Formula documentation: QM_Stream_Last
The price updates automatically in your cell while streaming is on. Combine with streaming stock prices:
=QM_Stream_Last("SPY")
Formula documentation: QM_Stream_Last
Frequently Asked Questions
Can Excel pull option chain data natively?
No. Excel's built-in Stocks data type (Microsoft 365) only supports equities, ETFs, funds, and basic financial metrics. There is no native Excel function for option chains, option prices, or Greeks. You need either a broker integration, an add-in, or a custom data connection.
What's the cheapest way to get live option prices in Excel?
If you already have a Thinkorswim or Interactive Brokers account, their Excel integrations are free (included with your brokerage account). The tradeoff is complexity and the requirement to keep their trading platform running. For a standalone solution, MarketXLS offers multiple plans designed for different levels of options data needs.
Can I get historical option chain data in Excel?
Yes. MarketXLS returns a historical chain for a past date with =OPT_HistoricalOptionChain("AAPL",DATE(2026,8,14)), and single-contract history with functions such as =Bid_Historical(...). See options data in the docs and check plan details. Free sources of historical options data are rare.
How do I get Greeks (Delta, Gamma, Theta, Vega) in Excel?
Use =QM_GetOptionQuotesAndGreeks("AAPL") to get a chain with Greeks for every contract. Options data is real-time on the MarketXLS Advanced and Business plans and end-of-day on Standard. You can also calculate Greeks yourself with Black-Scholes formulas in Excel, but that needs implied volatility as an input, which itself comes from market prices.
Does this work for index options (SPX, VIX)?
Yes. MarketXLS supports index options including SPX, SPXW (weekly S&P 500 options), VIX, and other major indices:
=QM_GetOptionChain("^SPX")
Formula documentation: QM_GetOptionChain
Note: Use ^SPX as the symbol for S&P 500 index options.
Can I scan options across multiple tickers at once?
Yes. MarketXLS's Options Scanner (Advanced and Business plans) lets you analyze up to 40 tickers simultaneously, filtering by volume, open interest, Greeks, IV percentile, and more. Results flow directly into Excel for further analysis.
What about streaming real-time options data?
MarketXLS offers real-time options streaming on the Advanced and Business plans. Use =QM_Stream_Last("@AAPL 260321C00200000") for auto-updating option prices. See which plan includes streaming →
The Bottom Line
Excel has no native option chain function, so you choose between a broker link, a manual download, custom code, or an add-in. The free methods work with caveats: broker integrations require the trading platform to stay running, Power Query breaks when source pages change, and Python scripts need maintenance.
MarketXLS returns the chain with =QM_GetOptionChain, Greeks with =QM_GetOptionQuotesAndGreeks, and streaming contract prices with =QM_Stream_Last, with no code. Options data is end-of-day on Standard and real-time on Advanced and Business.
Continue with the OptionXLS option chain in Excel workflow for a focused guide to raw-chain preservation, filtering and quote-quality checks.
Get Started with MarketXLS | View Pricing | Browse All Functions

