Everyone sells iron condors — both wings, unconditionally, so half the time you sell the underpriced side. Contour measures the surface first and sells only the rich side: SPY, QQQ, IWM. ▪ THE RULE — vrp_ratio under 1.30: trade nothing, implied is not rich enough. skew_z at or above +0.8: sell a put spread. At or below −0.8: sell a call spread. In between: sell the condor. vrp_ratio is ATM implied over 10-day realized; skew_z is the 25-delta put/call IV gap against a prior. ▪ AI LOGIC — GLM-5 on Amazon Bedrock. Every model output can only make the agent trade less, structurally: execute.py never imports the model layer, so none reaches an order. It may name blackouts, veto a structure, or stand the book down; never a strike, size, or price. No brain: half size. Off-schema: fail closed. ▪ RISK GATES — nineteen pure functions: twelve for the book, seven for the sleeve. Zero I/O, fixed order, and the reason is journaled whether a gate passes or fails — a no-trade cycle is as auditable as a trade. Book 1.678% + sleeve 1.200% + tail 1.122% = exactly the 4% halt distance, asserted as an equality. ▪ ALPACA — writes go through the Alpaca CLI, and that is a finding: the MCP server cannot place multi-leg option orders — legs arrives as a JSON string and fails validation (alpaca-mcp-server#97; fix sent as #118). Reads use alpaca-py, merging snapshots with contracts for open interest. Three-rung limit ladder, per-leg fill reconciliation, GitHub Actions every 15 minutes, an append-only SHA-256 journal verified in your browser. ▪ P&L — account PA35XVXLIO0E holds two traders. Agent orders carry a contour- prefix; the rest are the operator's tail trades. At the last refresh: +0.15% for the agent, −0.64% for the operator — a field the broker records, not our bookkeeping. ▪ CHECK IT — no edge claimed: a 387-cycle backtest returned +0.93%, t = 0.37. 298 tests pass; --replay reproduces every decision from a committed fixture. One-pager: WRITEUP-ONEPAGE.md.
Category tags: