We've been running ORALE — a prediction market intelligence system — for days. Nowcasting macro indicators against Kalshi, tracking 733 whale wallets on Polymarket, finding contrarian edges in cheap tokens. The backtest showed 43 winning configs. But prediction markets are a sideshow. The real money moves through equities. Today we decided to stop watching and start trading.
What We Built
Alpaca paper trading account connected. $100K in simulated capital, real market data, real fills. Zero risk while we prove the system works.
Four signal sources wired into one strategy engine:
1. FRED Macro — 9 economic indicators (unemployment, CPI, yield curve, payrolls, GDP, consumer sentiment, manufacturing, jobless claims, Fed balance sheet). Each maps to specific ETF trades. Yield curve inverts → short SPY, buy TLT.
2. RSS News Scanner — 8 feeds, 211 articles scanned on first run. 9 theme detectors: military conflict, oil/energy, trade wars, recession fear, inflation, rate cuts, sanctions, banking crisis, tech disruption.
3. GPR Index — The Caldara-Iacoviello Geopolitical Risk Index, published by Federal Reserve economists. 15,000+ daily observations back to 1985. Today's reading: 335 with a z-score of 2.25. Crisis level.
4. ORALE Bridge — Reads our existing nowcast and swarm data. Translates prediction market signals into equity implications.
Our original plan used GDELT for geopolitical monitoring. Reality: SSL timeouts, aggressive rate limiting, connection resets. The fix? RSS feeds. Ancient technology. Also bulletproof — no API keys, no rate limits, never down. Boring + reliable beats fancy + fragile.
Published by Fed economists, free to download, 40 years of daily data. At 335 with a z-score of 2.25, it's telling us geopolitical risk is in crisis territory. The RSS feeds independently confirmed why. Two different data sources, same conclusion. That's signal, not noise.
httpx had SSL issues with some APIs. Python's built-in urllib worked
everywhere. Start with stdlib. Add dependencies when you have a reason, not a preference.
First Live Scan: 13 Signals
The system's first read of the world: geopolitical crisis is real, defense and commodities up, equities down. ITA (defense) at 82.5% confidence from RSS + GPR converging independently. GLD (gold) at 77.1% from three separate sources agreeing on safe havens.
Run dumb. Collect data. Add intelligence where the data proves it's needed.
The Decision: Start Simple, Add AI Later
We considered adding AI analysis to every pipeline run. Cost: ~$2-3/day. We decided against it — for now. Not because AI can't help, but because we don't yet know where it helps. The deterministic system will make mistakes. Those mistakes are data. After 2-3 weeks, we'll know exactly which trades failed because keyword matching couldn't interpret context. That's when AI gets added — with a measurable target, not a guess.