You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(ev): correct kelly_percent units (0-100, not 0.0-1.0) + full-Kelly safety note (#207)
Issue 1 from #237: docs described kelly_percent as a fraction (0.0-1.0) but the
API actually emits a percentage (0-100). A consumer reading the docs literally
would interpret 34.43 as "3,443% of bankroll" or crash on values >1.0.
Fixes the schema in 6 doc pages:
- api-reference/opportunities-ev.mdx — schema row, 2 example values, Kelly
Criterion section (formula + sizing guide rewritten in 0-100 units)
- quickstart.mdx — example value 0.0218 -> 2.18
- api-reference/websocket.mdx — 2 example values 0.038 -> 3.8
- api-reference/stream.mdx — example value 0.038 -> 3.8
- examples/value-betting.mdx — Discord embed + Telegram template now
format as percentage with .toFixed(2)
- sdks/python.mdx — print formatters changed from {:.1%} (which
multiplies by 100, wrong for already-percentage values) to {:.2f}%
Adds an explicit safety callout in the Kelly Criterion section explaining
that the field is full Kelly with no quality-of-signal adjustment, and
recommending fractional Kelly (1/4 or 1/2) plus 1-2% bankroll cap when
warnings is non-empty or confidence_score < 80. This addresses the
secondary concern in #237 with documentation rather than a wire change.
Issue 2 (publishing full Kelly without quality adjustment) requires a
product call on whether to:
a) keep emitting full Kelly + add a kelly_percent_adjusted field, or
b) change kelly_percent in place + add kelly_percent_raw
Both options affect the wire and need migration discussion. Documenting
the safety note now is the minimum correct action.
Closes#237 (Issue 1)
Refs #237 (Issue 2 — needs product decision)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|`start_time`| string\|null | ISO 8601 event start time |
295
295
|`is_live`| boolean | Whether the event is currently live |
296
296
|`confidence_score`| number | Multi-factor confidence score (0-100) |
297
-
|`kelly_percent`| number\|null | Kelly criterion optimal bet fraction (0.0 to 1.0)|
297
+
|`kelly_percent`| number\|null |Full-Kelly optimal bet **percentage** of bankroll (0–100, e.g. `2.1` = 2.1% of bankroll). Most practitioners apply a fractional Kelly multiplier (¼ or ½) before sizing — see [Kelly Criterion](#kelly-criterion) below.|
298
298
|`book_count`| number | Number of sportsbooks offering this market |
299
299
|`arb_available`| boolean | Whether an arbitrage exists on this market |
300
300
|`arb_profit`| number\|null | Arbitrage profit percentage if available |
@@ -391,20 +391,26 @@ We recommend setting `min_ev=2` for most use cases. Marginal EV (below 2%) can b
391
391
392
392
## Kelly Criterion
393
393
394
-
The `kelly_percent` field tells you the optimal fraction of your bankroll to wager according to the Kelly criterion (0.0 to 1.0, e.g. `0.021` = 2.1%):
394
+
The `kelly_percent` field is the optimal **percentage** of your bankroll (0–100) to wager according to the full Kelly criterion. A value of `2.1` means full Kelly recommends 2.1% of bankroll; a value of `34.4` means 34.4%.
**This is full Kelly, computed from the model's fair probability with no quality-of-signal adjustment.** Full Kelly is mathematically optimal only when the true probability is known exactly. In practice, sharp anchors carry uncertainty (single sharp reference, late-arriving live odds, low cross-validation), and full Kelly can produce dangerously large stake suggestions. See `confidence_score`, `cross_ref_count`, and `warnings` (e.g. `SINGLE_SHARP_REF`, `LIVE_STALE_ODDS`) before sizing.
402
+
403
+
**Use a fractional Kelly multiplier**: most practitioners apply ¼ or ½ Kelly (`kelly_percent × 0.25` or `× 0.5`). Cap any single bet at 1–2% of bankroll regardless of what `kelly_percent` reports, especially when `warnings` is non-empty or `confidence_score < 80`.
| 5%+ | Very aggressive | Excellent edge; consider fractional Kelly (half or quarter)|
410
+
| < 1 | Low | Small edge, consider skipping |
411
+
| 1 – 3| Moderate | Standard bet size — quarter Kelly = 0.25–0.75% of bankroll|
412
+
| 3 – 5| Aggressive | Strong edge — quarter Kelly = 0.75–1.25% of bankroll|
413
+
| 5+ | Very aggressive | Excellent edge or sharp-signal artifact; cap at 1–2% of bankroll regardless|
408
414
409
415
<Callouttype="warning">
410
416
**Variance Warning:** +EV does not guarantee profit on every bet. Over 100 bets at 5% EV, actual results can range widely. The edge only materializes over hundreds or thousands of bets. Never bet more than you can afford to lose.
0 commit comments