MSN Money Options RTD Provider Documentation
Important Notice
TheMsnMoneyOptionsprovider currently does not return data.
Please use the YahooFinanceOptions provider instead.
Overview
The MsnMoneyOptions provider offers access to real-time options data from MSN Money, including calls and puts across multiple expiration dates and strike prices. It supports:
Pricing Fields
Bid, ask, last price, change, percent change, mark price
Volume and Open Interest
Volume, open interest, bid/ask size
Contract Details
Expiration date, strike price, option type (call/put), currency
Use the following generic RTD formula:
=RTD("market.rtd",,"MsnMoneyOptions","<Option Symbol>","<Data Field>")
Example:
=RTD("market.rtd",,"MsnMoneyOptions","AAPL260116C00200000","Last")
In this example, <Option Symbol> is a full OCC-style option symbol (e.g., AAPL260116C00200000), and <Data Field> is one of the supported fields listed below.
To find option symbols, visit MSN Money or create them using your own code or tools.
Use the Formula Builder to generate and copy formulas into Excel. It also allows you to customize separators and layout settings.
By default, the refresh interval is one hour. You can modify it using the following formula:
=RTD("market.rtd",,"MsnMoneyOptions","rtd_RefreshInterval",66060)
Note that Market RTD loads one page to retrieve data for all options of the month.
Option Part Formats
Option code format:
[.]<Option Symbol><Expiration Date><Option Type Char><Strike>
- Option symbol: Use stock tickers like
AAPLor MSN instrument codes like126.1.AAPL.NAS. - Expiration date format:
yymmdd - Option type char:
Cfor calls,Pfor puts
Strike formats:
- 8 digits with leading zero as strike — 1000 (Yahoo Finance format)
- 7 digits with leading zero as strike — 100
- 6 digits with leading zero as strike — 10
- Strike as is, with or without decimal part (common format)
Examples:
=RTD("market.rtd",,"MsnMoneyOptions","AAPL260116C00200000","OpenInt")
=RTD("market.rtd",,"MsnMoneyOptions","AAPL260116C00200","OpenInt")
=RTD("market.rtd",,"MsnMoneyOptions","AAPL260116C200","OpenInt")
=RTD("market.rtd",,"MsnMoneyOptions","AAPL260116C200.0","OpenInt")
=RTD("market.rtd",,"MsnMoneyOptions",".AAPL260116C200.0","OpenInt")
The last formula uses the thinkorswim format.
To find options, visit MSN Money.
Note: Options data is available for US exchanges and may not be available for other global exchanges.
Using Option Specifications
Excel formula format:
=RTD("market.rtd",,"MsnMoneyOptions","<Symbol>", <Expiration Date>, <Strike>, "<Option Type>", "<Data Field>")
Expiration date formats:
yymmddyyyy-mm-ddmmmdd,yymmmdd'yy
Option type format:
CorCALLPorPUT
Examples:
=RTD("market.rtd",,"MsnMoneyOptions","AAPL", "260116", 200, "CALL", "OpenInt")
=RTD("market.rtd",,"MsnMoneyOptions","AAPL", "2026-01-16", 200, "C", "OpenInt")
=RTD("market.rtd",,"MsnMoneyOptions","AAPL", "JAN26,16", 200, "PUT", "OpenInt")
=RTD("market.rtd",,"MsnMoneyOptions","AAPL", "JAN26'16", 200, "P", "OpenInt")
Special Notes
Symbol,OptionSymbol,Exp,Strike, andTypeare parsed automatically from the option code.OptionCodefollows the standard OCC format.OptionSymbolends with7for mini options and with1for some pre-split options.ChangeInPercent,ChangePercent, andPercentare equivalent and calculated by Market RTD.Markis calculated as(Bid + Ask) / 2.
To assist with filtering and lookup:
- Use
Strike~0to find the ATM strike. - Use
Strike+0orStrike-0to find equal or nearest strikes. - Use
Strike+1andStrike-1to find strikes just above or below.
Data Fields and Excel Formulas
Formulas for getting data by option codes:
| Data Field | Excel Formula |
|---|---|
| OptionCode | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"OptionCode") |
| Symbol | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Symbol") |
| OptionSymbol | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"OptionSymbol") |
| ExpDate | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Exp") |
| Strike | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Strike") |
| Type | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Type") |
| Last | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Last") |
| Change | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Change") |
| ChangeInPercent | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"ChangeInPercent") |
| ChangePercent | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"ChangePercent") |
| PercentChange | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"PercentChange") |
| TimeValue | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"TimeValue") |
| Mark | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Mark") |
| Bid | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Bid") |
| Ask | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Ask") |
| Volume | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Volume") |
| OpenInt | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"OpenInt") |
| Strike~0 | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Strike~0") |
| Strike+0 | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Strike+0") |
| Strike-0 | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Strike-0") |
| Strike+1 | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Strike+1") |
| Strike-1 | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"Strike-1") |
| RTD server values: | |
| rtd_LastError | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"rtd_LastError") |
| rtd_LastMessage | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"rtd_LastMessage") |
| rtd_LastUpdate | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"rtd_LastUpdate") |
| rtd_LastUpdateDate | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"rtd_LastUpdateDate") |
| rtd_LastUpdateTime | =RTD("market.rtd",,"MsnMoneyOptions",[Code],"rtd_LastUpdateTime") |
Data Fields and Excel Formulas by Option Contract Specifications
| Data Field | Excel Formula |
|---|---|
| OptionCode | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"OptionCode") |
| Symbol | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Symbol") |
| Last | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Last") |
| Change | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Change") |
| ChangeInPercent | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"ChangeInPercent") |
| ChangePercent | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"ChangePercent") |
| PercentChange | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"PercentChange") |
| TimeValue | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"TimeValue") |
| Mark | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Mark") |
| Bid | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Bid") |
| Ask | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Ask") |
| Volume | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Volume") |
| OpenInt | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"OpenInt") |
| Strike~0 | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Strike~0") |
| Strike+0 | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Strike+0") |
| Strike-0 | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Strike-0") |
| Strike+1 | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Strike+1") |
| Strike-1 | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"Strike-1") |
| RTD server values: | |
| rtd_LastError | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"rtd_LastError") |
| rtd_LastMessage | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"rtd_LastMessage") |
| rtd_LastUpdate | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"rtd_LastUpdate") |
| rtd_LastUpdateDate | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"rtd_LastUpdateDate") |
| rtd_LastUpdateTime | =RTD("market.rtd",,"MsnMoneyOptions",[OptionSymbol],[ExpDate],[Strike],[Type],"rtd_LastUpdateTime") |