Back to skills
SKILL.md
Betting Strategy
ASecurityDetails the core betting strategy, including edge calculation, sport-specific thresholds, Kelly Criterion sizing, and portfolio optimization.
- 666 stars
- 0 votes
- 3 copies
- 33 views
- Added February 8, 2026
Security analysis
100/100npx -y skills add majiayu000/claude-skill-registry --skill betting-strategy --agent claude-codeAre you the author of Betting Strategy?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-betting-strategy)---
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
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.