Ever wonder how to connect TD Ameritrade’s thinkorswim (TOS) desktop trading platform with your Excel spreadsheet? How about how to use the thinkorswim RTD commands to live stream data into your Excel Watch-List?
The whole is greater than
– Aristotle
the sum of its parts
Commentary

This idiom is proven true when considering the complexity of a mechanical clock, a robot, or an airplane. It is also true when I combine TD Ameritrade’s Think or Swim trading platform with Microsoft Excel to make a kick-ass Watch List and Open Positions Monitor system.
In this week’s Journal Entry, I will walk through the steps of configuring a new laptop to run both my TD Ameritrade ThinkorSwim (TOS) desktop platform and my custom configured Excel watch-list spreadsheet.
It is easy to have ThinkOrSwim live stream to Excel, but it is not well documented on how to do it. ThinkOrSwim (aka thinkorswim, aka ToS) takes full advantage of Microsoft’s RTD to simplify the effort.
Table of contents
New Laptop
I want a second “disposable” laptop to take with me to remote locations (such as pubs and parks) and continue to work on my trading plans. The second laptop needs to have the identical platform configuration as my office trading workstation, robust security, and low cost. It also needs to have complete data synchronization between the two computers – whatever I start on one system, and I want to complete it on the other.
Configuration
- Dell Inspiron 7306 2n1
- i5 10th Gen
- 8 GB Mem
- 512 GB Drive
- Fingerprint scanner
- Windows 10 Home
- Microsoft Office 365
Microsoft OneDrive
OneDrive is Microsoft’s cloud storage service that is free if you have Microsoft 365. It is not needed to get the most out of TOS but is necessary for my Excel watch-list. As long as I save the Excel spreadsheet in my OneDrive folder, then I can watch and edit on both my workstations.
About Laptop Security
Being my “disposable” / “take with me anywhere” laptop, I need to be confident about security. I need to make sure I:
- Activate the fingerprint scanner
- Set a complicated Windows password/pin
- Set the computer to sleep when the lid is close
- Set the computer to require re-authentication when waking from sleep mode
- Enable Find My Device
If my laptop turns up missing, I can log in to my Microsoft Account from any other system and lock/disable the missing device.
TD Ameritrade ThinkorSwim (TOS)
Here is how to find, download, and install Think or Swim on my new laptop. Once installed, I will test the desktop software with my personal Ameritrade account to ensure all is right.
Prerequisite
This post assumes that I already have a TD Ameritrade brokerage account. And that I have already worked with the good folks at Ameritrade to set my account for Options Trading and approved for Standard Margin.
Note: HIGHLY RECOMMENDED that I have a dedicated Options trading account – separate from any of my buy/hold accounts. Doing so works as a firewall, so uncontrolled losses or wayward Options positions will not bleed my savings. The money deposited in the Options trading account will only be what I am willing to lose.
Installing ThinkorSwim
1. Log into my TD Ameritrade account.
2. In the “Search” box, type “thinkorswim”
3. Click the link “Get thinkorswim”
Start Thinkorswim for the First Time

Whenever you start thinkorswim, it will reach out to the servers to download any updates or patches automatically. Doing so requires you to approve installing these updates
Click “Yes”
Microsoft Excel
Microsoft Excel provides a function called RTD (RealTimeData). This function allows for direct communications between running applications. In this situation, Excel will use RTD functions to retrieve live data from thinkorswim.
Configure Excel to Retrieve RTD from TOS
The really cool thing about this particular configuration is – it comes ready to go right out of the box. There is no need to register COM Objects, set up libraries, or such like in the old days. I don’t need to be a nerd to make this work.
The only requirement to make this work is to have both TOS and Excel running simultaneously. (For Excel to retrieve live data from TOS, TOS needs to be running to serve.)

Retrieve RTD Live Data From TOS
I do not intend for this post to be detailed documentation on using the TOS/RTD functions, but I do what to show how to get started.
The Excel/RTD syntax for requesting data from TOS is to enter the formula,
“=RTD(“tos.rtd”,, “[COMMAND]“,”[TICKER]“)”, into an Excel cell. It’s very straightforward.
Below is an image showing some of the RTD commands I can use right away. There are hundreds of these commands offered by thinkorswim.

