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.

Lesson: GDELT Is Unreliable

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.

Lesson: The GPR Index Is Gold

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.

Lesson: Start With stdlib

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.