Archaide — Low-Latency Execution & Order Management for Multi-Asset Strategies
Results
- Latency: <1s submit→ack
- Uptime: 99%+ live trading
- Ops: Faster onboarding with Zapier automation
Stack
Python, C++, JavaScript/Node, Docker, IBKR API, Alpaca REST, Zapier
TL;DR
Built and shipped equities & derivatives trading algorithms with sub-second REST integrations to Interactive Brokers and Alpaca. Designed a production OMS (Python/C++/JavaScript) with robust error handling, reconciliation, and real-time feedback loops; added risk safeguards (position limits, kill-switch, automated rollbacks). Also automated lead-capture and onboarding with Zapier to cut manual ops and boost conversion.
Context
Archaide serves multiple client strategies with different instruments, venues, and latency needs. We needed a uniform path from signal → risk checks → order routing → reconciliation while keeping tails tight during market stress.
Problem
- Strategy code and order placement were tightly coupled, making it hard to add safeguards or swap brokers.
- Intermittent broker API issues caused order mismatches and retries that occasionally drifted from strategy intent.
- Onboarding new clients consumed significant manual time and slowed sales.
What I Built
- Strategy adapters (Python) exposing a common interface for signal intake, position targets, and post-trade callbacks.
- OMS pipeline in Python/C++ with:
- Pre-trade risk gates: position/sector caps, notional checks, and kill-switch logic.
- Idempotent order API with client order IDs and replay-safe retries.
- Dual-ledger reconciliation (internal vs. broker) plus periodic position audits.
- Real-time feedback loop to strategies (fills, rejects, price slippage, latency metrics).
- Broker adapters for Interactive Brokers and Alpaca using sub-second REST calls; standardized error taxonomy and backoff.
- Go-to-market ops: Zapier flows wiring forms → CRM → email/messaging → doc-sign → account-creation checklist; auto-provisioned dashboards for new clients.
Architecture (high level)
Strategies → Risk Gate → Order Router/OMS → Broker Adapters (IBKR/Alpaca)
Key Decisions
- Separate risk gate before any network calls → consistent enforcement and simpler testing.
- Replay-safe IDs so retries never double-fill.
- Standardized error taxonomy across brokers → simpler alerting and SLOs.
- Periodic reconciliations (positions, cash, fills) to catch silent drifts.
What I’d Do Next
- Add FIX or websocket-native routes (where available) to shave latency variance.
- Shadow orders / canary per strategy before rollout.
- Latency budgets per stage with automated budget regression tests.
- Bracket/OCO templating to simplify complex exits.