T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-05-21 13:11 UTC
Sources
29
Day-2 calibration reset

Real-money probe lost 0/4 (-$10.00) on 5/17. Sim was wildly over-confident on qualifying-round picks — 8/8 qualifying edges lost despite avg +35pp model edge.

Qualifying filter now active. Real money gate-locked until 5/30 ($50 paper P&L + MAE <3pp + n≥50 graded). See Calibration & Lessons tab for the full Day-2 AAR.

Kalshi KXATPMATCH 2m · 1792rKalshi KXWTAMATCH 2m · 1688rKalshi KXFRENCHOPEN 2mKalshi KXFOPENMENSINGLE 2mKalshi KXATPGRANDSLAM 2m · 14rKalshi KXUSOPEN 2mKalshi KXATPSETWINNER 2m · 3562rKalshi KXATPTOTALSETS 2mKalshi KXATPSETSWEEP 2mKalshi KXATPGAMESPREAD 2mKalshi KXATPEXACTMATCH 2m · 1060rKalshi KXWTADOUBLES 2mKalshi KXATP1RANK 2m · 16relo last computed 2m · 20051rrankings last pulled 2m · 3745rrankings atp latest date 17drankings wta latest date 17dmirror atp schedule 0m · 312rh2h last computed 4dh2h n pairs missinglast player db run missingresults last_run missingpp_edges CSV 0mkalshi edges JSON 0mpaper trades PP 0mpaper trades Kalshi 0mdaily payload 0mPP movement 0mPP calibration 0m
Matches today
22
scheduled
ELITE edges
0
across Kalshi + PP
STRONG edges
0
tier 2
MED edges
0
tier 3
Paper locks
4
Kalshi + PP
Real Money YTD
-$10.00
paper-gate restored
Qualifying skipped
22
filtered out today
Last refresh
13:11
2026-05-21 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Shuai Zhang
Shuai Zhang vs Emma Navarro · Quarterfinal hard · LOW
70%
Heavy main-draw favorite · PAPER
Edge +44.2pp
Ask 26¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
#MatchTournamentRoundSurfaceStartELO AELO BELO diffKalshi event
1Jaqueline Cristian vs Daria KasatkinaInternationaux de Strasbourg presented by MammotionQuarterfinalclayMay 21 10:4016351639-4KXWTAMATCH-26MAY21CRIKAS
2? vs Sofia CostoulasRoland GarrosQualifying FinalclayMay 21 11:201665
3? vs Sofia CostoulasRoland GarrosQualifying FinalclayMay 21 11:201665
4Petra Marcinko vs Jessica Bouzas ManeiroGrand Prix Son Altesse Royale La Princesse Lalla MeryemQuarterfinalclayMay 21 12:0017231643+80KXWTAMATCH-26MAY21MARBOU
5Chak Lam Coleman Wong vs Juan Carlos Prado AngeloRoland GarrosQualifying FinalclayMay 21 12:2014841693-209KXATPMATCH-26MAY21WONPRA
6Chak Lam Coleman Wong vs Juan Carlos Prado AngeloRoland GarrosQualifying FinalclayMay 21 12:2014841693-209KXATPMATCH-26MAY21WONPRA
7Alexei Popyrin vs Casper RuudGonet Geneva OpenQuarterfinalclayMay 21 13:0015471744-197KXATPSETWINNER-26MAY21POPRUU-1
8Jaime Faria vs Lukas NeumayerRoland GarrosQualifying FinalclayMay 21 13:1016601639+21KXATPMATCH-26MAY21FARNEU
9Jaime Faria vs Lukas NeumayerRoland GarrosQualifying FinalclayMay 21 13:1016601639+21KXATPMATCH-26MAY21FARNEU
10Tommy Paul vs Daniel AltmaierBitpanda Hamburg OpenQuarterfinalclayMay 21 13:1517481610+138KXATPSETWINNER-26MAY21PAUALT-2
11Alina Korneeva vs Julia RieraRoland GarrosQualifying FinalclayMay 21 13:1514661664-197KXWTAMATCH-26MAY21KORRIE
12Alina Korneeva vs Julia RieraRoland GarrosQualifying FinalclayMay 21 13:1514661664-197KXWTAMATCH-26MAY21KORRIE
13Ashlyn Krueger vs Mary StoianaRoland GarrosQualifying FinalclayMay 21 13:2015111620-108KXWTAMATCH-26MAY21KRUSTO
14Ashlyn Krueger vs Mary StoianaRoland GarrosQualifying FinalclayMay 21 13:2015111620-108KXWTAMATCH-26MAY21KRUSTO
15Anhelina Kalinina vs Anna BondarGrand Prix Son Altesse Royale La Princesse Lalla MeryemQuarterfinalclayMay 21 13:2517671803-36KXWTAMATCH-26MAY21KALBON
16? vs Emma NavarroInternationaux de Strasbourg presented by MammotionQuarterfinalclayMay 21 13:251578
17Jil Teichmann vs Yasmine KabbajGrand Prix Son Altesse Royale La Princesse Lalla MeryemQuarterfinalclayMay 21 14:0016451616+29KXWTAMATCH-26MAY21TEIKAB
18Aleksandar Kovacevic vs Camilo Ugo CarabelliBitpanda Hamburg OpenQuarterfinalclayMay 21 14:3014471721-274KXATPMATCH-26MAY21KOVUGO
19Victoria Mboko vs Leylah FernandezInternationaux de Strasbourg presented by MammotionQuarterfinalclayMay 21 15:3017041590+113KXWTAMATCH-26MAY21MBOFER
20Alex Michelsen vs Learner TienGonet Geneva OpenQuarterfinalclayMay 21 16:0014881466+23KXATPSETWINNER-26MAY21MICTIE-1
21Luciano Darderi vs Alex De MinaurBitpanda Hamburg OpenQuarterfinalclayMay 21 16:0017671652+115KXATPSETWINNER-26MAY21DARDE-2
22Arthur Rinderknech vs Alexander BublikGonet Geneva OpenQuarterfinalclayMay 21 17:3015661724-159KXATPMATCH-26MAY21RINBUB
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Shuai Zhang vs Emma NavarroShuai Zhang70.2%26.0%26¢+44.2ppLOWPAPER10897hardQuarterfinal+0.442
2Sofia Costoulas vs Hanyu Guo QualSofia Costoulas52.5%14.0%14¢+38.5ppLOWSKIP87703hardQualification Final+0.385
3Yasmine Kabbaj vs Jil TeichmannYasmine Kabbaj52.0%18.0%18¢+34.0ppLOWPAPER2601clayQuarterfinal+0.340
4Daria Kasatkina vs Jaqueline CristianDaria Kasatkina55.2%23.0%23¢+32.2ppLOWPAPER625101clayQuarterfinal+0.323
5Marina Bassols Ribera vs Aliaksandra Sasnovich QualMarina Bassols Ribera54.4%26.0%26¢+28.4ppLOWPAPER98clayQualifying Final+0.284
6Rebecca Sramkova vs Maria Carle QualMaria Carle54.1%29.0%29¢+25.1ppLOWPAPER7clayQualifying Final+0.251
7Tom Gentzsch vs Roman Safiullin QualTom Gentzsch49.3%25.0%25¢+24.3ppLOWPAPER1257hardQualification Final+0.243
8Ashlyn Krueger vs Mary Stoiana QualMary Stoiana55.0%31.0%31¢+24.0ppLOWPAPER5471clayQualifying Final+0.240
9Coleman Wong vs Juan Carlos Prado Angelo QualColeman Wong45.0%22.0%22¢+23.0ppLOWPAPER111508clayQualifying Final+0.230
10Leandro Riedi vs Pierre-Hugues Herbert QualPierre-Hugues Herbert45.0%27.0%27¢+18.0ppLOWPAPER832hardQualification Final+0.180
11Hugo Dellien vs Roberto Carballes Baena QualRoberto Carballes Baena54.8%38.0%38¢+16.8ppLOWPAPER873hardQualification Final+0.167
12Darwin Blanch vs Luka Pavlovic QualLuka Pavlovic54.0%38.0%38¢+16.0ppLOWPAPER997clayQualifying Final+0.160
13Emilio Nava vs Pedro Martinez QualPedro Martinez50.7%35.0%35¢+15.7ppLOWPAPER2540hardQualification Final+0.157
14Alina Korneeva vs Julia Riera QualJulia Riera58.6%43.0%43¢+15.6ppLOWPAPER3564clayQualifying Final+0.156
15Lucia Bronzetti vs Katarina Zavatska QualKatarina Zavatska55.0%43.0%43¢+12.0ppLOWPAPER29clayQualifying Final+0.120
16Linda Fruhvirtova vs Harmony Tan QualHarmony Tan50.2%39.0%39¢+11.2ppLOWPAPER108clayQualifying Final+0.112
17Alex de Minaur vs Luciano DarderiAlex de Minaur64.7%54.0%54¢+10.7ppLOWPAPER26650hardQuarterfinal+0.107
18Jessica Bouzas Maneiro vs Petra MarcinkoJessica Bouzas Maneiro43.6%33.0%33¢+10.6ppLOWPAPER60482clayQuarterfinal+0.106
19Pablo Llamas Ruiz vs Vilius Gaubas QualVilius Gaubas45.3%35.0%35¢+10.3ppLOWPAPER6768clayQualifying Final+0.103
20Borna Gojo vs Jurij Rodionov QualBorna Gojo54.4%46.0%46¢+8.4ppLOWPAPER1550hardQualification Final+0.084
21Casper Ruud vs Alexei PopyrinAlexei Popyrin35.0%28.0%28¢+7.0ppLOWPAPER131233hardQuarterfinal+0.070
22Felix Gill vs Kyrian Jacquet QualFelix Gill52.8%46.0%46¢+6.8ppLOWPAPER3845clayQualifying Final+0.068
23Anhelina Kalinina vs Anna BondarAnna Bondar52.6%46.0%46¢+6.6ppLOWPAPER12732clayQuarterfinal+0.066
24Guiomar Maristany Zuleta de Reales vs Kaitlin Quevedo QualGuiomar Maristany Zuleta de Reales52.7%48.0%48¢+4.7ppLOWPAPER1154clayQualifying Final+0.047
25Alexander Bublik vs Arthur RinderknechArthur Rinderknech43.6%39.0%39¢+4.6ppLOWPAPER10827clayQuarterfinal+0.046
26Alexis Galarneau vs Federico Cina QualFederico Cina49.4%46.0%46¢+3.4ppLOWPAPER236974hardQualification Final+0.034
27Xiyu Wang vs Polina Kudermetova QualPolina Kudermetova45.0%42.0%42¢+3.0ppLOWPAPER180hardQualification Final+0.030
28Lulu Sun vs Claire Liu QualLulu Sun41.4%39.0%39¢+2.4ppLOWPAPER212clayQualifying Final+0.024
29Jaime Faria vs Lukas Neumayer QualJaime Faria51.3%49.0%49¢+2.3ppLOWPAPER14642clayQualifying Final+0.023
30Victoria Mboko vs Leylah FernandezLeylah Fernandez41.2%39.0%39¢+2.2ppLOWPAPER30891clayQuarterfinal+0.022
31Susan Bandecchi vs Viktoria Hruncakova QualViktoria Hruncakova45.0%43.0%43¢+2.0ppLOWSKIP78clayQualifying Final+0.020
32Tommy Paul vs Daniel AltmaierTommy Paul68.1%69.0%69¢-0.9ppLOWSKIP103040hardQuarterfinal-0.009
33Camilo Ugo Carabelli vs Aleksandar KovacevicCamilo Ugo Carabelli70.1%71.0%71¢-0.9ppLOWSKIP14427clayQuarterfinal-0.009
34Learner Tien vs Alex MichelsenLearner Tien49.7%50.0%50¢-0.3ppLOWSKIP19010hardQuarterfinal-0.003
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Luciano Darderi🟨 WARMAces2.56.36+154.4%MORELOWAlex de Minaurclay0.5x
2Alexander Bublik🧊 COLDTotal Tie Breaks0.50.12+75.4%LESSLOWArthur Rinderknechclay1.0x
3Alex Michelsen🧊 COLDAces3.56.11+74.6%MORELOWLearner Tienclay0.5x
4Aleksandar Kovacevic🧊 COLDAces3.55.59+59.8%MORELOWCamilo Ugo Carabelliclay0.5x
5Leylah Fernandez🟨 WARMBreak Points Won3.04.55+51.5%MORELOWVictoria Mbokoclay1.0x
6Yasmine KabbajTotal Games Won8.010.28+28.5%MORELOWJil Teichmannclay0.5x
7Arthur RinderknechAces8.56.23+26.6%LESSLOWAlexander Bublikclay0.5x
8Aleksandar Kovacevic🧊 COLDTotal Games Won11.58.47+26.4%LESSLOWCamilo Ugo Carabelliclay0.5x
9Jil Teichmann🧊 COLDTotal Games19.524.51+25.7%MORELOWYasmine Kabbajclay0.5x
10Camilo Ugo CarabelliBreak Points Won3.03.70+23.2%MORELOWAleksandar Kovacevicclay1.0x
11Yasmine KabbajDouble Faults3.54.24+21.0%MORELOWJil Teichmannclay0.5x
12Daniel AltmaierTotal Games Won12.09.62+19.9%LESSLOWTommy Paulclay0.5x
13Rebecca SramkovaTotal Games20.524.57+19.9%MORELOWMaria Carleclay0.5x
14Aliaksandra SasnovichTotal Games20.524.34+18.7%MORELOWMarina Bassols Riberaclay0.5x
15Ashlyn KruegerTotal Games20.524.09+17.5%MORELOWMary Stoianaclay0.5x
16Roman Safiullin🟨 WARMTotal Games21.525.19+17.1%MORELOWTom Gentzschclay0.5x
17Pablo Llamas Ruiz🟨 WARMTotal Games21.525.18+17.1%MORELOWVilius Gaubasclay0.5x
18Leandro Riedi🟨 WARMTotal Games21.525.16+17.0%MORELOWPierre-Hugues Herbertclay0.5x
19Lukas Neumayer🟨 WARMTotal Games Won12.510.37+17.0%LESSLOWJaime Fariaclay1.0x
20Borna Gojo🟨 WARMTotal Games Won12.510.38+17.0%LESSLOWJurij Rodionovclay1.0x
21Vilius GaubasTotal Games Won12.010.06+16.1%LESSLOWPablo Llamas Ruizclay1.0x
22Emilio NavaTotal Games21.524.94+16.0%MORELOWPedro Martinezclay0.5x
23Jurij Rodionov🟨 WARMTotal Games Won12.510.54+15.6%LESSLOWBorna Gojoclay1.0x
24Victoria Mboko🟨 WARMBreak Points Won4.55.20+15.6%MORELOWLeylah Fernandezclay1.0x
25Jaime Faria🟨 WARMTotal Games Won12.510.58+15.4%LESSLOWLukas Neumayerclay1.0x
26Emma Navarro⏳ RTRNBreak Points Won4.55.17+14.9%MORELOWShuai Zhangclay1.0x
27Marina Bassols Ribera🟨 WARMTotal Games Won9.510.91+14.8%MORELOWAliaksandra Sasnovichclay1.0x
28Emma Navarro⏳ RTRNAces2.52.85+14.1%MORELOWShuai Zhangclay0.5x
29Aliaksandra SasnovichBreak Points Won5.54.73+14.0%LESSLOWMarina Bassols Riberaclay1.0x
30Hugo Dellien⏳ RTRNTotal Games21.524.49+13.9%MORELOWRoberto Carballes Baenaclay0.5x
31Linda Fruhvirtova🧊 COLDTotal Games21.524.49+13.9%MORELOWHarmony Tanclay0.5x
32Anhelina Kalinina🟨 WARMTotal Games21.524.42+13.6%MORELOWAnna Bondarclay0.5x
33Claire Liu🟨 WARMTotal Games21.524.30+13.0%MORELOWLulu Sunclay0.5x
34Jil Teichmann🧊 COLDBreak Points Won5.54.79+12.9%LESSLOWYasmine Kabbajclay1.0x
35Roberto Carballes Baena⏳ RTRNTotal Games Won11.510.05+12.6%LESSLOWHugo Dellienclay1.0x
36Roman Safiullin🟨 WARMTotal Games Won12.510.95+12.4%LESSLOWTom Gentzschclay1.0x
37Learner Tien🧊 COLDTotal Games22.525.28+12.3%MORELOWAlex Michelsenclay0.5x
38Jaime Faria🟨 WARMTotal Games22.525.22+12.1%MORELOWLukas Neumayerclay0.5x
39Darwin Blanch🟨 WARMTotal Games22.525.17+11.9%MORELOWLuka Pavlovicclay0.5x
40Susan Bandecchi🟨 WARMTotal Games21.524.03+11.8%MORELOWViktoria Hruncakovaclay0.5x
41Aleksandar Kovacevic🧊 COLDBreak Points Won2.52.74+9.5%MORELOWCamilo Ugo Carabelliclay1.0x
42Alexander Bublik🧊 COLDAces6.55.95+8.4%LESSLOWArthur Rinderknechclay0.5x
43Alina Korneeva🧊 COLDTotal Games21.523.23+8.0%MORELOWJulia Rieraclay0.5x
44Lucia BronzettiTotal Games21.523.08+7.4%MORELOWKatarina Zavatskaclay0.5x
45Shuai Zhang🧊 COLDTotal Games Won10.010.72+7.2%MORELOWEmma Navarroclay0.5x
46Kyrian Jacquet⏳ RTRNTotal Games23.525.17+7.1%MORELOWFelix Gillclay0.5x
47Borna Gojo🟨 WARMTotal Games23.525.12+6.9%MORELOWJurij Rodionovclay0.5x
48Julia Riera🟨 WARMBreak Points Won5.05.34+6.8%MORELOWAlina Korneevaclay1.0x
49Victoria Mboko🟨 WARMDouble Faults4.54.24+5.9%LESSLOWLeylah Fernandezclay1.0x
50Tom Gentzsch🟨 WARMTotal Games Won9.510.05+5.8%MORELOWRoman Safiullinclay1.0x
51Mary Stoiana🟨 WARMTotal Games Won10.510.95+4.3%MORELOWAshlyn Kruegerclay1.0x
52Alexander Bublik🧊 COLDTotal Games23.524.49+4.2%MORELOWArthur Rinderknechclay0.5x
53Camilo Ugo CarabelliTotal Games Won12.512.10+3.2%LESSLOWAleksandar Kovacevicclay0.5x
Kalshi tennis — 2 picks · $4.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-21T13:10:45.965796+00:00
#MatchPickOur PAskEdgeTierSurfaceStakeStatusP&L
1Coleman Wong vs Juan Carlos Prado AngeloColeman Wong45.0%22¢23.0ppELITEclay$2.00OPEN+0.00
2Leandro Riedi vs Pierre-Hugues HerbertPierre-Hugues Herbert45.0%27¢18.0ppELITEhard$2.00OPEN+0.00
PrizePicks tennis — 2 picks · $2.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-21T13:10:45.902879+00:00
#PlayerStatLineOur projSideEdgeTierSurfaceStakeStatusP&L
1Leandro RiediTotal Games21.525.16MORE17.0%ELITEclay$1.00OPEN+0.00
2Shuai ZhangTotal Games Won10.010.72MORE7.2%MEDclay$1.00OPEN+0.00
Polymarket = retail/crypto sentiment. We can't bet there from CA, but the divergence vs Kalshi (sharp) reveals where the public is loading up. Generated 2026-05-21T06:10:58 · flagged threshold = ±3.0pp · 1 flagged futures / 0 flagged matches.

