Iga Swiatek vs Qinwen Zheng

hard wta grand_slam best of 3 tennis_wta_us_open · commence 2026-09-07 15:30:00+00:00 · completed winner: b

P(Iga Swiatek) = 0.000  |  P(Qinwen Zheng) = 1.000
live composite (last tick)

Sharp anchor — Pinnacle pre-match

Pinnacle P(Iga Swiatek) 0.804
Pinnacle P(Qinwen Zheng) 0.196
n_books observed 1 live

Sharp anchor sourced via OddsAPI event_id lookup → Pinnacle no-vig computation. (Field-id mismatch fix shipped 2026-05-02 — pinnacle capture is now the source of truth for pre-match anchoring.)

Surface ELO radar

Surface Iga SwiatekQinwen Zheng Diff (a−b)
hard 1500 (0) 1500 (0) +0
clay 1500 (0) 1500 (0) +0
grass 1500 (0) 1500 (0) +0
indoor 1500 (0) 1500 (0) +0
overall 1500 (0) 1500 (0) +0

Per-surface ELO from 24h-cached global rater. Number-in-parens = matches contributing to that rating.

Style matchup (display-only · v0 priors · NOT in headline)

Player Archetype n matches Hold % Aces / match
Iga Swiatek aggressive_baseliner 185 0.771 2.3
Qinwen Zheng big_server 107 0.759 7.4

Matchup adjustment: +0.00pp toward Qinwen Zheng on hard.

v0 sharp priors per tennis-betting-expert lock 2026-05-02. Display-only — NOT blended into the headline composite probability above. Promotion to wired-in pending: N≥200 archetype-tagged settled matches with closing-line capture + Brier delta ≥+0.005 vs unwired baseline + no 5pp-bucket regression. Re-evaluate post-Roland Garros (2026-06-09).

Composite adjustments (live)

AdjustmentIga SwiatekQinwen ZhengNet
Match fatigue (14d load) -1.50pp (load 3.0) -3.00pp (load 6.3) +1.50pp

Live adjustments flowed into the headline composite probability above. Surface transition gated to documented poor-history (>15% win-rate drop in first 3 surface-change matches). Fatigue: 14-day load weighted by best-of (BO5=2.0, BO3=1.0), capped ±3pp. Tennis-betting-expert RG R1 audit 2026-05-24.

Composite signal weights

SignalWeight
surface_elo 0.35
recent_form 0.18
h2h_matrix 0.16
surface_transition 0.11
match_simulator 0.10
tournament_fatigue 0.10
Sum 1.00

Locked weights per tennis-betting-expert composite design 2026-04-26. Signals flagged low_data are excluded; remaining weights renormalize proportionally. h2h overweighting noted in audit; will be revisited with a dedicated calibration pass after Roland Garros.

Live trajectory (200 ticks)

Time Set Game Score Server P(Iga Swiatek) P(Qinwen Zheng) Exp games Source
17:26:29 2 5 {'sets': [[0, 6]], 'current_set_games': [3, 2], 'sets_won_synthetic': True, 'point_score': ['A', '40']} b 0.261 0.740 30.7 feed
17:27:00 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.235 0.764 31.5 feed
17:27:31 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['15', '0']} b 0.237 0.762 31.5 feed
17:28:01 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['15', '0']} b 0.227 0.773 31.5 feed
17:28:32 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['30', '0']} b 0.238 0.762 31.5 feed
17:29:02 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['30', '15']} b 0.237 0.763 31.5 feed
17:29:33 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['30', '15']} b 0.238 0.762 31.7 feed
17:30:03 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['30', '30']} b 0.252 0.748 31.6 feed
17:30:34 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['40', '30']} b 0.243 0.757 31.7 feed
17:31:04 2 6 {'sets': [[0, 6]], 'current_set_games': [3, 3], 'sets_won_synthetic': True, 'point_score': ['40', '30']} b 0.241 0.759 31.7 feed
17:31:36 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.230 0.770 32.1 feed
17:32:06 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.207 0.792 32.0 feed
17:32:37 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.213 0.786 32.0 feed
17:33:07 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.212 0.788 32.0 feed
17:33:38 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['15', '0']} b 0.211 0.789 31.9 feed
17:34:08 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['15', '0']} b 0.214 0.786 31.9 feed
17:34:39 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['30', '15']} b 0.207 0.793 31.9 feed
17:35:09 2 7 {'sets': [[0, 6]], 'current_set_games': [3, 4], 'sets_won_synthetic': True, 'point_score': ['40', '15']} b 0.224 0.776 31.9 feed
17:35:40 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.099 0.901 30.7 feed
17:36:11 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.109 0.891 30.9 feed
17:36:41 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['15', '0']} b 0.100 0.900 30.8 feed
17:37:12 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['30', '0']} b 0.103 0.897 30.8 feed
17:37:42 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['30', '0']} b 0.102 0.897 30.7 feed
17:38:13 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['40', '0']} b 0.113 0.887 30.9 feed
17:38:43 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['40', '15']} b 0.110 0.890 30.8 feed
17:39:14 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['40', '30']} b 0.109 0.891 30.9 feed
17:39:45 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['40', '40']} b 0.104 0.895 30.8 feed
17:40:15 2 8 {'sets': [[0, 6]], 'current_set_games': [3, 5], 'sets_won_synthetic': True, 'point_score': ['A', '40']} b 0.102 0.897 30.9 feed
17:40:46 3 9 {'sets': [[0, 6], [0, 6]], 'current_set_games': [3, 6], 'sets_won_synthetic': True, 'point_score': ['0', '0']} b 0.000 1.000 0.0 feed
17:41:17 3 9 {'sets': [[0, 6], [0, 6]], 'current_set_games': [3, 6], 'sets_won_synthetic': True, 'point_score': ['13', '8']} b 0.000 1.000 0.0 feed

Showing last 30 of 200 ticks.

Tennis variance: best-of-3 single-match outcomes are noisy. Composite + trajectory shown for transparency, not as a tout. Use closing-line comparison (vs Pinnacle anchor above) as the canonical edge metric.