How do you connect Schwab’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? Even better, how about downloading my Excel Options Watch List to see how it works?
The Avengers (2012) is an action-packed superhero film that tells the story of a group of superheroes who must come together to save the world from an alien invasion. The film’s message is that teamwork and cooperation are essential to success.
It is also true when I combine Charles Schwab’s newly acquired Thinkorswim trading platform (from TD Ameritrade) with Microsoft Excel to make a kick-ass Watch List and Open Positions Monitor system.
It is easy to have Thinkorswim live stream to Excel, but it is not well documented on how to do it. Thinkorswim ( aka TOS) takes full advantage of Microsoft’s RTD to simplify the effort. In this week’s Journal Entry, I will walk through configuring a new laptop to run Schwab’s ThinkorSwim (TOS) desktop platform and my custom-configured Excel watchlist spreadsheet.
Table of contents
If anyone is interested, for a small donation,
they can download a strip-down and unsupported version
of my Excel Watchlist.
New Laptop
I want a second “disposable” laptop I can take to remote locations (such as pubs and parks) and continue working on my trading plans. The second laptop must have the same platform configuration as my office trading workstation, robust security, and low cost. It also needs complete data synchronization between the two computers – whatever I start on one system, I want to complete 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 watchlist. If I save the Excel spreadsheet in my OneDrive folder, I can watch and edit it 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 closed
- 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.
Charles Schwab’s ThinkorSwim (TOS)
Here is how to find, download, and install Thinkorswim on my new laptop. Once installed, I will test the desktop software with my personal Schwab account to ensure everything is right.
Prerequisite
This post assumes that I already have a Schwab brokerage account. And that I have already worked with the good folks at Schwab to set up 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 Charles Schwab account.
2. Select the “Trade” tab
3. Click the link “thinkorswim Desktop”
4. Scroll down the page until you see:
5. Click it…
6. Wait until the download is completed
7. Click “Open File” to start the installation
Waiting… Waiting…
8 . Select language – click “OK”
9. Click “Next >”
- Select your account provider (“Schwab”),
- Click “Next >”
12. Agree to the legal stuff, then click “Next >”
13. Make the selection you want. I selected “for all users” because I am the “ALL” for my laptop.
14. Click “Next >”
15. Click “Yes” to allow thinkorswim to be installed.
Note: This install still has “TD Ameritrade” as the certified publisher.
That’s ok
16. Take the default location to install the software. If you want to put the files somewhere else, now is the time to do it…
17. Click “Next >”
18. Some cosmetic choices. Select what you want and click “Next >”
The software installation status box zipped by way too fast for me to capture a screenshot. So don’t blink.
19. When the software is completed, click “Finish.”
Start Thinkorswim for the First Time
Find the “thinkorswim” icon on the desktop and double-click to start.
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”
The first time you start TOS, it will download the bulk of the software. How fast this happens will depend on the speed of your Internet. This extended download is a one-time snoozer, so now is an excellent time to take a coffee break…
Moment of truth…
Enter your username and password, then click “Log in.”
Initializing your desktop…
Voila!!!
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.
- Click the “Scan” tab at the top
- Apply a simple filter
- Click “Scan”
- At the near upper right corner of TOS, click the “Options Menu”
- Click “Export >”
- Click “To Microsoft Excel”
Once the scanned data from TOS is loaded in the Excel sheet, click on any cell and look at the formula used in the formula bar.
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 –
Watchlist for Vertical Spreads
Custom Options Watchlist using Thinkorswim in Excel – PT 1
Custom Options Watchlist using Thinkorswim in Excel – PT 2
Watchlist for Cover Calls
Cover Calls WATCHLIST Using ThinkorSwim EXCEL
Was This Post Helpful? Although blogging is great fun, any Donation/Tip will help keep my site active.
(Consider it like the tip you would throw in the guitar case of a street performer as you walk by 😉)
Choose an amount
Or enter a custom tip
Your contribution is appreciated – Damocles
DonatePrevious 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
No comments! Be the first commenter?