Details the core betting strategy, including edge calculation, sport-specific thresholds, Kelly Criterion sizing, and portfolio optimization.
Scanned 2/12/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill betting-strategy --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Betting Strategy?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-betting-strategy)More formats (shields.io, HTML) on the badges page.
---
name: betting-strategy
description: Details the core betting strategy, including edge calculation, sport-specific thresholds, Kelly Criterion sizing, and portfolio optimization.
version: 1.0.0
---
# Betting Strategy
## Edge Calculation
```python
edge = elo_probability - market_probability
```
A bet is recommended when:
1. `elo_prob > threshold` (high confidence)
2. `edge > 0.05` (5%+ edge over market)
## Sport Thresholds
| Sport | Threshold | Min Edge | Notes |
|-------|-----------|----------|-------|
| NBA | 73% | 5% | High-scoring, predictable |
| NHL | 66% | 5% | High variance sport |
| MLB | 67% | 5% | Lower home advantage |
| NFL | 70% | 5% | Small sample size |
## Confidence Levels
```python
def get_confidence(elo_prob, threshold):
if elo_prob > threshold + 0.10:
return "HIGH"
elif elo_prob > threshold:
return "MEDIUM"
return None # Don't bet
```
## Lift/Gain Analysis
Validate model quality by decile:
```python
from lift_gain_analysis import analyze_sport
overall, current = analyze_sport('nba')
# Key metrics:
# - Lift > 1.0: Better than random
# - Top decile lift > 1.3: Strong signal
# - Gain %: Cumulative wins captured
```
**Interpretation:**
- Decile 10 (highest prob): Should have highest lift
- If lift < 1.0 in high deciles, model is miscalibrated
- Set threshold where lift starts exceeding 1.2-1.3
## Kelly Criterion
Optimal bet sizing:
```python
def kelly_fraction(win_prob, odds):
"""Calculate Kelly bet fraction."""
# odds in decimal format (2.0 = even money)
q = 1 - win_prob
b = odds - 1
return (win_prob * b - q) / b
# Use fractional Kelly (25-50%) to reduce variance
bet_fraction = kelly_fraction(prob, odds) * 0.25
```
## Portfolio Optimization
```python
from portfolio_optimizer import optimize_bets
# Optimize across all opportunities
optimized = optimize_bets(
opportunities=bets,
bankroll=1000,
max_exposure=0.10, # 10% max per bet
correlation_penalty=0.5 # Reduce correlated bets
)
```
## Bet Tracking
All bets saved to `placed_bets` table:
```python
default_db.execute("""
INSERT INTO placed_bets
(bet_id, game_id, sport, ticker, side, amount, price, elo_prob, edge, placed_at)
VALUES (...)
""")
```
## CLV (Closing Line Value)
Track if we beat the closing line:
```python
from clv_tracker import calculate_clv
clv = calculate_clv(bet_id)
# Positive CLV = consistently beating market
```
## Files to Reference
- `plugins/portfolio_optimizer.py` - Kelly and optimization
- `plugins/lift_gain_analysis.py` - Model validation
- `plugins/clv_tracker.py` - CLV tracking
- `docs/VALUE_BETTING_THRESHOLDS.md` - Threshold analysis
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!