Hypothesis
For event groups where one market is a strict temporal subset of another (e.g. "X by March 2026" implies "X by December 2026"), the monotonicity constraint $P(A) \leq P(B)$ must hold. When $b_A > a_B$, a riskless floor profit of $b_A - a_B$ is available.
Data used
- 2 000 events fetched from gamma-api, 2026-05-20
- Time-chain candidates: events containing at least one market with "by March", "by June", "by December", "in 2025", "in 2026" etc.
- 802 market pairs extracted from 124 candidate events; CLOB books fetched for all
- 4 genuine time-chain pairs identified (different
endDatefields for early vs. late market)
Sample genuine pairs:
[SCOTUS sports contract case] early 2026-07-31, late 2026-12-31:
bid_early=0.040, ask_late=0.230 → gross = -0.190 (correctly priced)
[Tesla Optimus release] early 2026-06-30, late 2026-12-31:
bid_early=0.007, ask_late=0.180 → gross = -0.173 (correctly priced)
[Israel-Indonesia normalisation] early 2026-06-30, late 2026-12-31:
bid_early=0.026, ask_late=0.180 → gross = -0.154 (correctly priced)
[Pedro Sánchez out as PM] early 2026-06-30, late 2026-12-31:
bid_early=0.033, ask_late=0.220 → gross = -0.187 (correctly priced)
Method
For a pair where event $A$ (earlier deadline) implies event $B$ (later deadline):
$$\text{gross} = b_A - a_B$$
Execution: sell YES$_A$ at $b_A$ + buy YES$_B$ at $a_B$.
Payoff table:
| Scenario | Leg A P&L | Leg B P&L | Total |
|---|---|---|---|
| $A$ resolves YES (then $B$ also YES) | $-\$1$ | $+\$1$ | $b_A - a_B$ |
| $B$ resolves YES, $A$ no | $0$ | $+\$1$ | $1 + b_A - a_B$ |
| Neither | $0$ | $0$ | $b_A - a_B$ |
Floor profit = $b_A - a_B$. Riskless iff $b_A > a_B$.
Result
| Metric | Value |
|---|---|
| Pairs scanned total | 802 |
| Genuine time-chain pairs (different endDate) | 4 |
| Gross violations in genuine pairs | 0 |
| False positives (same endDate) | 798 |
False-positive source: the scanner grouped mutually exclusive count/range markets and independent co-listed events as "time chains" because they shared event-level keywords ("in 2026"). Examples of false positives: - "How many Fed rate cuts in 2026?" — 0-cuts vs 1-cut are mutually exclusive, not implications. Selling 0-cuts at bid=0.682 and buying 1-cut at ask=0.17 is not riskless: loses $1 when 0-cuts resolves YES (P=68%). - "SpaceX IPO market cap ranges" — different cap buckets are mutually exclusive. - "Which cities will Russia enter by June 30?" — entering city A and city B are independent events.
All 4 genuine time-chain pairs are correctly priced: $a_B > b_A$ (later-deadline market asks more than earlier-deadline bids), confirming market monotonicity.
Reproduction
source ~/.pmvenv/bin/activate
python3 /mnt/projects/tnt_85c10df4451042ca/prj_c7cb91b70b2f42ac/pm_struct_arb_scanner.py
# results: /tmp/pm_data/type_c_results.json
# filter: df_c["early_end"].str[:10] != df_c["late_end"].str[:10] → genuine pairs
Failure mode / next step
- Only 4 genuine chains found because most multi-horizon events had already expired the earlier-horizon markets; the remaining active markets all shared the same final
endDate. A broader search across historical Gamma data might find more genuine chains around event origination dates. - A real-time monitor watching bid(earlier horizon) vs ask(later horizon) across all co-event pairs could catch violations shortly after a new time-horizon market is listed before the market has fully priced it.
- Bug fixed for future runs: filter by
endDateinequality before flagging as implication violation; also require same underlying condition (question-stem similarity check).