broker-execution-apislisted
Install: claude install-skill howard-lynn-ye/fin-skills
# Broker and execution APIs
Order-sending code is the one place in quant work where a bug spends real money instantly. The
patterns in §3 are not optional extras — emit them by default in any code that can transmit an
order, regardless of broker.
## 1. Which client
| Broker | Use | Status |
|---|---|---|
| **Interactive Brokers** | **`ib_async` 2.1.0** | ✅ the successor. ⚠️ `main` last commit 2025-12-06; real work sits unreleased on `next` |
| IB, vendor code | `ibapi` **10.x from IB's own site** | PyPI's 9.81.1 (2020-12-06) is badly stale. IB non-commercial licence |
| IB, reconciliation | `ibflex` | Parses IB Flex XML activity/trade reports — end-of-day truth |
| **Alpaca** | **`alpaca-py` 0.44.0** | ✅ active. `alpaca-trade-api` is deprecated |
| **Schwab** | `schwab-py` 1.5.1 | ⚠️ works, but `main` stalled ~13 months, 39 open issues. See the 7-day token limit below |
| Tastytrade | `tastytrade` 13.2.3 | ✅ active, small |
| **Crypto, any venue** | **`ccxt` 4.5.77** | ✅ MIT, ~daily releases, 100+ venues |
| FIX, full session | `quickfix` | The reference open FIX engine. Heavyweight, C++ toolchain |
| FIX, messages only | `simplefix` | **No session layer** — correct only when the venue handles the session |
🚨 **`ib_insync` is dead and archived** (2024-03-14). The repo's archive notice is from the author's
family: Ewald de Wit died on 2024-03-11. Last release 2023-07-02. **Do not start new work on it and
do not fork it.** `ib_async` moved to the `ib-api-reloaded` org beca