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.
testing
Cluster a conference's event records into a small set of coarse themes with finer sub-clusters, an explicit outlier bucket, and soft (multi-membership) affinities — using the hybrid embed-then-label pipeline (embed abstracts, reduce, density-cluster, then LLM-label the clusters) when embedding libraries are available, and an LLM-reasoned hierarchical fallback when they are not. Embeddings do the grouping; the LLM only names the groups. Conference-agnostic. Use when turning structured event records into a navigable theme map for preference elicitation and scheduling, when you need 6-8 reasonable themes rather than 20 muddy ones, or when overlapping talks must belong to more than one theme. Trigger keywords - theme clustering, cluster talks, embed then label, soft membership, outlier talks, conference themes, topic map.
development
Build a personal conference schedule as a constraint-optimization problem — hard constraints (no time overlap, room-to-room travel time, capacity/registration, the attendee's own must-attends and blackouts) plus a user-owned weighted objective trading interest against breadth, pacing (maximize contiguous free time), and serendipity. Surfaces unbreakable conflicts (two high-value overlapping talks the model cannot rank) as decisions for the human rather than silently picking, and reports what each choice traded away. Conference-agnostic. Use to turn a preference profile plus a theme map into a day-by-day plan, to resolve overlapping sessions, or to balance a packed vs paced schedule. Trigger keywords - schedule optimization, conference schedule, constraint optimization, overlapping talks, contiguous free time, conflict surfacing, packed vs paced.
development
Parse a heterogeneous conference program (markdown, HTML, PDF-derived text, or JSON) into normalized event records with per-field confidence scores and independent classification axes (topic, depth, format, prerequisites, recorded, capacity). Detects the program's format before extracting, treats every inferred field as uncertain (present vs inferred vs missing), and flags thin or missing abstracts so downstream enrichment can target them. Conference-agnostic. Use when ingesting a conference or event schedule into a structured store, normalizing a talk/session list, or extracting per-session metadata with calibrated confidence. Trigger keywords - program ingestion, parse schedule, session extraction, event records, conference program, talk metadata, per-field confidence.
development
Build a personalized preference profile from a small number of well-chosen, cluster-grounded questions instead of a long survey. Represents the person's interests as an uncertainty region over the theme map, picks the single highest-information-gain choice-based question (contrasting real talks from different clusters), balances exploiting known interests against exploring uncertain ones, deliberately injects outlier probes to fight selection bias, and stops as soon as the schedule would be stable. Also elicits the user-owned objective weights and hard constraints. Interactive — runs where it can actually ask the person. Conference-agnostic. Use to turn a theme map into a preference profile, to decide what to ask a conference attendee, or to elicit scheduling priorities. Trigger keywords - preference elicitation, ask few questions, information gain, choice-based questions, selection bias probe, objective weights, attendee preferences.