Closing Line Value (CLV)
Aggregierte Closing-Line-Value-Statistiken für die bewerteten +EV-Vorhersagen von SharpAPI. Für jede +EV-Gelegenheit, die die Engine markiert, erfasst das System später die Schlusslinie der Sharp-Referenz und bewertet den Pick dagegen — dieser Endpoint liefert diese Bewertungen, aggregiert entlang der von Ihnen gewählten Dimension (group_by), zusammen mit realisierten Gewinn-/Verlust-Ergebnissen, sofern das Spielergebnis bekannt ist.
GET /api/v1/historical/clvEnterprise-Tier erforderlich. Die /api/v1/historical/*-Aggregat-Endpoints sind durch das history-Feature gesperrt. Niedrigere Tiers erhalten 403 tier_restricted. Wenn Sie Pro oder Sharp nutzen und Schlusslinien-Daten benötigen, verwenden Sie Schlussquoten — rohe Schlusspreise pro Event, verfügbar in Ihrem Tier.
Wie der CLV berechnet wird
Wenn ein Event vom Pre-Match- in den Live-Status übergeht, erfasst die Plattform den letzten Pre-Match-Preis jedes Buchmachers als Schlusslinie für dieses Event. Der Schlusspreis der Sharp-Referenz (devig_book — typischerweise Pinnacle) wird mit der Power-Methode zu einer No-Vig-Schlusswahrscheinlichkeit devigged, und jede bewertete Vorhersage wird wie folgt bewertet:
CLV% = (closing_no_vig_prob × entry_decimal_odds − 1) × 100Dabei ist entry_decimal_odds der Preis zu dem Zeitpunkt, an dem SharpAPI die Gelegenheit markiert hat. Ein positiver CLV bedeutet, dass der markierte Preis die Schlusslinie geschlagen hat — Sie hätten zu besseren Quoten wetten können, als der finale faire Marktwert implizierte.
Die Daten stammen aus dem historischen ClickHouse-Speicher. Aggregate werden über logische Vorhersagen berechnet — wiederholte Preis-Snapshots desselben Picks (gleiches Event, gleicher Markt, gleiche Auswahl, gleicher Buchmacher, gleiche Linie) werden vor dem Zählen zu einer Zeile zusammengefasst, sodass ein Pick, der zu mehreren Preisen erneut beobachtet wurde, nicht mehrfach gezählt wird.
Query-Parameter
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
from | string | vor 7 Tagen | Startdatum (YYYY-MM-DD oder ISO 8601). Wird auf das Verlaufsfenster Ihres Tiers begrenzt. |
to | string | heute | Enddatum (YYYY-MM-DD oder ISO 8601). |
group_by | string | sportsbook | Aggregationsdimension. Eine von: sportsbook, sport, league, market, day, devig_book. |
sport | string | alle | Filter nach Sportart(en), kommagetrennt (z. B. basketball,baseball). |
league | string | alle | Filter nach Liga(en), kommagetrennt (z. B. nba,mlb). |
sportsbook | string | alle | Filter nach Sportsbook(s), kommagetrennt. |
devig_book | string | alle | Filter nach der Sharp-Referenz, gegen die der Pick bepreist wurde (z. B. pinnacle). |
Verlaufsfenster nach Tier
Datumsbereiche werden auf das Rückblickfenster Ihres Tiers begrenzt (ersichtlich in meta.tier_window_days):
| Tier | Fenster |
|---|---|
| Free | 7 Tage |
| Hobby | 30 Tage |
| Pro | 90 Tage |
| Sharp | 365 Tage |
| Enterprise | Unbegrenzt |
Filtern Sie nach devig_book=pinnacle für das aussagekräftige Signal. Die Validität des CLV wird von der Sharp-Referenz dominiert, gegen die der Pick bepreist wurde. Pinnacle-referenzierter CLV ist die prädiktive Serie; Picks, die gegen Fallback-Referenzen (z. B. bookmaker) bepreist wurden, weisen strukturell negativen CLV auf und sollten nicht als Edge gelesen werden. Gruppieren Sie nach devig_book, um die Aufteilung zu sehen.
Beispielanfragen
cURL
# CLV nach Sportsbook für die letzten 7 Tage
curl -X GET "https://api.sharpapi.io/api/v1/historical/clv?group_by=sportsbook" \
-H "X-API-Key: YOUR_API_KEY"
# Nur Pinnacle-referenzierter CLV, gruppiert nach Sportart
curl -X GET "https://api.sharpapi.io/api/v1/historical/clv?devig_book=pinnacle&group_by=sport" \
-H "X-API-Key: YOUR_API_KEY"
# Tagesweiser CLV für DraftKings-Picks über einen Datumsbereich
curl -X GET "https://api.sharpapi.io/api/v1/historical/clv?sportsbook=draftkings&group_by=day&from=2026-06-01&to=2026-06-08" \
-H "X-API-Key: YOUR_API_KEY"Antwort
Erfolg (200)
{
"success": true,
"data": {
"date_range": {
"from": "2026-06-03T14:12:30.437",
"to": "2026-06-10T14:12:30.437"
},
"group_by": "sportsbook",
"groups": [
{
"group_key": "novig",
"total_graded": 1294,
"wins": 262,
"losses": 200,
"win_rate": 0.5670995670995671,
"avg_clv_percent": 0.673342797764432,
"avg_ev_percent": 1.613983921390446,
"total_predictions": 1555
},
{
"group_key": "prophetx",
"total_graded": 964,
"wins": 191,
"losses": 214,
"win_rate": 0.47160493827160493,
"avg_clv_percent": 0.07641414602522267,
"avg_ev_percent": 1.4343012769214647,
"total_predictions": 1331
}
]
},
"meta": {
"filters": {
"devig_book": null,
"group_by": "sportsbook",
"league": null,
"sport": null,
"sportsbook": null
},
"source": "clickhouse",
"tier_window_days": "unlimited",
"updated_at": "2026-06-10T14:12:58.75061216Z"
}
}Ein leeres groups-Array ist eine gültige Antwort, wenn für die angefragten Filter und den Datumsbereich keine bewerteten Vorhersagen existieren — kein Fehler.
Drei verschiedene Zählungen — vermischen Sie die Nenner nicht. total_predictions zählt jeden verfolgten Pick (einschließlich nie bewerteter). total_graded zählt Picks mit einer CLV-Bewertung (eine Schlusslinie wurde erfasst und verglichen). wins + losses zählt die typischerweise kleinere Teilmenge, deren Spielergebnis ebenfalls abgerechnet ist — und win_rate wird nur über diese Teilmenge berechnet. Eine Gruppe kann legitim total_graded: 1294 neben wins + losses: 462 aufweisen. win_rate ist null, wenn eine Gruppe keine abgerechneten Wetten hat.
Fehlerantworten
403 Tier Restricted
{
"error": {
"code": "tier_restricted",
"message": "This endpoint requires Enterprise tier or higher",
"docs": "https://sharpapi.io/pricing",
"tier": "pro",
"required_tier": "enterprise"
}
}400 Validation Error
{
"error": {
"code": "validation_error",
"message": "Invalid group_by. Must be one of: day, devig_book, league, market, sport, sportsbook"
}
}Antwortfelder
data-Objekt
| Feld | Typ | Beschreibung |
|---|---|---|
date_range | object | Tatsächlich verwendete from/to-Werte nach Tier-Begrenzung |
group_by | string | Die für die Aggregation verwendete Dimension |
groups | array | Array von Gruppenzeilen |
Felder der Gruppenzeile
| Feld | Typ | Beschreibung |
|---|---|---|
group_key | string | Der Gruppenbezeichner (Sportsbook-Name, Sportart, Liga, Markttyp, YYYY-MM-DD-Datum oder Devig-Book) |
total_graded | integer | Logische Vorhersagen mit einer CLV-Bewertung (Schlusslinie erfasst und verglichen) |
wins | integer | Bewertete Vorhersagen, deren Spielergebnis als Gewinn abgerechnet wurde |
losses | integer | Bewertete Vorhersagen, deren Spielergebnis als Verlust abgerechnet wurde |
win_rate | number | null | wins / (wins + losses). Wird nur über die abgerechnete Teilmenge berechnet; null, wenn keine abgerechneten Wetten in der Gruppe existieren |
avg_clv_percent | number | null | Durchschnittlicher CLV% über die bewerteten Vorhersagen. Positiv = markierte Preise haben die Schlusslinie im Durchschnitt geschlagen. null, wenn nicht berechenbar |
avg_ev_percent | number | null | Durchschnittlicher erwarteter Wert in % zum Erkennungszeitpunkt für die Vorhersagen der Gruppe. null, wenn nicht berechenbar |
total_predictions | integer | Alle verfolgten Vorhersagen in der Gruppe, einschließlich (noch) nicht bewerteter |
meta-Objekt
| Feld | Typ | Beschreibung |
|---|---|---|
filters | object | Echo der angewendeten Filter (sport, league, sportsbook, devig_book, group_by); null für nicht verwendete Filter |
source | string | "clickhouse" — der historische Analytics-Speicher |
tier_window_days | integer | string | Maximaler Rückblick für Ihr Tier (z. B. 90) oder "unlimited" |
updated_at | string | ISO 8601 Antwort-Zeitstempel |
Interpretation des CLV
| CLV% | Interpretation |
|---|---|
| > +2% | Markierte Preise haben die Schlusslinie durchgängig deutlich geschlagen — hoher erfasster Wert |
| +0,5% bis +2% | Preise haben die Schlusslinie leicht geschlagen — typisch für Soft Books gegenüber einer Sharp-Referenz |
| -0,5% bis +0,5% | Marktnah — effiziente Preisbildung oder gemischte Ergebnisse |
| < -0,5% | Preise haben sich zum Schluss hin verengt — spätes Steam oder Sharp-Side-Action |
CLV ist nicht ROI — lesen Sie ihn mit den richtigen Vorbehalten.
- Die Markteffizienz variiert. In den schärfsten, liquidesten Märkten (zum Beispiel NBA-Spreads und -Totals sowie Player Props der großen Ligen) führt das Schlagen der Schlusslinie nicht zuverlässig zu realisiertem Gewinn — Closing-Line-Beats spiegeln dort oft Rauschen in einem effizienten Markt wider statt Edge. In weicheren Märkten bleibt positiver CLV der beste Frühindikator für langfristige Profitabilität.
- Nutzen Sie
win_ratezusammen mitavg_clv_percent. Der Endpoint liefert realisierte Ergebnisse genau aus diesem Grund: Eine Gruppe mit positivem CLV, aber einer abgerechneten Bilanz unterhalb des Break-even über eine große Stichprobe sagt Ihnen, dass der CLV dort nicht konvertiert. - Achten Sie auf die Stichprobengröße. Gruppen mit kleinem
total_gradedoder wenigen abgerechneten Wetten (wins + losses) sind Rauschen — vergleichen Sie Gruppen nur bei aussagekräftigem Volumen. - Die Sharp-Referenz ist entscheidend. Nur Sharp-referenzierter CLV (Filter
devig_book=pinnacle) trägt diese Bedeutung; Fallback-referenzierte Zeilen nicht.
Verwandte Endpoints
- Schlussquoten — Rohe Schlusspreise pro Event (ab Pro-Tier)
- Schlussquoten nach Datum — Historische Schlusspreise pro Event für ein bestimmtes Datum
- +EV-Gelegenheiten — Echtzeit-Wetten mit positivem erwarteten Wert
- Quoten-Snapshot — Aktuelle Pre-Match- und Live-Quoten