Signal Backtests
How Orrery's price-based signals performed historically, replayed on the top 15 markets by volume.
Method
We fetch the CLOB 1-month price history for each of the top 15 markets by 24h volume and walk it minute by minute. At each point, we re-apply the live signal rule as it exists in src/lib/signals.ts. When it fires, we record the price and measure it 1h, 6h, and 24h later. A 1-hour cooldown prevents double-counting clustered firings. The "win rate" is the fraction of firings whose 24h move continued in the signalled direction.
Flow and resolution-risk need trade-feed / event-time data that CLOB history doesn't expose — they're forward-only for now. We'll publish their backtests once we start recording signal-firing snapshots.
Momentum
532 firings across 9 marketsPrice + 1h direction + 24h direction all aligned, with ≥3pp 24h move. Expected to continue in the same direction.
Win rate (24h)
59%
513 measured
Avg move · 1h
-0.03pp
Avg move · 6h
+0.03pp
Avg move · 24h
-0.27pp
Per-market breakdown (9 markets fired)
| Market | Firings | Win 24h | Avg 1h | Avg 24h |
|---|---|---|---|---|
| Iran x Israel/US conflict ends by May 15? | 135 | 56% | +0.04pp | +0.48pp |
| Iran x Israel/US conflict ends by April 7? | 124 | 69% | +0.26pp | +0.30pp |
| Strait of Hormuz traffic returns to normal by end of April? | 80 | 69% | +0.07pp | -0.81pp |
| US x Iran permanent peace deal by May 31, 2026? | 65 | 48% | -0.15pp | -0.02pp |
| US x Iran permanent peace deal by April 30, 2026? | 50 | 63% | +0.27pp | -0.67pp |
| U.S. forces seize another oil tanker by April 30? | 50 | 34% | -1.08pp | -6.35pp |
| US x Iran ceasefire extended by April 22, 2026? | 23 | 90% | -0.31pp | +7.86pp |
| Spurs vs. Trail Blazers | 4 | 0% | +0.38pp | -1.50pp |
| Will the Indian National Congress (INC) win the most seats in the 2026 Tamil Nadu Legislative Assembly election? | 1 | — | -0.20pp | -2.90pp |
Divergence
257 firings across 9 markets1h move running against the 24h trend. Expected to continue short-term in the 1h direction before 24h reasserts.
Win rate (24h)
49%
252 measured
Avg move · 1h
+0.01pp
Avg move · 6h
-0.70pp
Avg move · 24h
+0.44pp
Per-market breakdown (9 markets fired)
| Market | Firings | Win 24h | Avg 1h | Avg 24h |
|---|---|---|---|---|
| Iran x Israel/US conflict ends by May 15? | 81 | 53% | -0.10pp | +0.77pp |
| US x Iran permanent peace deal by May 31, 2026? | 44 | 54% | +0.14pp | +0.74pp |
| Iran x Israel/US conflict ends by April 7? | 36 | 58% | +0.87pp | +2.14pp |
| Strait of Hormuz traffic returns to normal by end of April? | 33 | 42% | +1.20pp | +1.12pp |
| US x Iran permanent peace deal by April 30, 2026? | 24 | 48% | +0.04pp | +2.15pp |
| U.S. forces seize another oil tanker by April 30? | 23 | 48% | +0.07pp | +0.93pp |
| US x Iran ceasefire extended by April 22, 2026? | 8 | 0% | -10.36pp | -19.26pp |
| Spurs vs. Trail Blazers | 7 | 33% | +1.71pp | -2.25pp |
| Will the Indian National Congress (INC) win the most seats in the 2026 Tamil Nadu Legislative Assembly election? | 1 | — | +0.90pp | +1.10pp |
Honest caveats
- Small samples. CLOB returns ~30 days of minute-level history; short-dated markets may have very few firings. Anything below 10 measured firings shows a dash instead of a win rate so we don't overstate confidence.
- Survivorship. This backtest runs on markets currently live — not on markets that already resolved and disappeared. Future work: store signal-firing snapshots as they happen so we can backtest against the full historical universe.
- No execution costs. Avg-move figures are mid-price to mid-price. Real entry/exit would pay spread, slippage, and Polymarket fees — so a +1.5pp 24h move is not +1.5pp of profit.
- Signal drift. If we tune the rule in
lib/signals.ts, these numbers change. That's the point — the UI always shows the backtest of the rule as it's currently running.