How brndnmtthws/thetagang works
ThetaGang is a configurable IBKR portfolio-trading bot. A configured run enters through the CLI, then coordinates portfolio stages that plan option, share-rebalancing, hedging, and post-trade actions; orders are supervised against the broker. The README also documents regime-aware gates, cash management, accounting, external decision providers, and exchange-hours enforcement. The excerpts show several engine dependencies and broker interactions, but not all stage wiring, so uncertain links are omitted; some documented capabilities are represented at their best-supported module path.
Main entry points: portfolio_manager.py Portfolio manager · post_engine.py Post management · ibkr.py IBKR adapter · thetagang.py Startup runner
Components 22
Run and configuration
- CLI
thetagang/main.py - Startup runner
thetagang/thetagang.py - Config migration
thetagang/config_migration/startup_migration.py - Config models
thetagang/config_models.py
Portfolio planning
- Portfolio manager
thetagang/portfolio_manager.py - Account accounting
thetagang/accounting.py - Wheel options
thetagang/strategies/options_engine.py - Share rebalance
thetagang/strategies/equity_engine.py - Regime rebalance
thetagang/strategies/regime_engine.py - Post management
thetagang/strategies/post_engine.py - Tail hedge
thetagang/strategies/tail_hedge_engine.py - Tail harvest policy
thetagang/strategies/tail_harvest_policy.py - Exchange hours
thetagang/exchange_hours.py
Broker and orders
- IBKR adapter
thetagang/ibkr.py - Option scanner
thetagang/options.py - Order operations
thetagang/trading_operations.py - Order records
thetagang/orders.py - Order supervision
thetagang/order_execution.py
State and decisions
- Decision providers
thetagang/external_decisions.py - SQLite state
thetagang/db.py
Other components
- Operator
- IBKR service
Connections 27
- Operator → CLI: starts run
- CLI → Startup runner: invokes
- Startup runner → Config migration: checks schema
- Startup runner → Config models: loads settings
- Startup runner → Portfolio manager: starts portfolio
- Portfolio manager → Account accounting: summarizes account
- Portfolio manager → Wheel options: runs strategy
- Portfolio manager → Share rebalance: runs strategy
- Portfolio manager → Regime rebalance: plans rebalance
- Portfolio manager → Post management: runs post stage
- Post management → Tail hedge: manages hedge
- Regime rebalance → Tail harvest policy: uses policy
- Portfolio manager → Decision providers: requests decisions
- Portfolio manager → Exchange hours: checks session
- Wheel options → IBKR adapter: requests market data
- Wheel options → Option scanner: finds contracts
- Share rebalance → IBKR adapter: requests quotes
- Share rebalance → Order operations: creates orders
- Post management → IBKR adapter: requests market data
- Post management → Option scanner: finds contracts
- Post management → Order operations: creates orders
- Tail hedge → SQLite state: reads/writes state
- Portfolio manager → Order records: tracks orders
- Order operations → Order records: records orders
- Order supervision → IBKR adapter: supervises trades
- Order supervision → SQLite state: records events
- IBKR adapter → IBKR service: connects