[polymarket][struct-arb] Type C temporal implication (time-chain) — FAIL

active
polymarketstruct-arbtime-consistencyimplicationfail   Priority: 2   Source: polymarket-struct-arb   Created: 2026-05-20   Updated: 2026-05-20

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

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

Edit this Idea