OptraBot
OptraBot is a Options Trading Bot which can be used to run fully automated options trading strategies using your Interactive Brokers or Tastytrade trading account.
System requirements
Microsoft Windows, MacOS or Linux operating system
Python 3.13
For Interactive Brokers (native installation): Trader Workstation (TWS), IB Gateway or IB Client Portal Gateway
Installation
OptraBot uses the Python Package Manager UV from Astral (https://docs.astral.sh/uv/).
Use the following command for automatic installation procedure depending on your Operating System.
Windows: powershell -ExecutionPolicy ByPass -c "irm https://app.optrabot.io/static/assets/scripts/install-optrabot.ps1 | iex"
Windows Server: powershell -ExecutionPolicy ByPass -c "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; irm https://app.optrabot.io/static/assets/scripts/install-optrabot.ps1 | iex"
MacOS/Linux: curl -LsSf https://app.optrabot.io/static/assets/scripts/install-optrabot.sh | bash
This will download and automatically install UV if necessary, the correct Python version and the OptraBot itself.
Updating
The OptraBot got a auto-update functionality integrated. There is no need to update it manually.
The UV Package Manager can be updated with the command uv self update
Run OptraBot
OptraBot can be started with the following command: optrabot
Docker
OptraBot is also available as a Docker image (quantxgmbh/optrabot:latest).
Quick Start
Create a docker-compose.yaml and a data/ directory for the configuration and database:
services:
optrabot:
image: quantxgmbh/optrabot:latest
container_name: optrabot
ports:
- "8080:8080" # HTTP – for CDN/reverse proxy origin or direct access
# - "8443:8443" # Optional: direct local HTTPS access (required for IB Web SSO)
volumes:
- ./data:/optrabot # config.yaml and database are stored here
environment:
- IBGW=true # Set to true to start the IB Client Portal Gateway inside the container
restart: unless-stopped
Then start the container:
docker compose up -d
The OptraBot UI is then accessible at http://<host>:8080.
Environment Variables
| Variable | Values | Description |
|---|---|---|
IBGW |
true / false (default) |
Starts the IB Client Portal Gateway inside the container and routes IB API traffic via nginx |
Ports
| Port | Protocol | Description |
|---|---|---|
8080 |
HTTP | Main entry point – suitable as CDN/reverse proxy origin or for direct access |
8443 |
HTTPS (self-signed) | Optional – required for local browser-based IB Web SSO login (Secure cookies) |
Note: When using Interactive Brokers Web API (
ibweb) with local SSO login, use the HTTPS port8443.
Interactive Brokers in Docker
When running OptraBot in Docker with IBGW=true, the connection to Interactive Brokers is established via the IB Client Portal Gateway, which is bundled inside the container. This is different from the native installation, where Trader Workstation (TWS) or a standalone IB Gateway on the host machine is used.
The IB Client Portal Gateway requires a one-time browser-based login (SSO). Because the SSO session cookie is set as Secure, this login must be performed over HTTPS. Make sure to:
- Add the port mapping
8443:8443in yourdocker-compose.yaml - Open
https://<host>:8443in your browser to complete the IB login - Accept the self-signed certificate warning in the browser
After a successful login, OptraBot can communicate with Interactive Brokers via the gateway running inside the container.
Note: Port
8080(HTTP) is not suitable for the IB SSO login — use8443(HTTPS) for any browser-based IB authentication.
Configuration
On first start, the setup wizard launches automatically if no config.yaml is found in the mounted data/ directory. It guides through the initial configuration step by step. An existing config.yaml can also be imported directly in the setup wizard.
Health Check
OptraBot exposes a health check endpoint at /up. Use this path for load balancer and container health checks:
http://<host>:8080/up
The endpoint returns HTTP 200 when OptraBot is running.
Disclaimer
Be aware that you're using this software at your own risk. The author is not liable for any losses occuring with using this software.
Metadata
Release files for optrabot 0.33.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| optrabot-0.33.2.tar.gz | 1.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| optrabot-0.33.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.9 MB
Release files / optrabot-0.33.2.tar.gz
| Download URL | optrabot-0.33.2.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
709a0c119f2ac2b13fbb37bb35abcca7d122713e62247159d8130cca20adcb0e
|
|
BLAKE2b-256 checksum How to use checksums |
e55fffdf2643cd2d3bb9e17630831d142d756401f849e7c4b5dae217282e62a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / optrabot-0.33.2-py3-none-any.whl
| Download URL | optrabot-0.33.2-py3-none-any.whl |
|---|---|
| Size | 2.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec1f49d4aaaccc407d678f236f21ebc6f84e1c60a107b1054ef1fa512c890d0b
|
|
BLAKE2b-256 checksum How to use checksums |
78cde0255345e76cfdb45f21c7d505f5f6a11f67ee90fd9c6002d962a971831d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|