This project visualizes level 2 options data from the Schwab streaming API using a bookmap style visualization.
This is a rough v1. Improvements coming.
schwab_md_vid.mp4
1. Enter a stock symbol
2. Select date
3. Select Call or Put
4. Enter a strike
5. Click "Create Chart"
Click the "+" to add more charts. Click the red "x" to delete the chart.
Add as many charts as you want.
Click "Auto" in the bottom right corner to switch to Manual mode.
The default "Auto" mode locks the y-axis to +-10% of the last price.
- Real-time visualization of order book data
- Historical view of price levels over time
- Heatmap showing order density
- Futures and Index options coming soon....
- Python 3.11+
- Node.js 14+
- Schwab API credentials
- Clone this repository
- Install Python dependencies:
pip install -r requirements.txt
- Create a
.env
file with your Schwab API credentials:SCHWAB_APP_KEY=your_app_key SCHWAB_APP_SECRET=your_app_secret
- Install frontend dependencies:
cd frontend npm install
-
Start the API and data stream:
python api.py
-
Start the frontend development server:
cd frontend npm run dev
-
Open your browser and navigate to:
http://localhost:8081
localhost:8080/symbols
- Get all available symbols in your dblocalhost:8080/depth/{symbol}
- Get the latest market depth for a symbollocalhost:8080/historical_full/{symbol}
- Get historical market depth snapshots
Discord Come checkout the other builders and projects.
Schwab API wrapper: https://github.com/tylerebowers/Schwabdev