Not all arbitrage is “Kalshi vs Polymarket.” Within a single venue, related contracts often violate probability logic: YES + NO ≠ 1, child event odds exceed parent, mutually exclusive outcomes sum to 130%.
Cross-contract arbitrage enforces internal consistency of a probability tree. It is where spreadsheet traders and quant bots earn lunch money.
Complete vs incomplete markets
Complete (idealized) — enough contracts to span all states of the world.
Incomplete (reality) — missing branches; gaps are model risk.
Prediction platforms list pragmatic slices, not full state space—arb fixes listed inconsistencies, not all epistemic uncertainty.
YES / NO parity arb
Binary:
- YES at 0.42 ask
- NO at 0.53 ask
- Sum 0.95
Buy both → 5¢ profit at settlement per pair (fees aside). Bots run this 24/7.
Why it persists milliseconds: latency, fee tiers, minimum profit threshold.
Retail lesson: if sum < 0.97 visible >2 seconds, platform API lagging or fees make it fake.
Synthetic positions
Holdings equivalence (conceptual):
- Long YES ≈ Short NO (complete binary)
- Mispricing between direct YES and synthetic via NO creates arb
UI may not show “short” explicitly—buy NO instead of sell YES.
Parent–child (nested) events
Example structure:
- Parent: Party wins presidency
- Child: Candidate wins nomination
Logic: P(president | party) ≤ P(nomination) for same party candidate paths—actual inequalities depend on listing; must read tree.
Violation: Nomination YES 80%, presidency YES 85% for same candidate path impossible under coherent joint distribution.
Trade: Sell expensive leg, buy cheap leg across correlated contracts (requires joint model).
Mutually exclusive exhaustive sets
Three candidates A, B, C — winner-take-all race.
Prices: A 45%, B 40%, C 30% → sum 115%.
Arb: Sell triplet package (buy NO on each or use exchange combo if exists) capturing 15% overround.
Sportsbooks call overround vig; prediction markets compress toward 100% when arbs active.
Conditional markets
“Wins PA given wins nomination” style contracts appear on advanced venues.
Coherence requires:
P(A ∩ B) = P(A|B) × P(B)
Violations → arb across conditional and unconditional listings.
Danger: wording “given” vs “after” vs timing of measurement.
Time-series consistency
“Wins by March” vs “Wins by December” — later deadline should have higher probability than earlier sub-deadline events.
If March YES 70% and December YES 60%, inequality violated (monotonicity in time).
Correlation baskets
Some platforms list parlay-like combos. If independent assumption priced but events correlated, stat arb not pure arb.
Distinguish:
- Logical arb — must hold by definition
- Statistical arb — historically related, may fail once
Execution constraints
Platform tooling
Power users export:
- All contracts tagging same
event_id - Implied joint distribution solver
- Alert on sum deviations
Without tooling, manual scan of related tab on UI.
Game against market makers
Makers quote coherent trees; when one intern mis-posts 8% off sibling, arb snipes. Maker widens both—less future arb, more spread income.
You are either fast arb or patient maker—middle often loses.
Worked example (illustrative numbers)
State markets:
- Wins MI YES 52%
- Wins PA YES 51%
- Wins national YES 48%
If national must be ≥ max swing states under simplistic model, flag for quant review—not automatic arb (electoral college joint distribution is complex).
Simple sum of exclusive state winners listing 55+48+… > 100% is automatic arb on “wins state X” exclusivity.
Always draw Venn diagram on paper.
Relationship to structural arb (3.6)
Cross-contract is local tree repair; structural arb is global optimization across entire event graph—next chapter scales up.
What comes next
Next: Structural arbitrage across full probability trees.