0/70 completed
Risk Management Interactive

Correlation Analysis

Measure how picks move together. Critical for pricing correlated parlays and managing exposure on same-game combinations.

๐Ÿ”— Understanding Correlation

Positive Correlation (+)

Outcomes move together. If QB throws well, his WR likely gets more receiving yards.

๐Ÿ“ˆ โ†” ๐Ÿ“ˆ

No Correlation (0)

Outcomes are independent. Players on different teams, different games.

๐Ÿ“ˆ โŠฅ ๐Ÿ“‰

Negative Correlation (-)

Outcomes move opposite. If RB dominates, WR might get fewer targets.

๐Ÿ“ˆ โ†” ๐Ÿ“‰

Correlation Settings

QB-WR/TE Correlation 0.65
0 0.9
Other Teammates 0.3
0 0.6
Same Game (Diff Team) 0.2
-0.3 0.4

Parlay Settings

Number of Legs 3
2 6

โš ๏ธ Exposure Risk

Effective Exposure 1.38x

Correlated 3-leg parlay has exposure equivalent to 1.4 independent bets.

Correlation Matrix

MahomesKelceRiceAllenDiggs
Mahomes
1.00
0.65
0.65
0.20
0.20
Kelce
0.65
1.00
0.30
0.20
0.20
Rice
0.65
0.30
1.00
0.20
0.20
Allen
0.20
0.20
0.20
1.00
0.65
Diggs
0.20
0.20
0.20
0.65
1.00
Correlation Scale:
Negative
~0
Positive
Perfect

Parlay Win Rate Impact

12.50%
Independent Legs
0.5^3 = 0.1250
14.28%
Correlated Legs
+14.3% boost

Key Insight: Correlated picks have higher joint probability of all hitting together. This means same-game parlays need different pricing than independent parlays.

๐Ÿ’ฐ Pricing Implications

For Same-Game Parlays

  • โš ๏ธ Can't multiply individual leg odds naively
  • โš ๏ธ QB + his WR overs are positively correlated
  • โœ“ Apply correlation adjustments to payout
  • โœ“ Limit exposure on highly correlated combos

Exposure Management

  • โ†’ Track correlation-adjusted exposure, not just $ amount
  • โ†’ Set limits on single-game concentrations
  • โ†’ Model worst-case scenarios (all correlated bets win)
  • โ†’ Diversify across games/sports for risk reduction

R Code Equivalent

# Calculate player correlations from historical data
library(dplyr)
library(corrplot)

# Get player game logs
player_stats <- game_logs %>%
  select(game_id, player_id, fantasy_points) %>%
  pivot_wider(names_from = player_id, values_from = fantasy_points)

# Correlation matrix
cor_matrix <- cor(player_stats[,-1], use = "pairwise.complete.obs")

# Visualize
corrplot(cor_matrix, method = "color", type = "upper",
         col = colorRampPalette(c("#dc2626", "#1a1b1e", "#10b981"))(100))

# Calculate correlated parlay probability
correlated_parlay_prob <- function(probs, cor_matrix) { 
  # Use copula or simulation for accurate calculation
  n_sims <- 10000
  # ... simulation code ...
}

โœ… Key Takeaways

  • โ€ข QB-WR correlations are typically 0.5-0.7
  • โ€ข Same-team correlations require parlay price adjustments
  • โ€ข Ignoring correlation underprices risk
  • โ€ข Track correlation-weighted exposure
  • โ€ข Diversification reduces effective correlation
  • โ€ข Use copulas for accurate joint probability modeling

Pricing Models & Frameworks Tutorial

Built for mastery ยท Interactive learning