TOS/RTD Commands
There are several hundred TOS/RTD commands that I can use to create my kick-ass Watch List. But it is not clear how to find them. This section will point to some commands.
Abbreviated Table of TOS/RTD Commands
Ask | =RTD(“tos.rtd”,,”ASK”,[Options Code / Ticker]) |
Ask Size | =RTD(“tos.rtd”,,”ASK_SIZE”,Options Code / Ticker) |
AskX | =RTD(“tos.rtd”,,”AX”,[Options Code / Ticker]) |
Back Expected Move | =RTD(“tos.rtd”,,”BACK_EX_MOVE”,[Options Code / Ticker]) |
Back Vol | =RTD(“tos.rtd”,,”BACK_VOL”,[Options Code / Ticker]) |
Beta | =RTD(“tos.rtd”,,”BETA”,[Options Code / Ticker]) |
Bid | =RTD(“tos.rtd”,,”BID”,[Options Code / Ticker]) |
Bid Ask Size | =RTD(“tos.rtd”,,”BA_SIZE”,[Options Code / Ticker]) |
Bid Size | =RTD(“tos.rtd”,,”BID_SIZE”,[Options Code / Ticker]) |
BidX | =RTD(“tos.rtd”,,”BX”,[Options Code / Ticker]) |
Call Volume Index | =RTD(“tos.rtd”,,”CALL_VOLUME_INDEX”,[Options Code / Ticker]) |
Change | =RTD(“tos.rtd”,,”NET_CHANGE”,[Options Code / Ticker]) |
Close | =RTD(“tos.rtd”,,”CLOSE”,[Options Code / Ticker]) |
Covered Return | =RTD(“tos.rtd”,,”COVERED_RETURN”,[Options Code / Ticker]) |
Delta | =RTD(“tos.rtd”,,”DELTA”,[Options Code / Ticker]) |
Description | =RTD(“tos.rtd”,,”DESCRIPTION”,[Options Code / Ticker]) |
Dividend Share | =RTD(“tos.rtd”,,”DIV”,[Options Code / Ticker]) |
Dividend Yield | RTD(“tos.rtd”,,”YIELD”,[Options Code / Ticker]) |
EPS | =RTD(“tos.rtd”,,”EPS”,[Options Code / Ticker]) |
Expected Move Diff | =RTD(“tos.rtd”,,”EX_MOVE_DIFF”,[Options Code / Ticker]) |
Extrinsic | =RTD(“tos.rtd”,,”EXTRINSIC”,[Options Code / Ticker]) |
Front Expected Move | =RTD(“tos.rtd”,,”FRONT_EX_MOVE”,[Options Code / Ticker]) |
Front Vol | =RTD(“tos.rtd”,,”FRONT_VOL”,[Options Code / Ticker]) |
Gamma | =RTD(“tos.rtd”,,”GAMMA”,[Options Code / Ticker]) |
High | =RTD(“tos.rtd”,,”HIGH”,[Options Code / Ticker]) |
High52 | =RTD(“tos.rtd”,,”52HIGH”,[Options Code / Ticker]) |
Implied Volatility | =RTD(“tos.rtd”,,”IMPL_VOL”,[Options Code / Ticker]) |
Intrinsic | =RTD(“tos.rtd”,,”INTRINSIC”,[Options Code / Ticker]) |
Last | =RTD(“tos.rtd”,,”LAST”,[Options Code / Ticker]) |
Last Size | =RTD(“tos.rtd”,,”LAST_SIZE”,[Options Code / Ticker]) |
LastX | =RTD(“tos.rtd”,,”LX”,[Options Code / Ticker]) |
Low | =RTD(“tos.rtd”,,”LOW”,[Options Code / Ticker]) |
Low52 | =RTD(“tos.rtd”,,”52LOW”,[Options Code / Ticker]) |
Mark | =RTD(“tos.rtd”,,”MARK”,[Options Code / Ticker]) |
Mark Change | =RTD(“tos.rtd”,,”MARK_CHANGE”,[Options Code / Ticker]) |
Mark Change | =RTD(“tos.rtd”,,”MARK_CHANGE”,[Options Code / Ticker]) |
Market Cap | =RTD(“tos.rtd”,,”MARKET_CAP”,[Options Code / Ticker]) |
Mark Percent Change | =RTD(“tos.rtd”,,”MARK_PERCENT_CHANGE”,[Options Code / Ticker]) |
Mark Percent Change | =RTD(“tos.rtd”,,”MARK_PERCENT_CHANGE”,[Options Code / Ticker]) |
Max Covered Return | =RTD(“tos.rtd”,,”MAX_COVERED_RETURN”,[Options Code / Ticker]) |
Open | =RTD(“tos.rtd”,,”OPEN”,[Options Code / Ticker]) |
Open Interest | =RTD(“tos.rtd”,,”OPEN_INT”,[Options Code / Ticker]) |
Option Volume Index | =RTD(“tos.rtd”,,”OPTION_VOLUME_INDEX”,[Options Code / Ticker]) |
PE | =RTD(“tos.rtd”,,”PE”,[Options Code / Ticker]) |
Percent Change | =RTD(“tos.rtd”,,”PERCENT_CHANGE”,[Options Code / Ticker]) |
Probability ITM | =RTD(“tos.rtd”,,”PROB_OF_EXPIRING”,[Options Code / Ticker]) |
Probability OTM | =RTD(“tos.rtd”,,”PROB_OTM”,[Options Code / Ticker]) |
Probability Touch | =RTD(“tos.rtd”,,”PROB_OF_TOUCHING”,[Options Code / Ticker]) |
Put Call Ratio | =RTD(“tos.rtd”,,”PUT_CALL_RATIO”,[Options Code / Ticker]) |
Put Volume Index | =RTD(“tos.rtd”,,”PUT_VOLUME_INDEX”,[Options Code / Ticker]) |
Rho | =RTD(“tos.rtd”,,”RHO”,[Options Code / Ticker]) |
Shares | =RTD(“tos.rtd”,,”SHARES”,[Options Code / Ticker]) |
Strength Meter | =RTD(“tos.rtd”,,”STRENGTH_METER”,[Options Code / Ticker]) |
Theta | =RTD(“tos.rtd”,,”THETA”,[Options Code / Ticker]) |
Vega | =RTD(“tos.rtd”,,”VEGA”,[Options Code / Ticker]) |
Vol Diff | =RTD(“tos.rtd”,,”VOL_DIFF”,[Options Code / Ticker]) |
Vol Index | =RTD(“tos.rtd”,,”VOL_INDEX”,[Options Code / Ticker]) |
Volume | =RTD(“tos.rtd”,,”VOLUME”,[Options Code / Ticker]) |
Weighted Back Vol | =RTD(“tos.rtd”,,”WEIGHTED_BACK_VOL”,[Options Code / Ticker]) |
Copy/Paste TOS Data to Excel
Another niffy way to discover what RTD command to use in my Excel spreadsheet is to export data from TOS directly into Excel.
Where Can I Find More?
Searching both high and low inside the TOS desktop platform has not yielded any good sources for the tos.rtd commands. The closes thing I found to comprehensive documentation of tos.rtd is from www.stock-data-solutions.com.
If any finds the “definitive” documentation for tos.rtd, please leave me a note below.
Application – My Custom Watchlist & Open Positions Monitor
Great tools are useless without a great application. To get started on using ThinkorSwim/Excel consider reviewing my posts for creating a custom watchlist and open spread positions monitor –
Custom Options Watchlist using Thinkorswim in Excel – PT 1
Custom Options Watchlist using Thinkorswim in Excel – PT 2
Previous Post from OptionsTradesByDamocles
Conclusion
Using Excel with thinkorswim is not hard to setup.
Disclaimer
Even though I have tried to make it clear that this blog is my journal, documenting my trek into Options Trading, it has been suggested by others that I, nevertheless, include a general disclaimer. So here goes…
“This blog and the information contained herein is not intended to be a source of advice or analysis concerning the material presented. The information and/or documents contained in the blog do not constitute investment advice.”
Contact Me
If you want to comment on this post’s topic, please use the “Leave a Reply” box below so it can be attached to the post for future reference. – Thanks

