Handles Authentication, WebSocket streaming subscriptions and API requests. (Developed on Anaconda Spyder on Apple platform)
Handles the authentication process and keeps a valid access token to be used
by Schwab (endpoint requests).
To authenticate, you need to provide:
"user": -- Used to generate the refresh token file
"redirect_uri": "https://127.0.0.1",
"client_id": str -- Apps credential from https://developer.schwab.com/
"app_secret": str -- Apps credential from https://developer.schwab.com/
Handles all API requests. GET, POST,PUT, PATCH.
TODO:
- Implement Enumerate.
- Implement ASYNC.
Handles Websocket connection:
- Login
- Subscription request
- Reestablish connection with all subscriptions back automatically.
TODO:
- Implement ASYNC.
Provides one method for each kind of subscription with the proper documentation
and default values set.
Downloads the complete transactions history and provides P/L
for each Day/Week/Month/Year with FIFO and LIFO approaches.
Examples on each API endpoint and working streamer subscriptions
Generate a test log with a complete responses on each ENDPOINT
- Desktop App
- Trading Bot
- AI trading Bot
- AI portfolio
graph TD;
Service-->API;
Service-->Streamer;
API-->Auth;
Streamer-->WebSocket;
WebSocket-->API;