Grand-slam futures · ANY 2026 Slam (Kalshi KXATPGRANDSLAM vs Polymarket per-slam aggregate)

Polymarket "any-slam" probability computed naively as 1 - product(1 - p_slam). Positive divergence = public (Polymarket) more bullish than sharp (Kalshi). Sorted by |divergence|.
PlayerSharp (Kalshi)Public (Poly)ΔPoly per-slam
Novak Djokovic · exact12.5%18.6%+6.1pp · PUBLIC HIGHERFre 6%, Wim 10%, US 4%
Lorenzo Musetti · exact4.5%1.6%-2.9pp · SHARP HIGHERFre 0%, Wim 1%, US 1%
Ben Shelton · exact4.5%7.2%+2.7pp · PUBLIC HIGHERFre 1%, Wim 3%, US 4%
Alexander Zverev · exact12.0%14.5%+2.5pp · PUBLIC HIGHERFre 7%, Wim 4%, US 4%
Daniil Medvedev · exact8.0%5.8%-2.2pp · SHARP HIGHERFre 2%, Wim 2%, US 2%
Alex de Minaur · exact3.0%1.4%-1.6pp · SHARP HIGHERFre 1%, Wim 1%
Felix Auger-Aliassime · exact2.0%0.5%-1.5pp · SHARP HIGHERWim 1%
Karen Khachanov · exact2.0%0.7%-1.3pp · SHARP HIGHERFre 0%, Wim 1%
Jannik Sinner · exact94.0%95.1%+1.1pp · PUBLIC HIGHERFre 70%, Wim 66%, US 52%
Alexander Bublik · exact3.0%1.9%-1.1pp · SHARP HIGHERFre 0%, Wim 0%, US 1%
Jack Draper · exact4.5%5.5%+1.0pp · PUBLIC HIGHERFre 0%, Wim 3%, US 3%
Frances Tiafoe · exact0.5%1.4%+0.9pp · PUBLIC HIGHERFre 0%, Wim 0%, US 1%
Taylor Fritz · exact4.5%5.0%+0.5pp · PUBLIC HIGHERFre 1%, Wim 3%, US 2%
Casper Ruud · exact3.5%3.4%-0.1pp · SHARP HIGHERFre 3%, Wim 0%

