skills/market-mechanics-betting/SKILL.md
Translates beliefs (probabilities) into optimal actions (bet/pass/hedge) using quantitative frameworks including edge calculation, Kelly Criterion bet sizing, forecast extremizing, and Brier score optimization. Use when converting probabilities into decisions, calculating edge against market odds, sizing bets optimally, extremizing aggregated forecasts, improving Brier scores, or when user mentions betting strategy, Kelly Criterion, edge calculation, Brier score, extremizing, or translating belief into action.
npx skillsauth add lyndonkl/claude market-mechanics-bettingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
What would you like to do?
1. Calculate Edge - Determine if you have an advantage 2. Optimize Bet Size (Kelly Criterion) - How much to bet 3. Extremize Aggregated Forecasts - Adjust crowd wisdom 4. Optimize Brier Score - Improve forecast scoring 5. Hedge and Portfolio Betting - Manage multiple bets 6. Learn the Framework - Deep dive into methodology 7. Exit - Return to main forecasting workflow
Determine if you have a betting advantage.
Edge Calculation Progress:
- [ ] Step 1: Identify market probability
- [ ] Step 2: State your probability
- [ ] Step 3: Calculate edge
- [ ] Step 4: Apply minimum threshold
- [ ] Step 5: Make bet/pass decision
Sources: Prediction markets (Polymarket, Kalshi), betting odds, consensus forecasts, base rates
Converting betting odds to probability:
Decimal odds: Probability = 1 / Odds
American (+150): Probability = 100 / (150 + 100) = 40%
American (-150): Probability = 150 / (150 + 100) = 60%
Fractional (3/1): Probability = 1 / (3 + 1) = 25%
After running your forecasting process, state: Your probability: ___%
Edge = Your Probability - Market Probability
Interpretation:
Minimum Edge Thresholds:
| Context | Minimum Edge | Reasoning | |---------|--------------|-----------| | Prediction markets | 5-10% | Fees ~2-5%, need buffer | | Sports betting | 3-5% | Efficient markets | | Private bets | 2-3% | Only model uncertainty | | High conviction | 8-15% | Substantial edge needed |
If Edge > Minimum Threshold → Calculate bet size (Kelly)
If 0 < Edge < Minimum → Pass (edge too small)
If Edge < 0 → Consider opposite bet or pass
Next: Return to menu or continue to Kelly sizing
Calculate optimal bet size to maximize long-term growth.
Kelly Criterion Progress:
- [ ] Step 1: Understand Kelly formula
- [ ] Step 2: Calculate full Kelly
- [ ] Step 3: Apply fractional Kelly
- [ ] Step 4: Consider bankroll constraints
- [ ] Step 5: Execute bet
f* = (bp - q) / b
Where:
f* = Fraction of bankroll to bet
b = Net odds received (decimal odds - 1)
p = Your probability of winning
q = Your probability of losing (1 - p)
Maximizes expected logarithm of wealth (long-term growth rate).
Example:
f* = (0.67 × 0.70 - 0.30) / 0.67 = 0.252 = 25.2%
Full Kelly says: Bet 25.2% of bankroll
Problem with full Kelly: High variance, model error sensitivity, psychological difficulty
Solution: Fractional Kelly
Actual bet = f* × Fraction
Common fractions:
- 1/2 Kelly: f* / 2
- 1/3 Kelly: f* / 3
- 1/4 Kelly: f* / 4
Recommendation: Use 1/4 to 1/2 Kelly for most bets.
Why: Reduces variance by 50-75%, still captures most growth, more robust to model error.
Practical considerations:
Final check:
Place bet.
Next: Return to menu
Adjust crowd wisdom when aggregating multiple predictions.
Extremizing Progress:
- [ ] Step 1: Understand why extremizing works
- [ ] Step 2: Collect individual forecasts
- [ ] Step 3: Calculate simple average
- [ ] Step 4: Apply extremizing formula
- [ ] Step 5: Validate and finalize
The Problem: When you average forecasts, you get regression to 50%.
The Research: Good Judgment Project found aggregated forecasts are more accurate than individuals BUT systematically too moderate. Extremizing (pushing away from 50%) improves accuracy because multiple forecasters share common information, and simple averaging "overcounts" shared information.
Gather predictions from multiple sources. Ensure forecasts are independent, forecasters used good process, and have similar information available.
Average = Sum of forecasts / Number of forecasts
Extremized = 50% + (Average - 50%) × Factor
Where Factor typically ranges from 1.2 to 1.5
Example:
Extremized = 50% + (77.6% - 50%) × 1.3 = 85.88% ≈ 86%
Choosing the Factor:
| Situation | Factor | Reasoning | |-----------|--------|-----------| | Forecasters highly correlated | 1.1-1.2 | Weak extremizing | | Moderately independent | 1.3-1.4 | Moderate extremizing | | Very independent | 1.5+ | Strong extremizing | | High expertise | 1.4-1.6 | Trust the signal |
Default: Use 1.3 if unsure.
Sanity checks:
Next: Return to menu
Improve forecast accuracy scoring.
Brier Score Optimization Progress:
- [ ] Step 1: Understand Brier score formula
- [ ] Step 2: Calculate your Brier score
- [ ] Step 3: Decompose into calibration and resolution
- [ ] Step 4: Identify improvement strategies
- [ ] Step 5: Avoid gaming the metric
Brier Score = (1/N) × Σ(Probability - Outcome)²
Where:
- Probability = Your forecast (0 to 1)
- Outcome = Actual result (0 or 1)
- N = Number of forecasts
Range: 0 (perfect) to 1 (worst). Lower is better.
Interpretation:
| Brier Score | Quality | |-------------|---------| | < 0.10 | Excellent | | 0.10 - 0.15 | Good | | 0.15 - 0.20 | Average | | 0.20 - 0.25 | Below average | | > 0.25 | Poor |
Baseline: Random guessing (always 50%) gives Brier = 0.25
Brier Score = Calibration Error + Resolution + Uncertainty
Calibration Error: Do your 70% predictions happen 70% of the time? (measures bias) Resolution: How often do you assign different probabilities to different outcomes? (measures discrimination)
Strategy 1: Fix Calibration
Strategy 2: Improve Resolution
Strategy 3: Gather Better Information
Wrong approach: "Never predict below 10% or above 90%" (gaming)
Right approach: Predict your TRUE belief. If that's 5%, say 5%. Accept that you'll occasionally get large Brier penalties. Over many forecasts, honesty wins.
The rule: Minimize Brier score by being accurate, not by being safe.
Next: Return to menu
Manage multiple bets and correlations.
Portfolio Betting Progress:
- [ ] Step 1: Identify correlations between bets
- [ ] Step 2: Calculate portfolio Kelly
- [ ] Step 3: Assess hedging opportunities
- [ ] Step 4: Optimize across all positions
- [ ] Step 5: Monitor and rebalance
The problem: If bets are correlated, true exposure is higher than sum of individual bets.
Correlation examples:
Simplified heuristic:
When to hedge:
Hedging example:
View portfolio holistically. Reduce correlated bets, maintain independence where possible.
Weekly review: Check if probabilities changed, assess hedging opportunities, rebalance if needed After major news: Update probabilities, consider hedging, recalculate Kelly sizes Monthly audit: Portfolio correlation check, bankroll adjustment, performance review
Next: Return to menu
Deep dive into the methodology.
📄 Betting Theory Fundamentals
📄 Kelly Criterion Deep Dive
📄 Scoring Rules and Calibration
Next: Return to menu
Convert beliefs into optimal decisions using edge calculation, Kelly sizing, extremizing, and proper scoring.
bayesian-reasoning-calibration for probability updates📁 resources/
Ready to start? Choose a number from the menu above.
development
--- name: zettel-note description: The note-writing discipline for this vault's evergreen knowledge graph, modeled on a Zettelkasten reading companion and governed by the vault conventions. Enforces declarative-claim titles, one claim per note (atomicity), own-words prose with no block quotes, the piped [[slug|Title]] link form, the labeled link-relationship vocabulary (Confirms/Contradicts/Extends/Context/Prerequisite/Builds-on/Applies/Example-of/Contrasts-with), 3-6 links per note, and search-
development
Plans between-round FIFA World Cup Fantasy transfers — budgets the round's free transfer(s), forces out players whose nation has been eliminated, chases fixture-swing drops, upgrades on value, and decides when a rebuild is large enough to fire the Wildcard instead of spending free transfers one at a time. Ranks candidate in/out pairs by EV gain over each player's remaining survival horizon (delta xEV weighted by progression_carry) MINUS transfer cost (a free transfer is cheap, a points hit is real, churning the squad for marginal swings is a critic flag), and tags forced/fixture/upgrade priority. Emits a `transfer-plan` signal. Use when called by wc-squad-architect (whose transfer work this skill is the engine for) and by the strategists in the populate stage when their candidate is transfer-adjacent rather than a full rebuild.
testing
Reads and updates the FIFA World Cup Fantasy tournament state machine (footballfantasy/context/tournament-state.md) — the temporal backbone tracking phase (pre-tournament → group MD1-3 → R32 → R16 → QF → SF → final), budget ($100m group / $105m knockouts), nation cap (3 group, loosening in knockouts), chips remaining, surviving nations, each owned player's elimination-risk horizon, and deadlines. Validates state on load (count/feasibility checks), applies phase transitions, and appends to the append-only state log (never silent overwrite). Use to load state at the start of a run and to commit state changes after the manager makes a move.
development
Validates and persists FIFA World Cup Fantasy signal files to signals/YYYY-MM-DD-<type>.md. Checks the required frontmatter (type, round, date, emitted_by, confidence, source_urls), range-checks declared numeric signals, confirms every factual claim carries a source URL or "manager-provided", rejects unknown signal types, and refuses to persist a signal that fails validation (logging the failure instead). Keeps the inter-agent signal layer auditable so downstream agents can trust what they read and never re-derive it. Use whenever an agent or skill writes a signal.