System
- Stages
- 5
- Venues
- Kalshi, Novig
- Record store
- Append-only
- Clock
- UTC
- Manual overrides
- None
Pipeline
Five stages. One direction.
Direction: one-way
01
Market ingestion
Normalize to a common contract model.
Output
market_state02
Model scoring
Estimate fair probability.
Output
fair_valueedge03
Unit recommendation
Size the position in units.
Output
units04
Timestamped publication
Write record with UTC timestamp.
Output
record05
Settlement grading
Grade at posted price.
Output
outcomeunits_result
Stage specification
Each stage has a contract. Input, operation, output, trigger.
| Stage | Input | Operation | Output | Trigger |
|---|---|---|---|---|
| 01Market ingestion | Venue order books, contract metadata, event schedules | Normalize to a common contract model. Reconcile identifiers across venues. | market_state | Continuous |
| 02Model scoring | Market state, model features | Estimate fair probability. Compare to best executable price. | fair_valueedge | On state change |
| 03Unit recommendation | Edge, model confidence, exposure limits | Size the position in units. Apply per-event and per-day exposure caps. | units | Edge exceeds threshold |
| 04Timestamped publication | Recommendation | Write record with UTC timestamp. Lock price and size. | record | Before event start |
| 05Settlement grading | Official venue settlement | Grade at posted price. Compute units result. | outcomeunits_result | Market resolution |
Record
Written once. Never edited.
| Field | Type | Written at | Mutable |
|---|---|---|---|
| id | string | Publication | No |
| venue | enum | Publication | No |
| market | string | Publication | No |
| position | string | Publication | No |
| posted_price | cents | Publication | No |
| units | decimal | Publication | No |
| posted_at | timestamp | Publication | No |
| event_start | timestamp | Publication | No |
| close_price | cents | Event start | Write-once |
| outcome | enum | Settlement | Write-once |
| settled_at | timestamp | Settlement | Write-once |
| units_result | decimal | Settlement | Write-once |
- id
- ANV-000034
- venue
- kalshi
- market
- KXNBAGAME-26NOV10LALOKC
- position
- Thunder
- posted_price
- 61¢
- units
- 1.00
- posted_at
- 2026-11-10T18:12:44Z
- event_start
- 2026-11-11T01:00:00Z
- close_price
- —
- outcome
- pending
- settled_at
- —
- units_result
- —
Grading
Graded at the posted price. One formula per outcome.
| Outcome | Units result |
|---|---|
| Win | units × (100 − p) ÷ p |
| Loss | − units |
| Push | 0.00 |
| Void | 0.00 |
Definitions
p is the posted price in cents. Grading uses the posted price only. Closing prices are recorded for reference and do not affect grading.
ROI vs close is the mark-to-close return on posted positions:
Σ units × (close − p) ÷ p ÷ Σ units
Invariants
Six invariants. No exceptions.
- I-01
A recommendation is published before event start or not at all.
- I-02
Posted price and size are fixed at publication.
- I-03
Records are append-only. No edits. No deletions.
- I-04
Grading uses the venue's official settlement and the posted price.
- I-05
Voided markets are graded at 0.00 units and remain in the record.
- I-06
All timestamps are recorded in UTC.