3.2 KiB
3.2 KiB
07 — Future: External Data Feeds (deferred, scoped now)
v2 trades political markets on microstructure alone (04 §1). That is a deliberate constraint, not a belief that external data has no value — the architecture reserves a seat for it so adding feeds later is additive, not a refactor. This doc scopes the seat and the candidate feeds; none of this is built in v2.
Architectural seat (built in v2, empty)
The strategy signature already is (BookState, Inventory, Params, Clock) -> TargetQuotes. The extension is one optional input:
SignalBus: name -> {value, confidence, as_of, ttl}
- Strategy reads signals as FV adjusters and regime inputs with explicit staleness: a signal past its TTL contributes nothing (fail-safe to pure microstructure — the bot must never be worse than v2 because a feed died).
- Feed adapters are separate async tasks (or even separate processes writing to the bus via SQLite/socket) — never in the quote path; the hot loop only reads a dict.
- Every signal is journaled like WS data, so the replay backtester (04 §9) can grade any feed's marginal value before it touches live quotes. A feed earns its way in through replay evidence, or it doesn't ship.
Candidate feeds for political markets (rough priority)
- Event calendar (highest value / lowest effort): debates, primaries,
election nights, court dates, scheduled rulings. Even a hand-maintained
calendar.toml(date, market tags, severity) lets the regime machine pre-widen/pull before scheduled volatility instead of reacting to the first sweep. No API needed to start. - Cross-venue prices: Kalshi (public API), and Polymarket US as it grows. Same-event price divergence is both an FV prior and a toxicity warning (fast flow often arbs venues; if Kalshi moved and we didn't, our quote is stale). Clean REST/WS, well-bounded work.
- Poll aggregates / forecast models: RCP/538-style averages, Silver Bulletin, model outputs. Slow-moving FV anchor for long-dated markets — mostly useful as a sanity band (flag when market FV drifts far from model FV) rather than a quoting signal.
- News/headline triggers: wire headlines, X/Twitter firehose, Google Trends spikes. Highest alpha, highest noise and engineering cost; realistically an "instant EVENT-regime trigger" (pull quotes on keyword burst), not a pricing input. Last in line.
- Polymarket-internal extras (not really "external", could land earlier):
RTDS
activitytopic for platform-wide flow/toxicity features, comment velocity per market as an attention proxy (03 §5).
Explicitly out of scope until then
- Any taker execution driven by signals (feeds inform maker quoting only — the maker-only policy survives the feed era).
- LLM/news-summarization pipelines, sentiment models.
- Trading the Polymarket US venue (separate API/regulatory surface — 03 §8).
Preconditions before starting this phase
- v2 live and stable through at least one high-volatility political event.
- Journal + replay infrastructure proven (it is the evaluation harness here).
- KPI baseline established, so each feed's marginal contribution is measured against a known control.