Tos streamlit dashboard
A real-time dashboard using ThinkorSwim's RTD (Real-Time Data) and Streamlit. The project is written primarily in Python, first published in 2025. Key topics include: gamma, options-dashboard, rtd, thinkorswim, tos.
TOS Streamlit Dashboard
A real-time dashboard using ThinkorSwim's RTD (Real-Time Data) and Streamlit.
Demo
https://github.com/user-attachments/assets/1d6446e0-5c49-4208-872f-f63a55da36a5
Prerequisites
- Windows OS (required for ThinkorSwim RTD)
- Python 3.10 to 3.13. Streamlit is not supported in 3.14
- ThinkorSwim desktop application installed and running
Installation
- Clone the repository
bashgit clone https://github.com/2187Nick/tos-streamlit-dashboard
- Install dependencies:
bashpip install -r requirements.txt
Usage
- Start ThinkorSwim desktop application and log in
- Run the dashboard:
bashstreamlit run app.py
- Open the browser and navigate to
http://localhost:8501
Interface Controls
- Symbol: Ticker symbol (e.g., "SPY")
- Expiry Date: Contract expiration date (Defaults to the nearest Friday)
- Strike Range: Range of strikes to monitor (Defaults to +- $10)
- Strike Spacing: Spacing between strikes (Defaults to 1)
- Refresh Rate: Data refresh rate (Defaults to 15 seconds)
- Start/Stop: Toggle data streaming
Notes
- This does work with Ondemand. Can use this on weekends to review historical data.
- Gamma values are displayed in millions of dollars per 1% move in underlying asset.
Build
- This repo is a basic example. We hope you will build upon it and make it your own.
- If you build something, share it and we can keep a directory of projects.
Credit
Backend:
@FollowerOfFlow worked some magic to get TOS RTD working directly with Python.
Check it out here: pyrtdc
Gamma Exposure Calculations: perfiliev
Support
<br /> <div align="center"> <p>Finding value in my work?</p> <a href="https://www.buymeacoffee.com/2187Nick" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a> </div>Contributors
Showing top 2 contributors by commit count.
This article is auto-generated from 2187Nick/tos-streamlit-dashboard via the GitHub API.Last fetched: 6/28/2026
