T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-05-31 16:13 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 1m · 1792rKalshi KXWTAMATCH 1m · 1674rKalshi KXFRENCHOPEN 1mKalshi KXFOPENMENSINGLE 1mKalshi KXATPGRANDSLAM 1m · 14rKalshi KXUSOPEN 1mKalshi KXATPSETWINNER 1m · 3716rKalshi KXATPTOTALSETS 1mKalshi KXATPSETSWEEP 1m · 1rKalshi KXATPGAMESPREAD 1mKalshi KXATPEXACTMATCH 1m · 1810rKalshi KXWTADOUBLES 1m · 124rKalshi KXATP1RANK 1m · 16relo last computed 3.0h · 20280rrankings last pulled 3.0h · 7538rrankings atp latest date 6drankings wta latest date 6dmirror atp schedule 0m · 62rh2h last computed 14dh2h n pairs missinglast player db run missingresults last_run missingpp_edges CSV 0mkalshi edges JSON 0mpaper trades PP 3.0hpaper trades Kalshi 3.0hdaily payload 0mPP movement 0mPP calibration 3.0h
Matches today
6
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
16:13
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 +10.5pp
Ask 59¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
#MatchTournamentRoundSurfaceStartELO AELO BELO diffKalshi event
1Mirra Andreeva vs Jil TeichmannRoland GarrosRound 4clayMay 31 15:3518081671+137KXWTAMATCH-26MAY31ANDTEI
2Mirra Andreeva vs Jil TeichmannRoland GarrosRound 4clayMay 31 15:3518081671+137KXWTAMATCH-26MAY31ANDTEI
3Jakub Mensik vs Andrey RublevRoland GarrosRound 4clayMay 31 17:0015761685-109KXATPMATCH-26MAY31MENRUB
4Jakub Mensik vs Andrey RublevRoland GarrosRound 4clayMay 31 17:0015761685-109KXATPMATCH-26MAY31MENRUB
5Casper Ruud vs Joao FonsecaRoland GarrosRound 4clayMay 31 18:1517931628+166KXATPSETWINNER-26MAY31RUUFON-2
6Casper Ruud vs Joao FonsecaRoland GarrosRound 4clayMay 31 18:1517931628+166KXATPSETWINNER-26MAY31RUUFON-2
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Zachary Svajda vs Flavio CobolliZachary Svajda52.3%16.0%16¢+36.3ppLOWPAPER70689hardRound Of 16+0.363
2Casper Ruud vs Joao FonsecaJoao Fonseca58.3%38.0%38¢+20.3ppLOWPAPER289642hardRound Of 16+0.203
3Naomi Osaka vs Aryna SabalenkaNaomi Osaka39.7%20.0%20¢+19.7ppLOWPAPER36781clayRound 4+0.197
4Mirra Andreeva vs Jil TeichmannJil Teichmann36.0%21.0%21¢+15.0ppLOWPAPER1549181clayRound 4+0.150
5Juan Manuel Cerundolo vs Matteo BerrettiniJuan Manuel Cerundolo55.7%43.0%43¢+12.7ppLOWPAPER13258clayRound 4+0.127
6Madison Keys vs Diana ShnaiderMadison Keys69.5%59.0%59¢+10.5ppLOWPAPER13742clayRound 4+0.105
7Frances Tiafoe vs Matteo ArnaldiFrances Tiafoe61.7%53.0%53¢+8.7ppLOWPAPER26709hardRound Of 16+0.087
8Elina Svitolina vs Marta KostyukElina Svitolina53.2%47.0%47¢+6.2ppLOWPAPER1507clayQuarterfinal+0.062
9Diane Parry vs Maja ChwalinskaMaja Chwalinska66.8%63.0%63¢+3.8ppLOWSKIP4645clayRound 4+0.038
10Jakub Mensik vs Andrey RublevAndrey Rublev57.8%55.0%55¢+2.8ppLOWPAPER814531clayRound 4+0.028
11Felix Auger-Aliassime vs Alejandro TabiloAlejandro Tabilo38.4%37.0%37¢+1.4ppLOWSKIP22989hardRound Of 16+0.014
12Anna Kalinskaya vs Anastasia PotapovaAnna Kalinskaya37.2%36.0%36¢+1.2ppLOWSKIP4519clayRound 4+0.012
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Jakub Mensik🟨 WARMAces13.56.30+53.3%LESSLOWAndrey Rublevclay0.5x
2Felix Auger-Aliassime🟨 WARMTotal Games Won20.59.85+52.0%LESSLOWAlejandro Tabiloclay0.5x
3Matteo BerrettiniTotal Games Won20.510.01+51.2%LESSLOWJuan Manuel Cerundoloclay0.5x
4Jakub Mensik🟨 WARMTotal Games Won19.59.77+49.9%LESSLOWAndrey Rublevclay0.5x
5Frances Tiafoe⏳ RTRNTotal Games Won19.510.41+46.6%LESSLOWMatteo Arnaldiclay0.5x
6Matteo Arnaldi🟨 WARMTotal Games Won19.510.52+46.1%LESSLOWFrances Tiafoeclay0.5x
7Andrey Rublev🟨 WARMTotal Games Won20.511.23+45.2%LESSLOWJakub Mensikclay0.5x
8Casper Ruud🟨 WARMTotal Games Won20.511.60+43.4%LESSLOWJoao Fonsecaclay0.5x
9Juan Manuel Cerundolo🟨 WARMTotal Games Won19.511.07+43.2%LESSLOWMatteo Berrettiniclay0.5x
10Alejandro Tabilo🟨 WARMTotal Games Won19.511.13+42.9%LESSLOWFelix Auger-Aliassimeclay0.5x
11Andrey Rublev🟨 WARMTotal Games39.524.97+36.8%LESSLOWJakub Mensikclay0.5x
12Felix Auger-Aliassime🟨 WARMTotal Games39.525.01+36.7%LESSLOWAlejandro Tabiloclay0.5x
13Zachary Svajda🧊 COLDTotal Games Won13.58.55+36.6%LESSLOWFlavio Cobolliclay0.5x
14Casper Ruud🟨 WARMTotal Games38.524.49+36.4%LESSLOWJoao Fonsecaclay0.5x
15Frances Tiafoe⏳ RTRNTotal Games39.525.17+36.3%LESSLOWMatteo Arnaldiclay0.5x
16Matteo BerrettiniTotal Games38.525.05+34.9%LESSLOWJuan Manuel Cerundoloclay0.5x
17Elvina Kalieva🟨 WARMTotal Games Won8.511.42+34.4%MORELOWTalia Gibsonclay1.0x
18Andrey Rublev🟨 WARMAces9.56.38+32.9%LESSLOWJakub Mensikclay0.5x
19Ajla Tomljanovic🧊 COLDTotal Games Won12.58.51+31.9%LESSLOWKatie Swanclay1.0x
20Taylah Preston🟨 WARMTotal Games Won12.58.52+31.8%LESSLOWAlicia Dudeneyclay1.0x
21Flavio Cobolli🟨 WARMTotal Sets3.52.43+30.7%LESSLOWZachary Svajdaclay1.0x
22Flavio Cobolli🟨 WARMTotal Games32.523.43+27.9%LESSLOWZachary Svajdaclay0.5x
23Alexandra EalaTotal Games19.524.24+24.3%MORELOWPriscilla Honclay1.0x
24Diane Parry🧊 COLDTotal Games Won11.58.75+23.9%LESSLOWMaja Chwalinskaclay0.5x
25Priscilla HonTotal Games Won8.510.46+23.1%MORELOWAlexandra Ealaclay1.0x
26Mika Stojsavljevic🧊 COLDTotal Games Won11.58.96+22.1%LESSLOWEmerson Jonesclay1.0x
27Talia GibsonTotal Games19.523.75+21.8%MORELOWElvina Kalievaclay1.0x
28Katie Swan🧊 COLDTotal Games Won9.511.43+20.3%MORELOWAjla Tomljanovicclay1.0x
29Alicia Dudeney🟨 WARMTotal Games Won10.512.48+18.9%MORELOWTaylah Prestonclay1.0x
30Anna KalinskayaTotal Games Won11.59.33+18.9%LESSLOWAnastasia Potapovaclay0.5x
31Naomi Osaka🟨 WARMAces3.52.86+18.3%LESSLOWAryna Sabalenkaclay0.5x
32Lulu Sun🧊 COLDTotal Games20.524.07+17.4%MORELOWMary Stoianaclay1.0x
33Emerson Jones🟨 WARMTotal Games20.523.62+15.2%MORELOWMika Stojsavljevicclay1.0x
34Aryna Sabalenka🟨 WARMTotal Games20.523.60+15.1%MORELOWNaomi Osakaclay0.5x
35Tatjana MariaTotal Games Won12.510.65+14.8%LESSLOWLinda Fruhvirtovaclay1.0x
36Juan Manuel Cerundolo🟨 WARMAces7.56.41+14.5%LESSLOWMatteo Berrettiniclay0.5x
37Hanne Vandewinkel🧊 COLDTotal Games21.524.49+13.9%MORELOWKayla Dayclay1.0x
38Marta Kostyuk🟨 WARMTotal Games21.524.40+13.5%MORELOWElina Svitolinaclay0.5x
39Tatjana MariaTotal Games21.524.36+13.3%MORELOWLinda Fruhvirtovaclay1.0x
40Madison Keys⏳ RTRNTotal Games21.524.13+12.2%MORELOWDiana Shnaiderclay0.5x
41Elina SvitolinaBreak Points Won4.55.05+12.2%MORELOWMarta Kostyukclay1.0x
42Naomi Osaka🟨 WARMTotal Games Won8.59.50+11.8%MORELOWAryna Sabalenkaclay0.5x
43Anastasia Potapova🟨 WARMTotal Games21.523.33+8.5%MORELOWAnna Kalinskayaclay0.5x
44Maja Chwalinska⏳ RTRNTotal Games21.523.32+8.4%MORELOWDiane Parryclay0.5x
45Aryna Sabalenka🟨 WARMTotal Games Won12.511.49+8.0%LESSLOWNaomi Osakaclay1.0x
46Anastasia Potapova🟨 WARMTotal Games Won12.511.64+6.9%LESSLOWAnna Kalinskayaclay0.5x
47Harriet Dart🟨 WARMTotal Games20.521.64+5.5%MORELOWNikola Bartunkovaclay1.0x
48Taylah Preston🟨 WARMTotal Games21.520.41+5.1%LESSLOWAlicia Dudeneyclay1.0x
49Ajla Tomljanovic🧊 COLDTotal Games21.522.38+4.1%MORELOWKatie Swanclay1.0x
50Marta Kostyuk🟨 WARMBreak Points Won5.04.80+3.9%LESSLOWElina Svitolinaclay1.0x
51Mary Stoiana🟨 WARMTotal Games Won11.511.30+1.7%LESSLOWLulu Sunclay1.0x
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-31T09:13:21 · flagged threshold = ±3.0pp · 7 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%1.0%-43.0pp · SHARP HIGHERWim 1%
Lorenzo Musetti · exact45.0%2.1%-42.9pp · SHARP HIGHERWim 1%, US 1%
Felix Auger-Aliassime · exact42.0%1.0%-41.0pp · SHARP HIGHERWim 1%
Casper Ruud · exact32.5%14.7%-17.8pp · SHARP HIGHERFre 14%, Wim 1%
Novak Djokovic · exact10.5%17.1%+6.6pp · PUBLIC HIGHERWim 12%, US 6%
Jannik Sinner · exact80.5%76.2%-4.3pp · SHARP HIGHERWim 56%, US 46%
Alexander Zverev · exact44.5%47.3%+2.8pp · PUBLIC HIGHERFre 41%, Wim 7%, US 4%
Alexander Bublik · exact3.5%1.4%-2.1pp · SHARP HIGHERWim 1%, US 1%
Daniil Medvedev · exact8.0%6.1%-1.9pp · SHARP HIGHERWim 3%, US 3%
Jack Draper · exact4.0%4.6%+0.6pp · PUBLIC HIGHERWim 3%, US 2%
Ben Shelton · exact4.0%4.4%+0.4pp · PUBLIC HIGHERWim 2%, US 2%
Frances Tiafoe · exact4.5%4.3%-0.2pp · 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
#PlayerStatOppOpenLatestDiffAbsDirection
1Frances TiafoeTotal GamesMatteo Arnaldi38.539.5+1.001.00UP
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-31T16:11:22.637695+00:001m1792fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m1674fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m3716fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m1fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m1810fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m124fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-05-31T16:11:22.637695+00:001m16fresh
elo last computedtennis.sqlite2026-05-31T13:13:03+00:003.01h20280aging
rankings last pulledtennis.sqlite2026-05-31T13:13:05+00:003.01h7538aging
rankings atp latest datetennis.sqlite2026-05-25160.22h&mdash;stale
rankings wta latest datetennis.sqlite2026-05-25160.22h&mdash;stale
mirror atp scheduletennis.sqlite2026-05-31T16:12:56.298064+00:000m62fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:00342.02h&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-31T16:13:21.479932+00:000m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-05-31.json2026-05-31T16:13:19.453942+00:000m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-05-31.json2026-05-31T13:15:40.472983+00:002.96h&mdash;aging
paper trades Kalshipaper_trades_kalshi_tennis_2026-05-31.json2026-05-31T13:15:40.931976+00:002.96h&mdash;aging
daily payloaddaily_tennis_2026-05-31.json2026-05-31T16:13:08.504076+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-05-31.csv2026-05-31T16:13:03.110655+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-05-31T13:15:41.056275+00:002.96h&mdash;aging