T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-05-20 17:41 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 · 1770rKalshi KXWTAMATCH 2m · 1672rKalshi KXFRENCHOPEN 2mKalshi KXFOPENMENSINGLE 2mKalshi KXATPGRANDSLAM 2m · 14rKalshi KXUSOPEN 2mKalshi KXATPSETWINNER 2m · 3516rKalshi KXATPTOTALSETS 2mKalshi KXATPSETSWEEP 2mKalshi KXATPGAMESPREAD 2mKalshi KXATPEXACTMATCH 2m · 1016rKalshi KXWTADOUBLES 2mKalshi KXATP1RANK 2m · 16relo last computed 2m · 20051rrankings last pulled 2m · 3745rrankings atp latest date 16drankings wta latest date 16dmirror atp schedule 0m · 93rh2h last computed 3dh2h 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
24
scheduled
ELITE edges
0
across Kalshi + PP
STRONG edges
0
tier 2
MED edges
0
tier 3
Paper locks
3
Kalshi + PP
Real Money YTD
-$10.00
paper-gate restored
Qualifying skipped
26
filtered out today
Last refresh
17:41
2026-05-20 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Mariano Navone
Mariano Navone vs Jaume Munar · Quarterfinal clay · LOW
64%
Heavy main-draw favorite · PAPER
Edge +8.1pp
Ask 56¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
#MatchTournamentRoundSurfaceStartELO AELO BELO diffKalshi event
1? vs Harmony TanRoland GarrosQualifying 2nd RoundclayMay 20 14:501464
2? vs Harmony TanRoland GarrosQualifying 2nd RoundclayMay 20 14:501464
3Darja Semenistaja vs Katarina ZavatskaRoland GarrosQualifying 2nd RoundclayMay 20 14:5517651734+31KXWTAMATCH-26MAY20SEMZAV
4Darja Semenistaja vs Katarina ZavatskaRoland GarrosQualifying 2nd RoundclayMay 20 14:5517651734+31KXWTAMATCH-26MAY20SEMZAV
5Luka Pavlovic vs Tomas Barrios VeraRoland GarrosQualifying 2nd RoundclayMay 20 15:2015831678-96KXATPMATCH-26MAY20PAVBAR
6Luka Pavlovic vs Tomas Barrios VeraRoland GarrosQualifying 2nd RoundclayMay 20 15:2015831678-96KXATPMATCH-26MAY20PAVBAR
7Alejandro Davidovich Fokina vs Alex De MinaurBitpanda Hamburg OpenRound 2clayMay 20 15:2515721652-80KXATPMATCH-26MAY19DAVDE
8Maria Lourdes Carle vs Maria TimofeevaRoland GarrosQualifying 2nd RoundclayMay 20 15:3016301648-19KXWTAMATCH-26MAY20CARTIM
9Maria Lourdes Carle vs Maria TimofeevaRoland GarrosQualifying 2nd RoundclayMay 20 15:3016301648-19KXWTAMATCH-26MAY20CARTIM
10Emma Navarro vs Iva JovicInternationaux de Strasbourg presented by MammotionRound 2clayMay 20 15:3515781663-85KXWTAMATCH-26MAY19NAVJOV
11Polina Kudermetova vs Viktoriya TomovaRoland GarrosQualifying 2nd RoundclayMay 20 15:4517161506+210KXWTAMATCH-26MAY20KUDTOM
12Polina Kudermetova vs Viktoriya TomovaRoland GarrosQualifying 2nd RoundclayMay 20 15:4517161506+210KXWTAMATCH-26MAY20KUDTOM
13Stan Wawrinka vs Alex MichelsenGonet Geneva OpenRound 2clayMay 20 16:0514641488-24KXATPSETWINNER-26MAY20WAWMIC-2
14Gianluca Cadenasso vs Leandro RiediRoland GarrosQualifying 2nd RoundclayMay 20 16:2516091542+67KXATPMATCH-26MAY20CADRIE
15Yuliia Starodubtseva vs Anhelina KalininaGrand Prix Son Altesse Royale La Princesse Lalla MeryemRound 2clayMay 20 16:2516191767-148KXWTAMATCH-26MAY20STAKAL
16Gianluca Cadenasso vs Leandro RiediRoland GarrosQualifying 2nd RoundclayMay 20 16:2516091542+67KXATPMATCH-26MAY20CADRIE
17Lucia Bronzetti vs Lucrezia StefaniniRoland GarrosQualifying 2nd RoundclayMay 20 16:5515331501+32KXWTAMATCH-26MAY20BROSTE
18Lucia Bronzetti vs Lucrezia StefaniniRoland GarrosQualifying 2nd RoundclayMay 20 16:5515331501+32KXWTAMATCH-26MAY20BROSTE
19Tristan Schoolkate vs Darwin BlanchRoland GarrosQualifying 2nd RoundclayMay 20 17:0015101530-20KXATPSETWINNER-26MAY20SCHBLA-2
20Tristan Schoolkate vs Darwin BlanchRoland GarrosQualifying 2nd RoundclayMay 20 17:0015101530-20KXATPSETWINNER-26MAY20SCHBLA-2
21Rebecca Sramkova vs Francisca JorgeRoland GarrosQualifying 2nd RoundclayMay 20 17:0515821491+92KXWTAMATCH-26MAY20SRAJOR
22Rebecca Sramkova vs Francisca JorgeRoland GarrosQualifying 2nd RoundclayMay 20 17:0515821491+92KXWTAMATCH-26MAY20SRAJOR
23Edas Butvilas vs Alexander BublikGonet Geneva OpenRound 2clayMay 20 17:5015011724-223KXATPSETWINNER-26MAY20BUTBUB-1
24Luciano Darderi vs Yannick HanfmannBitpanda Hamburg OpenRound 2clayMay 20 18:3017671668+98KXATPSETWINNER-26MAY20DARHAN-2
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Viktoriya Tomova vs Polina Kudermetova QualViktoriya Tomova45.0%8.0%+37.0ppLOWSKIP100944clayQualifying 2nd Round+0.370
2Tristan Schoolkate vs Darwin Blanch QualTristan Schoolkate50.6%15.0%15¢+35.6ppLOWSKIP103023hardQualification Round 2+0.356
3Camila Osorio vs Panna UdvardyPanna Udvardy57.9%91.0%91¢-33.1ppLOWPAPER0clayQuarterfinal-0.331
4Jil Teichmann vs Yasmine KabbajYasmine Kabbaj51.8%19.0%19¢+32.8ppLOWPAPER12clayQuarterfinal+0.328
5Frances Tiafoe vs Camilo Ugo CarabelliFrances Tiafoe63.7%31.0%31¢+32.7ppLOWPAPER1002301hardRound Of 16+0.327
6Francisca Jorge vs Rebecca Sramkova QualFrancisca Jorge45.0%14.0%14¢+31.0ppLOWSKIP17010clayQualifying 2nd Round+0.310
7Alex de Minaur vs Alejandro Davidovich FokinaAlejandro Davidovich Fokina44.2%14.0%14¢+30.2ppLOWPAPER637156clayRound 2+0.302
8Thomas Faurel vs Dalibor Svrcina QualThomas Faurel45.0%20.0%20¢+25.0ppLOWPAPER1385hardQualification Final+0.250
9Andrea Pellegrino vs Marco Cecchinato QualMarco Cecchinato54.2%33.0%33¢+21.2ppLOWPAPER372hardQualification Final+0.212
10Ashlyn Krueger vs Mary Stoiana QualMary Stoiana55.0%34.0%34¢+21.0ppLOWPAPER123clayQualifying Final+0.210
11Maja Chwalinska vs Suzan Lamens QualSuzan Lamens45.0%26.0%26¢+19.0ppLOWPAPER52clayQualifying Final+0.190
12Sinja Kraus vs Anna-Lena Friedsam QualAnna-Lena Friedsam41.4%24.0%24¢+17.4ppLOWPAPER13clayQualifying Final+0.174
13August Holmgren vs Facundo Diaz Acosta QualAugust Holmgren45.0%28.0%28¢+17.0ppLOWPAPER147clayQualifying Final+0.170
14Sloane Stephens vs Leyre Romero Gormaz QualLeyre Romero Gormaz58.6%42.0%42¢+16.6ppLOWPAPER25clayQualifying Final+0.166
15Alexander Bublik vs Edas ButvilasEdas Butvilas44.4%28.0%28¢+16.4ppLOWPAPER42242hardRound Of 16+0.163
16Stan Wawrinka vs Alex MichelsenStan Wawrinka38.1%22.0%22¢+16.1ppLOWPAPER370456hardRound Of 16+0.161
17Lucrezia Stefanini vs Lucia Bronzetti QualLucrezia Stefanini43.5%28.0%28¢+15.5ppLOWPAPER23902clayQualifying 2nd Round+0.155
18Ignacio Buse vs Ugo HumbertUgo Humbert59.7%45.0%45¢+14.7ppLOWPAPER21hardQuarterfinal+0.147
19Alina Korneeva vs Julia Riera QualJulia Riera58.6%44.0%44¢+14.6ppLOWPAPER0clayQualifying Final+0.146
20Maria Carle vs Maria Timofeeva QualMaria Timofeeva66.3%52.0%52¢+14.3ppLOWPAPER103196clayQualifying 2nd Round+0.143
21Iva Jovic vs Emma NavarroIva Jovic56.9%43.0%43¢+13.9ppLOWPAPER1208372clayRound 2+0.139
22Michael Zheng vs Jesper De Jong QualMichael Zheng45.0%33.0%33¢+12.0ppLOWPAPER1696clayQualifying Final+0.120
23Alexei Popyrin vs Casper RuudAlexei Popyrin35.2%26.0%26¢+9.2ppLOWPAPER376hardQuarterfinal+0.092
24Jessica Bouzas Maneiro vs Petra MarcinkoPetra Marcinko56.1%47.0%47¢+9.1ppLOWPAPER0clayQuarterfinal+0.091
25Coleman Wong vs Juan Carlos Prado Angelo QualColeman Wong55.0%64.0%64¢-9.0ppLOWPAPER260hardQualification Final-0.090
26Harmony Tan vs Xinyu Gao QualHarmony Tan54.5%46.0%46¢+8.5ppLOWPAPER272265hardQualification Round 2+0.085
27Yannick Hanfmann vs Luciano DarderiYannick Hanfmann44.2%36.0%36¢+8.2ppLOWPAPER134081hardRound Of 16+0.082
28Mariano Navone vs Jaume MunarMariano Navone64.1%56.0%56¢+8.1ppLOWPAPER118clayQuarterfinal+0.081
29Elena Pridankina vs Himeno Sakatsume QualHimeno Sakatsume45.0%38.0%38¢+7.0ppLOWPAPER0clayQualifying Final+0.070
30Federico Cina vs Alexis Galarneau QualAlexis Galarneau50.4%57.0%57¢-6.6ppLOWPAPER9hardQualification Final-0.066
31Darja Semenistaja vs Katarina Zavatska QualDarja Semenistaja53.0%47.0%47¢+6.0ppLOWPAPER282378clayQualifying 2nd Round+0.060
32Jaqueline Cristian vs Daria KasatkinaJaqueline Cristian45.0%39.0%39¢+6.0ppLOWPAPER247clayQuarterfinal+0.060
33Hanyu Guo vs Sofia Costoulas QualHanyu Guo47.6%42.0%42¢+5.6ppLOWPAPER66hardQualification Final+0.056
34Ann Li vs Marie BouzkovaMarie Bouzkova54.6%49.0%49¢+5.6ppLOWPAPER386clayQuarterfinal+0.056
35Leandro Riedi vs Gianluca Cadenasso QualLeandro Riedi45.2%41.0%41¢+4.2ppLOWPAPER170305clayQualifying 2nd Round+0.042
36Guiomar Maristany Zuleta de Reales vs Kaitlin Quevedo QualGuiomar Maristany Zuleta de Reales53.0%49.0%49¢+4.0ppLOWPAPER0clayQualifying Final+0.040
37Marina Bassols Ribera vs Aliaksandra Sasnovich QualMarina Bassols Ribera55.0%52.0%52¢+3.0ppLOWPAPER0clayQualifying Final+0.030
38Victoria Mboko vs Leylah FernandezLeylah Fernandez41.1%40.0%40¢+1.1ppLOWSKIP535clayQuarterfinal+0.011
39Gonzalo Bueno vs Toby Samuel QualToby Samuel55.0%56.0%56¢-1.0ppLOWSKIP278hardQualification Final-0.010
40Tommy Paul vs Daniel AltmaierDaniel Altmaier31.7%31.0%31¢+0.7ppLOWSKIP242hardQuarterfinal+0.007
41Marcelo Tomas Barrios Vera vs Luka Pavlovic QualMarcelo Tomas Barrios Vera50.6%50.0%50¢+0.6ppLOWSKIP353194clayQualifying 2nd Round+0.006
42Lukas Neumayer vs Jaime Faria QualJaime Faria51.3%51.0%51¢+0.3ppLOWSKIP241clayQualifying Final+0.003
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Yasmine KabbajTotal Games Won7.510.28+37.1%MORELOWJil Teichmannclay0.5x
2Thomas FaurelTotal Games Won7.510.05+34.0%MORELOWDalibor Svrcinaclay1.0x
3Marina Bassols Ribera🟨 WARMTotal Games Won8.510.91+28.3%MORELOWAliaksandra Sasnovichclay1.0x
4Dalibor Svrcina🟨 WARMTotal Games19.524.83+27.3%MORELOWThomas Faurelclay0.5x
5Jil Teichmann🧊 COLDTotal Games19.524.51+25.7%MORELOWYasmine Kabbajclay0.5x
6Aliaksandra SasnovichTotal Games19.524.34+24.8%MORELOWMarina Bassols Riberaclay0.5x
7Jessica Bouzas ManeiroTotal Games20.524.29+18.5%MORELOWPetra Marcinkoclay0.5x
8Suzan LamensTotal Games Won8.510.05+18.2%MORELOWMaja Chwalinskaclay1.0x
9Andrea PellegrinoTotal Games21.525.31+17.7%MORELOWMarco Cecchinatoclay0.5x
10Sofia CostoulasTotal Games20.524.12+17.6%MORELOWHanyu Guoclay0.5x
11Ashlyn KruegerTotal Games20.524.09+17.5%MORELOWMary Stoianaclay0.5x
12Andrea PellegrinoTotal Games Won12.510.35+17.2%LESSLOWMarco Cecchinatoclay1.0x
13Lukas Neumayer🟨 WARMTotal Games Won12.510.37+17.0%LESSLOWJaime Fariaclay1.0x
14Daniel AltmaierTotal Games Won11.59.62+16.4%LESSLOWTommy Paulclay0.5x
15Jaime Faria🟨 WARMTotal Games Won12.510.58+15.4%LESSLOWLukas Neumayerclay1.0x
16Sloane Stephens🧊 COLDTotal Games20.523.62+15.2%MORELOWLeyre Romero Gormazclay0.5x
17Sinja Kraus🟨 WARMTotal Games20.022.86+14.3%MORELOWAnna-Lena Friedsamclay0.5x
18Toby Samuel🟨 WARMTotal Games21.524.55+14.2%MORELOWGonzalo Buenoclay0.5x
19Jesper De JongTotal Games21.524.50+14.0%MORELOWMichael Zhengclay0.5x
20Daria Kasatkina🟨 WARMTotal Games21.524.34+13.2%MORELOWJaqueline Cristianclay0.5x
21Himeno SakatsumeTotal Games Won11.510.05+12.6%LESSLOWElena Pridankinaclay2.0x
22Michael Zheng⏳ RTRNTotal Games Won11.510.05+12.6%LESSLOWJesper De Jongclay1.0x
23Facundo Diaz Acosta⏳ RTRNTotal Games Won12.510.95+12.4%LESSLOWAugust Holmgrenclay1.0x
24Jesper De JongTotal Games Won12.510.95+12.4%LESSLOWMichael Zhengclay1.0x
25Anna-Lena Friedsam🧊 COLDTotal Games Won8.59.55+12.3%MORELOWSinja Krausclay1.0x
26Jaime Faria🟨 WARMTotal Games22.525.22+12.1%MORELOWLukas Neumayerclay0.5x
27Alexei PopyrinTotal Games Won10.59.26+11.8%LESSLOWCasper Ruudclay0.5x
28Marie Bouzkova🟨 WARMTotal Games22.024.28+10.3%MORELOWAnn Liclay0.5x
29Mariano Navone🟨 WARMTotal Games22.524.66+9.6%MORELOWJaume Munarclay0.5x
30Tommy Paul🟨 WARMTotal Games22.524.54+9.1%MORELOWDaniel Altmaierclay0.5x
31Facundo Diaz Acosta⏳ RTRNTotal Games21.523.31+8.4%MORELOWAugust Holmgrenclay0.5x
32Alina Korneeva🧊 COLDTotal Games21.523.23+8.0%MORELOWJulia Rieraclay0.5x
33Marco CecchinatoTotal Games Won11.510.59+7.9%LESSLOWAndrea Pellegrinoclay1.0x
34Mariano Navone🟨 WARMTotal Games Won12.511.52+7.9%LESSLOWJaume Munarclay0.5x
35Maja Chwalinska⏳ RTRNTotal Games21.522.70+5.6%MORELOWSuzan Lamensclay0.5x
36Ignacio BuseTotal Games22.523.61+5.0%MORELOWUgo Humbertclay0.5x
37August Holmgren🟨 WARMTotal Games Won10.510.05+4.3%LESSLOWFacundo Diaz Acostaclay1.0x
38Mary Stoiana🟨 WARMTotal Games Won10.510.95+4.3%MORELOWAshlyn Kruegerclay1.0x
39Ignacio BuseTotal Games Won12.511.99+4.1%LESSLOWUgo Humbertclay0.5x
40Elena Pridankina🟨 WARMTotal Games21.522.13+2.9%MORELOWHimeno Sakatsumeclay0.5x
41Juan Carlos Prado Angelo⏳ RTRNTotal Games22.523.13+2.8%MORELOWColeman Wongclay0.5x
Kalshi tennis — 3 picks · $6.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-20T13:11:03.127967+00:00
#MatchPickOur PAskEdgeTierSurfaceStakeStatusP&L
1Roman Safiullin vs Joel SchwaerzlerJoel Schwaerzler53.5%37¢16.5ppELITEhard$2.00OPEN+0.00
2Coleman Wong vs Zdenek KolarColeman Wong55.0%41¢14.0ppELITEhard$2.00OPEN+2.88
3Maria Carle vs Maria TimofeevaMaria Carle33.9%21¢12.9ppELITEclay$2.00OPEN+0.00
PrizePicks tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-20T13:11:03.064972+00:00
#PlayerStatLineOur projSideEdgeTierSurfaceStakeStatusP&L
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-20T10:41:18 · 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%17.5%+5.0pp · PUBLIC HIGHERFre 5%, Wim 10%, US 3%
Lorenzo Musetti · exact4.5%1.6%-2.9pp · SHARP HIGHERFre 0%, Wim 1%, US 1%
Daniil Medvedev · exact8.0%5.5%-2.5pp · SHARP HIGHERFre 2%, Wim 2%, US 2%
Alex de Minaur · exact3.0%1.5%-1.5pp · SHARP HIGHERFre 0%, Wim 1%
Karen Khachanov · exact2.0%0.5%-1.5pp · SHARP HIGHERFre 0%, Wim 0%
Felix Auger-Aliassime · exact2.0%0.5%-1.5pp · SHARP HIGHERWim 1%
Ben Shelton · exact4.5%5.9%+1.4pp · PUBLIC HIGHERFre 1%, Wim 4%, US 2%
Jack Draper · exact4.5%5.6%+1.1pp · PUBLIC HIGHERFre 0%, Wim 3%, US 3%
Alexander Bublik · exact3.0%2.0%-1.0pp · SHARP HIGHERFre 0%, Wim 0%, US 1%
Frances Tiafoe · exact0.5%1.4%+0.9pp · PUBLIC HIGHERFre 0%, Wim 0%, US 1%
Alexander Zverev · exact15.0%14.1%-0.9pp · SHARP HIGHERFre 7%, Wim 5%, US 3%
Taylor Fritz · exact4.5%5.3%+0.8pp · PUBLIC HIGHERFre 1%, Wim 3%, US 2%
Jannik Sinner · exact94.5%95.1%+0.6pp · PUBLIC HIGHERFre 70%, Wim 66%, US 52%
Casper Ruud · exact3.5%3.3%-0.2pp · 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
#PlayerStatOppOpenLatestDiffAbsDirection
1Sinja KrausTotal GamesAnna-Lena Friedsam21.520.0-1.501.50DOWN
2Darwin BlanchTotal GamesTristan Schoolkate22.521.5-1.001.00DOWN
3Sofia CostoulasTotal GamesHanyu Guo21.520.5-1.001.00DOWN
4Andrea PellegrinoTotal GamesMarco Cecchinato22.521.5-1.001.00DOWN
5Toby SamuelTotal GamesGonzalo Bueno22.521.5-1.001.00DOWN
6Michael ZhengTotal Games WonJesper De Jong10.511.5+1.001.00UP
7Maja ChwalinskaTotal GamesSuzan Lamens20.521.5+1.001.00UP
8Suzan LamensTotal Games WonMaja Chwalinska9.58.5-1.001.00DOWN
9Sloane StephensTotal GamesLeyre Romero Gormaz21.520.5-1.001.00DOWN
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-20T17:39:10.301279+00:002m1770fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m1672fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m3516fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m0fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m1016fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m0fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-05-20T17:39:10.301279+00:002m16fresh
elo last computedtennis.sqlite2026-05-20T17:39:05+00:002m20051fresh
rankings last pulledtennis.sqlite2026-05-20T17:39:09+00:002m3745fresh
rankings atp latest datetennis.sqlite2026-05-04401.69h&mdash;stale
rankings wta latest datetennis.sqlite2026-05-04401.69h&mdash;stale
mirror atp scheduletennis.sqlite2026-05-20T17:40:41.935272+00:000m93fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:0079.49h&mdash;stale
h2h n pairstennis.sqlite190184missing&mdash;missing
last player db runtennis.sqlite1779298858missing&mdash;missing
results last_runtennis_results.sqlite[2026-05-20T17:40:43.956932+00:00] 2026-05-20T17:40:42.265653+00:00; dates=['20260519']; rows=491; resolved=475missing&mdash;missing
pp_edges CSVpp_edges_tennis_2026-05-20.csv2026-05-20T17:41:06.351404+00:000m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-05-20.json2026-05-20T17:41:04.319084+00:000m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-05-20.json2026-05-20T17:41:08.107613+00:000m&mdash;fresh
paper trades Kalshipaper_trades_kalshi_tennis_2026-05-20.json2026-05-20T17:41:08.587620+00:000m&mdash;fresh
daily payloaddaily_tennis_2026-05-20.json2026-05-20T17:41:09.250124+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-05-20.csv2026-05-20T17:41:08.770127+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-05-20T17:41:08.704455+00:000m&mdash;fresh