paisamaker · automated 0DTE execution
Python 3.12 · ib_insync · Hetzner VM · 18,387 LOC
Two independent signal sources (a custom GEX evaluator and an external advisor service) feed a unified execution dispatcher. The dual-lane design came from one specific observation: IBKR gateway reconnects take about six seconds, and a single-loop design would miss the next 30-second signal cycle. Separate lanes, independent cooldowns, per-ticker gates. The mode state machine (DATA_ONLY → DEGRADED → WARMUP → FULLY_LIVE) blocks trades during recovery instead of retrying synchronously.