Thanks for sharing your insight, this is easy to use and works nicely. Are there any TOS commands to import historical stock and option data into excel ?
Greetings Ron, Thank you for your kind words.
I’m not that deep into ThinkorSwim, so I’m not aware of a function to retrieve historical data in TOS short of writing a thinkScript program. But there are several Excel Add-ins/Templates that can pull market data. I haven’t researched any of these, but one you can look into is Yahoo Finance. Check out this site: https://www.tradinformed.com/how-to-download-price-data-from-yahoo-finance-into-excel/
Do you know if you can “feed” the earnings date for a security from TOS to excel?
First, I must confess that I am not that deep with ThinkorSwim/Excel. But ThinkorSwim has a dropdown box that will list all the available fields you can use with your Excel RTD commands. Open the “Scan” tab, click the top-most list icon (top right of the platform), select “Export,” then “Help on data export.”
Thank you. That’s something definitely helpful. Doesn’t appear I can accomplish easily what I want. You can put the ex-div date, that’s about it. Workaround is a watch list in TOS and click on the circles individually next to the symbol for the earnings dates.
Thanks again!
do you make your Excel chart available to use for free or purchase? I’d like to use it as a baseline for my own options tracking Excel sheet 🙂
My current spreadsheet is mired with old equations, what-ifs, and other doodlings that will make it way too much trouble to decipher. But the two post below is my documentation for recreating my Options Watchlist should I lose it. These posts were intended to be a cut-and-paste document.
Custom Options Watchlist using Thinkorswim in Excel – PT 1 – Options Trades by Damocles
Custom Options Watchlist using Thinkorswim in Excel – PT 2 – Options Trades by Damocles
Thank you for your message.
Hi
Thank you for your great comments and instructions. I was wondering if you know how to feed “margin required” field of ThinkorSwim from the “Account Statement” tab to import them into Excel spread sheet.
Kind regards,
Ali Daneshmand, NYC
Greetings Ali, thank you for your kind words.
After a brief look at the available RTD topics in the ThinkorSwim, I came up with nothing resembling my margin account balances. So, I will presume (at this point) that I cannot retrieve any personal account information from Ameritrade via my ThinkorSwim trading platform.
But a brief search on the Internet came up with “Money in Excel,” an Excel dynamic template that can import financial information from Ameritrade. Dissecting that could give you some good clues on how to get what you want.
Sorry for not being much help.