T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-05-31 13:15 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 3m · 1790rKalshi KXWTAMATCH 3m · 1672rKalshi KXFRENCHOPEN 3mKalshi KXFOPENMENSINGLE 3mKalshi KXATPGRANDSLAM 3m · 14rKalshi KXUSOPEN 3mKalshi KXATPSETWINNER 3m · 3716rKalshi KXATPTOTALSETS 3mKalshi KXATPSETSWEEP 3m · 1rKalshi KXATPGAMESPREAD 3mKalshi KXATPEXACTMATCH 3m · 1810rKalshi KXWTADOUBLES 3m · 124rKalshi KXATP1RANK 3m · 16relo last computed 3m · 20280rrankings last pulled 3m · 7538rrankings atp latest date 6drankings wta latest date 6dmirror atp schedule 1m · 48rh2h last computed 14dh2h 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
13
scheduled
ELITE edges
0
across Kalshi + PP
STRONG edges
0
tier 2
MED edges
0
tier 3
Paper locks
0
Kalshi + PP
Real Money YTD
-$10.00
paper-gate restored
Qualifying skipped
0
filtered out today
Last refresh
13:15
2026-05-31 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Madison Keys
Madison Keys vs Diana Shnaider · Round 4 clay · LOW
70%
Heavy main-draw favorite · PAPER
Edge +11.5pp
Ask 58¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
#MatchTournamentRoundSurfaceStartELO AELO BELO diffKalshi event
1Elina Svitolina vs Belinda BencicRoland GarrosRound 4clayMay 31 11:1017971582+216KXWTAMATCH-26MAY31SVIBEN
2Elina Svitolina vs Belinda BencicRoland GarrosRound 4clayMay 31 11:1017971582+216KXWTAMATCH-26MAY31SVIBEN
3Rafael Jodar vs Pablo Carreno BustaRoland GarrosRound 4clayMay 31 11:2517301642+88KXATPMATCH-26MAY31JODCAR
4Rafael Jodar vs Pablo Carreno BustaRoland GarrosRound 4clayMay 31 11:2517301642+88KXATPMATCH-26MAY31JODCAR
5Rebeka Masarova vs Celine NaefLexus Birmingham OpenQualifying FinalgrassMay 31 11:2515331546-13
6Jesper De Jong vs Alexander ZverevRoland GarrosRound 4clayMay 31 13:3016541817-163KXATPSETWINNER-26MAY31DEJZVE-3
7Jesper De Jong vs Alexander ZverevRoland GarrosRound 4clayMay 31 13:3016541817-163KXATPSETWINNER-26MAY31DEJZVE-3
8Mirra Andreeva vs Jil TeichmannRoland GarrosRound 4clayMay 31 14:0018081671+137KXWTAMATCH-26MAY31ANDTEI
9Mirra Andreeva vs Jil TeichmannRoland GarrosRound 4clayMay 31 14:0018081671+137KXWTAMATCH-26MAY31ANDTEI
10Jakub Mensik vs Andrey RublevRoland GarrosRound 4clayMay 31 15:0015761685-109KXATPMATCH-26MAY31MENRUB
11Jakub Mensik vs Andrey RublevRoland GarrosRound 4clayMay 31 15:0015761685-109KXATPMATCH-26MAY31MENRUB
12Casper Ruud vs Joao FonsecaRoland GarrosRound 4clayMay 31 18:1517931628+166KXATPSETWINNER-26MAY31RUUFON-3
13Casper Ruud vs Joao FonsecaRoland GarrosRound 4clayMay 31 18:1517931628+166KXATPSETWINNER-26MAY31RUUFON-3
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Zachary Svajda vs Flavio CobolliZachary Svajda52.3%16.0%16¢+36.3ppLOWPAPER52189hardRound Of 16+0.363
2Rafael Jodar vs Pablo Carreno BustaRafael Jodar56.7%29.0%29¢+27.7ppLOWPAPER1774514clayRound 4+0.277
3Mirra Andreeva vs Jil TeichmannJil Teichmann36.6%11.0%11¢+25.6ppLOWPAPER290044clayRound 4+0.256
4Naomi Osaka vs Aryna SabalenkaNaomi Osaka39.6%20.0%20¢+19.6ppLOWPAPER33576clayRound 4+0.196
5Casper Ruud vs Joao FonsecaJoao Fonseca58.3%39.0%39¢+19.3ppLOWPAPER197119hardRound Of 16+0.193
6Jesper De Jong vs Alexander ZverevJesper De Jong27.0%9.0%+18.0ppLOWPAPER527682hardRound Of 16+0.180
7Madison Keys vs Diana ShnaiderMadison Keys69.5%58.0%58¢+11.5ppLOWPAPER12537clayRound 4+0.115
8Diane Parry vs Maja ChwalinskaMaja Chwalinska67.1%62.0%62¢+5.1ppLOWPAPER3530clayRound 4+0.051
9Frances Tiafoe vs Matteo ArnaldiMatteo Arnaldi50.9%46.0%46¢+4.9ppLOWPAPER23000clayRound 4+0.049
10Juan Manuel Cerundolo vs Matteo BerrettiniMatteo Berrettini61.9%58.0%58¢+3.9ppLOWPAPER8861hardRound Of 16+0.039
11Andrey Rublev vs Jakub MensikAndrey Rublev58.5%55.0%55¢+3.5ppLOWPAPER407494clayRound 4+0.035
12Anna Kalinskaya vs Anastasia PotapovaAnna Kalinskaya37.3%35.0%35¢+2.3ppLOWPAPER2619clayRound 4+0.023
13Felix Auger-Aliassime vs Alejandro TabiloAlejandro Tabilo37.9%38.0%38¢-0.1ppLOWSKIP17168hardRound Of 16-0.001
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Jakub Mensik🟨 WARMAces13.56.30+53.3%LESSLOWAndrey Rublevclay0.5x
2Matteo BerrettiniTotal Games Won20.510.01+51.2%LESSLOWJuan Manuel Cerundoloclay0.5x
3Matteo BerrettiniTotal Tie Breaks0.50.25+50.2%LESSLOWJuan Manuel Cerundoloclay1.0x
4Jakub Mensik🟨 WARMTotal Games Won19.59.77+49.9%LESSLOWAndrey Rublevclay0.5x
5Andrey Rublev🟨 WARMTotal Games Won20.511.23+45.2%LESSLOWJakub Mensikclay0.5x
6Casper Ruud🟨 WARMTotal Games Won20.511.60+43.4%LESSLOWJoao Fonsecaclay0.5x
7Juan Manuel Cerundolo🟨 WARMTotal Games Won19.511.07+43.2%LESSLOWMatteo Berrettiniclay0.5x
8Jil Teichmann🧊 COLDTotal Games Won6.59.03+39.0%MORELOWMirra Andreevaclay0.5x
9Andrey Rublev🟨 WARMTotal Games39.524.97+36.8%LESSLOWJakub Mensikclay0.5x
10Felix Auger-Aliassime🟨 WARMTotal Games39.525.01+36.7%LESSLOWAlejandro Tabiloclay0.5x
11Zachary Svajda🧊 COLDTotal Games Won13.58.55+36.6%LESSLOWFlavio Cobolliclay0.5x
12Casper Ruud🟨 WARMTotal Games38.524.49+36.4%LESSLOWJoao Fonsecaclay0.5x
13Matteo BerrettiniTotal Games38.525.05+34.9%LESSLOWJuan Manuel Cerundoloclay0.5x
14Frances Tiafoe⏳ RTRNTotal Games38.525.17+34.6%LESSLOWMatteo Arnaldiclay0.5x
15Andrey Rublev🟨 WARMAces9.56.38+32.9%LESSLOWJakub Mensikclay0.5x
16Flavio Cobolli🟨 WARMTotal Sets3.52.43+30.7%LESSLOWZachary Svajdaclay1.0x
17Mirra Andreeva🟨 WARMTotal Games18.523.70+28.1%MORELOWJil Teichmannclay0.5x
18Flavio Cobolli🟨 WARMTotal Games32.523.43+27.9%LESSLOWZachary Svajdaclay0.5x
19Jesper De JongTotal Games Won12.59.49+24.1%LESSLOWAlexander Zverevclay0.5x
20Diane Parry🧊 COLDTotal Games Won11.58.75+23.9%LESSLOWMaja Chwalinskaclay0.5x
21Alexander Zverev🟨 WARMTotal Games31.524.53+22.1%LESSLOWJesper De Jongclay0.5x
22Andrey Rublev🟨 WARMBreak Points Won4.53.59+20.3%LESSLOWJakub Mensikclay1.0x
23Anna KalinskayaTotal Games Won11.59.33+18.9%LESSLOWAnastasia Potapovaclay0.5x
24Naomi Osaka🟨 WARMAces3.52.86+18.3%LESSLOWAryna Sabalenkaclay0.5x
25Aryna Sabalenka🟨 WARMTotal Games20.523.60+15.1%MORELOWNaomi Osakaclay0.5x
26Juan Manuel Cerundolo🟨 WARMAces7.56.41+14.5%LESSLOWMatteo Berrettiniclay0.5x
27Madison Keys⏳ RTRNTotal Games21.524.13+12.2%MORELOWDiana Shnaiderclay0.5x
28Naomi Osaka🟨 WARMTotal Games Won8.59.50+11.8%MORELOWAryna Sabalenkaclay0.5x
29Anastasia Potapova🟨 WARMTotal Games21.523.33+8.5%MORELOWAnna Kalinskayaclay0.5x
30Maja Chwalinska⏳ RTRNTotal Games21.523.32+8.4%MORELOWDiane Parryclay0.5x
31Aryna Sabalenka🟨 WARMTotal Games Won12.511.49+8.0%LESSLOWNaomi Osakaclay1.0x
32Anastasia Potapova🟨 WARMTotal Games Won12.511.64+6.9%LESSLOWAnna Kalinskayaclay0.5x
33Mirra Andreeva🟨 WARMBreak Points Won5.05.25+5.1%MORELOWJil Teichmannclay2.0x
34Jesper De JongAces6.56.25+3.8%LESSLOWAlexander Zverevclay0.5x
Kalshi tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-31T13:15:40.024588+00:00
#MatchPickOur PAskEdgeTierSurfaceStakeStatusP&L
PrizePicks tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-05-31T13:15:39.965562+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-31T06:15:48 · flagged threshold = ±3.0pp · 8 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
Karen Khachanov · exact44.0%0.5%-43.5pp · SHARP HIGHERWim 1%
Alex de Minaur · exact44.0%0.6%-43.4pp · SHARP HIGHERWim 1%
Felix Auger-Aliassime · exact44.0%0.7%-43.3pp · SHARP HIGHERWim 1%
Lorenzo Musetti · exact45.0%1.8%-43.2pp · SHARP HIGHERWim 1%, US 1%
Casper Ruud · exact32.5%14.1%-18.4pp · SHARP HIGHERFre 13%, Wim 1%
Novak Djokovic · exact10.5%17.2%+6.7pp · PUBLIC HIGHERWim 12%, US 6%
Alexander Zverev · exact44.5%49.1%+4.6pp · PUBLIC HIGHERFre 43%, Wim 7%, US 4%
Jannik Sinner · exact80.5%76.2%-4.3pp · SHARP HIGHERWim 56%, US 46%
Alexander Bublik · exact3.5%1.4%-2.1pp · SHARP HIGHERWim 1%, US 1%
Daniil Medvedev · exact8.0%6.2%-1.8pp · SHARP HIGHERWim 3%, US 3%
Jack Draper · exact3.5%4.6%+1.1pp · PUBLIC HIGHERWim 3%, US 2%
Ben Shelton · exact4.0%4.4%+0.4pp · PUBLIC HIGHERWim 2%, US 2%
Frances Tiafoe · exact4.5%4.2%-0.3pp · SHARP HIGHERFre 3%, Wim 0%, US 1%
Taylor Fritz · exact4.5%4.6%+0.1pp · PUBLIC HIGHERWim 3%, US 2%