Per-match overlaps

No active per-match overlaps right now (Polymarket tennis volume concentrates in Grand Slam futures).
!
Calibration provisional. Only 17 graded picks; verdicts not actionable until 50+.
Per-stat-type MAE (n_graded=17)
Bar width = MAE (lower = better). "INSUFFICIENT" = need more graded picks.
Total Games
n=4
Ours
PP
Us 6.45
PP 3.25
INSUFFICIENT_N
Total Games Won
n=12
Ours
PP
Us 4.93
PP 4.50
NULL
Total Tie Breaks
n=1
Ours
PP
Us 0.25
PP 0.50
INSUFFICIENT_N
Per-tier MAE
Bar width = MAE (lower = better). "INSUFFICIENT" = need more graded picks.
ELITE
n=16
Ours
PP
Us 4.94
PP 3.75
NULL
MED
n=0
Ours
PP
Us —
PP —
INSUFFICIENT_N
STRONG
n=1
Ours
PP
Us 6.23
PP 7.50
INSUFFICIENT_N
[!]
No AAR available yet.
Expected: ~/.claude/projects/.../memory/aar_tennis_<date>.md
[MV]
No actionable PP line movement yet.
Expected: pp_line_movement_tennis_2026-05-21.csv. Needs at least 2 PP snapshots in pp_snapshots_tennis/.
ATP top 50
RkPlayerCountryPtsELO overallELO clayELO grassELO hard
1Jannik SinnerITA143502175185716952062
2Carlos AlcarazESP129602070186717171956
3Alexander ZverevGER58051961181615941863
4Novak DjokovicSRB47001955173816361846
5Felix Auger AliassimeCAN40501864160515171803
6Ben SheltonUSA40301848168315611765
7Taylor FritzUSA37701826158117221749
8Alex De MinaurAUS37551847165215901806
9Daniil MedvedevRUS34601878164115851845
10Lorenzo MusettiITA34151828175616071723
11Alexander BublikKAZ33551803172415691703
12Flavio CobolliITA27501796172015571655
13Jiri LeheckaCZE27151837164715741754
14Andrey RublevRUS25901762165815161683
15Karen KhachanovRUS22201691158615671639
16Valentin VacherotMON21471810170214671738
17Arthur FilsFRA21301912176215461771
18Tommy PaulUSA19751842174815871743
19Cameron NorrieGBR19181776165815291682
20Luciano DarderiITA18901714176714661466
21Learner TienUSA18701800146615061789
22Frances TiafoeUSA18651771160414881719
23Alejandro Davidovich FokinaESP18201756157215451703
24Arthur RinderknechFRA17361713156615301631
25Casper RuudNOR17351792174415021685
26Tomas Martin EtcheverryARG16601785169314561636
27Francisco CerundoloARG16201801172614261698
28Jakub MensikCZE16001795158914971747
29Joao FonsecaBRA14351818163814951795
30Corentin MoutetFRA14131706160015741640
31Tallon GriekspoorNED13601681157515641645
32Brandon NakashimaUSA12951706157015901660
33Ugo HumbertFRA12801712145115171697
34Rafael JodarESP1273187417141765
35Alejandro TabiloCHI12481786169615751637
36Alexander BlockxBEL12001820168915081713
37Denis ShapovalovCAN11701690149814721698
38Jaume MunarESP11551695156315081635
39Zizou BergsBEL11401705157015211631
40Holger RuneDEN11101744166315151710
41Tomas MachacCZE11001737159215001682
42Alex MichelsenUSA10901715148815381702
43Sebastian KordaUSA10501806153715561757
44Mariano NavoneARG10461718171614601507
45Adrian MannarinoFRA10351589139015841569
46Gabriel DialloCAN10001651155415761615
47Marin CilicCRO9801710153916111635
48Ethan QuinnUSA9771731159415091683
49Fabian MarozsanHUN9751672156614501608
50Jack DraperGBR9601806163415941750
WTA top 50
RkPlayerCountryPtsELO overallELO clayELO grassELO hard
1Aryna SabalenkaBLR101102115180815882045
2Elena RybakinaKAZ85552063176015801972
3Iga SwiatekPOL69481924178016581852
4Coco GauffUSA67491957178715191871
5Jessica PegulaUSA61361997170115831901
6Amanda AnisimovaUSA59851916156116381822
7Mirra AndreevaRUS41811932180015131797
8Jasmine PaoliniITA37221815170715851741
9Victoria MbokoCAN35311936170415151891
10Elina SvitolinaUKR35301922172715501824
11Karolina MuchovaCZE33181951159714941869
12Belinda BencicSUI30901898158415611831
13Linda NoskovaCZE29991881158915831763
14Ekaterina AlexandrovaRUS26691747159315841662
15Marta KostyukUKR25071924175714491755
16Naomi OsakaJPN23411819162815141734
17Iva JovicUSA22351829166316011759
18Clara TausonDEN20301746156015201679
19Madison KeysUSA19461836170615581766
20Diana ShnaiderRUS19461782164715651686
21Liudmila SamsonovaRUS18951697160416191566
22Elise MertensBEL18581802158015811714
23Leylah FernandezCAN18511790159015461679
24Anna KalinskayaRUS17581784153815461721
25Hailey BaptisteUSA17471785166214881667
26Marie BouzkovaCZE16511773169914761648
27Sorana CirsteaROU15951866161214291797
28Jaqueline CristianROU14371770163514321698
29Ann LiUSA14351745163814781647
30Emma RaducanuGBR14301753157015771658
31Cristina BucsaESP14061738147515141684
32Qinwen ZhengCHN14051819173714971737
33Xin Yu WangCHN14011735154615911616
34Maya JointAUS13801711168815791641
35Emma NavarroUSA13771680157815901613
36Jelena OstapenkoLAT13691723163215341621
37Sara BejlekCZE13601832179714861653
38Anastasia PotapovaRUS13551787169014841640
39Katerina SiniakovaCZE13421777154915781693
40Janice TjenINA1317181716621785
41Elisabetta CocciarettoITA12901800158415771689
42Alexandra EalaPHI12851786147816001748
43Lois BoissonFRA12681791181114831554
44Marketa VondrousovaCZE12631728160615781609
45Magdalena FrechPOL12631649153414341613
46Laura SiegemundGER12501680153515411592
47Maria SakkariGRE12381707156314861658
48Tereza ValentovaCZE12311845174615171788
49Peyton StearnsUSA12111710163614711621
50Mccartney KesslerUSA12041754151615831688
SourceDB / fileLast pulledAgeRowsStatus
Kalshi KXATPMATCHtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m1792fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m1688fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m3562fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m0fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m1060fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m0fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-05-21T13:08:46.796393+00:002m16fresh
elo last computedtennis.sqlite2026-05-21T13:08:43+00:002m20051fresh
rankings last pulledtennis.sqlite2026-05-21T13:08:46+00:002m3745fresh
rankings atp latest datetennis.sqlite2026-05-04421.18h&mdash;stale
rankings wta latest datetennis.sqlite2026-05-04421.18h&mdash;stale
mirror atp scheduletennis.sqlite2026-05-21T13:10:19.805277+00:000m312fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:0098.98h&mdash;stale
h2h n pairstennis.sqlite190184missing&mdash;missing
last player db runtennis.sqlite1779369037missing&mdash;missing
results last_runtennis_results.sqlite[2026-05-21T13:10:22.033130+00:00] 2026-05-21T13:10:20.143665+00:00; dates=['20260520']; rows=540; resolved=524missing&mdash;missing
pp_edges CSVpp_edges_tennis_2026-05-21.csv2026-05-21T13:10:44.421839+00:000m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-05-21.json2026-05-21T13:10:42.057447+00:000m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-05-21.json2026-05-21T13:10:46.436042+00:000m&mdash;fresh
paper trades Kalshipaper_trades_kalshi_tennis_2026-05-21.json2026-05-21T13:10:46.915268+00:000m&mdash;fresh
daily payloaddaily_tennis_2026-05-21.json2026-05-21T13:10:47.566535+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-05-21.csv2026-05-21T13:10:47.111362+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-05-21T13:10:47.050987+00:000m&mdash;fresh