Per-match overlaps

No active per-match overlaps right now (Polymarket tennis volume concentrates in Grand Slam futures).
!
Calibration provisional. Only 18 graded picks; verdicts not actionable until 50+.
Per-stat-type MAE (n_graded=18)
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=13
Ours
PP
Us 5.11
PP 4.96
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=2
Ours
PP
Us 6.75
PP 9.00
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-31.csv. Needs at least 2 PP snapshots in pp_snapshots_tennis/.
ATP top 50
RkPlayerCountryPtsELO overallELO clayELO grassELO hard
1Jannik SinnerITA147502188189316952062
2Carlos AlcarazESP119602070186717171956
3Alexander ZverevGER57051953181715941863
4Novak DjokovicSRB44601938172716361846
5Ben SheltonUSA40701819166315611765
6Felix Auger AliassimeCAN40501835159515171803
7Alex De MinaurAUS38551847167515901806
8Daniil MedvedevRUS37601903168415851845
9Taylor FritzUSA37201808156617221749
10Alexander BublikKAZ33201804169915691703
11Lorenzo MusettiITA31151832176416071723
12Jiri LeheckaCZE26651830164815741754
13Andrey RublevRUS24601788168515161683
14Flavio CobolliITA23401775170415571655
15Karen KhachanovRUS23201717160715671639
16Casper RuudNOR22751851179315021685
17Luciano DarderiITA22601781180214661466
18Learner TienUSA21801847159315061789
19Valentin VacherotMON21031810170214671738
20Arthur FilsFRA20401892174615461771
21Tommy PaulUSA19451851176115871743
22Frances TiafoeUSA19051757161014881719
23Alejandro Davidovich FokinaESP18601755158515451703
24Cameron NorrieGBR17851749163915291682
25Arthur RinderknechFRA17361716157415301631
26Francisco CerundoloARG15701791171114261698
27Jakub MensikCZE15501770157614971747
28Tomas Martin EtcheverryARG15101768167114561636
29Rafael JodarESP1461187817301765
30Joao FonsecaBRA14351803162814951795
31Ignacio BusePER14121785174614821562
32Ugo HumbertFRA13701722150115171697
33Tallon GriekspoorNED13401693158715641645
34Corentin MoutetFRA13231685157615741640
35Brandon NakashimaUSA12951702157115901660
36Alejandro TabiloCHI12781781169115751637
37Alexander BlockxBEL12381824169515081713
38Mariano NavoneARG12151773173714601507
39Denis ShapovalovCAN11701679149114721698
40Zizou BergsBEL11501691155815211631
41Jaume MunarESP11451707159815081635
42Alex MichelsenUSA11151712149315381702
43Tomas MachacCZE10801740159615001682
44Holger RuneDEN10601744166315151710
45Adrian MannarinoFRA10371572138015841569
46Marin CilicCRO10101708153416111635
47Sebastian KordaUSA10001806153715561757
48Miomir KecmanovicSRB9801691158515001595
49Gabriel DialloCAN9751651155415761615
50Ethan QuinnUSA9741711158015091683
WTA top 50
RkPlayerCountryPtsELO overallELO clayELO grassELO hard
1Aryna SabalenkaBLR99602098178915882045
2Elena RybakinaKAZ83132057177115801972
3Iga SwiatekPOL72731951180216581852
4Coco GauffUSA67491987182615191871
5Jessica PegulaUSA62861999172815831901
6Amanda AnisimovaUSA59581916156116381822
7Elina SvitolinaUKR43151983179715501824
8Mirra AndreevaRUS41811941180815131797
9Victoria MbokoCAN37101938172015151891
10Karolina MuchovaCZE33181935158714941869
11Belinda BencicSUI31451888158215611831
12Linda NoskovaCZE30541887161315831763
13Jasmine PaoliniITA27871813169915851741
14Ekaterina AlexandrovaRUS26791722156615841662
15Marta KostyukUKR23871924175714491755
16Naomi OsakaJPN23411831165015141734
17Iva JovicUSA23061825166216011759
18Sorana CirsteaROU19851901167014291797
19Madison KeysUSA19621844171915581766
20Clara TausonDEN19201726154215201679
21Elise MertensBEL18581818161615811714
22Leylah FernandezCAN18441773158215461679
23Diana ShnaiderRUS17961785164015651686
24Anna KalinskayaRUS17921798156215461721
25Emma NavarroUSA17191755164915901613
26Hailey BaptisteUSA16831790166814881667
27Liudmila SamsonovaRUS16351692160316191566
28Marie BouzkovaCZE16311777168914761648
29Ann LiUSA16011762165214781647
30Anastasia PotapovaRUS14701835173214841640
31Jelena OstapenkoLAT14641766166615341621
32Jaqueline CristianROU14141782164714321698
33Cristina BucsaESP14061716145415141684
34Xin Yu WangCHN13711715152215911616
35Sara BejlekCZE13691785173914861653
36Katerina SiniakovaCZE13621765154615781693
37Alexandra EalaPHI13401790150416001748
38Elisabetta CocciarettoITA13201812160715771689
39Emma RaducanuGBR13011739155415771658
40Janice TjenINA1292179916501785
41Barbora KrejcikovaCZE12711754156116061647
42Tereza ValentovaCZE12651846174515171788
43Lois BoissonFRA12641768175914831554
44Marketa VondrousovaCZE12631728160615781609
45Dayana YastremskaUKR12461753165015751594
46Magdalena FrechPOL12381651152114341613
47Laura SiegemundGER12301698156515411592
48Mccartney KesslerUSA12291750154115831688
49Maria SakkariGRE12081707156814861658
50Jessica Bouzas ManeiroESP12001697166315241578
SourceDB / fileLast pulledAgeRowsStatus
Kalshi KXATPMATCHtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m1790fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m1672fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m3716fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m1fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m1810fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m124fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-05-31T13:13:05.908535+00:003m16fresh
elo last computedtennis.sqlite2026-05-31T13:13:03+00:003m20280fresh
rankings last pulledtennis.sqlite2026-05-31T13:13:05+00:003m7538fresh
rankings atp latest datetennis.sqlite2026-05-25157.26h&mdash;stale
rankings wta latest datetennis.sqlite2026-05-25157.26h&mdash;stale
mirror atp scheduletennis.sqlite2026-05-31T13:14:41.660590+00:001m48fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:00339.06h&mdash;stale
h2h n pairstennis.sqlite190184missing&mdash;missing
last player db runtennis.sqlite1780233334missing&mdash;missing
results last_runtennis_results.sqlite[2026-05-31T13:14:43.957973+00:00] 2026-05-31T13:14:41.994888+00:00; dates=['20260530']; rows=887; resolved=853missing&mdash;missing
pp_edges CSVpp_edges_tennis_2026-05-31.csv2026-05-31T13:15:37.815942+00:000m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-05-31.json2026-05-31T13:15:36.617955+00:000m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-05-31.json2026-05-31T13:15:40.472983+00:000m&mdash;fresh
paper trades Kalshipaper_trades_kalshi_tennis_2026-05-31.json2026-05-31T13:15:40.931976+00:000m&mdash;fresh
daily payloaddaily_tennis_2026-05-31.json2026-05-31T13:15:41.582834+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-05-31.csv2026-05-31T13:15:41.118664+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-05-31T13:15:41.056275+00:000m&mdash;fresh