The WNCAAB (Women's College Basketball) desk detects mispricings between Kalshi alt line prices and Pinnacle sharp book fair value for women's college basketball games. Same core thesis as all desks: Pinnacle is the anchor, prediction markets lag.
WNCAAB has less data coverage, wider lines, and thinner liquidity compared to NCAAB. This creates both opportunity (larger mispricings when they exist) and risk (fewer data sources to validate edges, harder to execute).
2-Way Markets (Spreads, Totals, Moneylines) — Multiplicative method:
total_implied = implied_home + implied_away
novig_home = implied_home / total_implied
novig_away = implied_away / total_implied
Kalshi charges 7% fee on profit.
Minimum net edge: 4 cents after fees. Consider raising to 5 cents for WNCAAB given thinner data — model confidence is lower.
Sweet spot: implied probabilities between 35% and 65%.
Use 1/4 Kelly for WNCAAB bets:
bet_size = min(bankroll * full_kelly * 0.25, bankroll * 0.05)
Hard Caps:
WNCAAB has significantly less public analytics coverage than NCAAB:
Implication: Model confidence is inherently lower. Compensate by:
| Source | What It Provides | Priority |
|---|---|---|
| HerHoopStats | Women's college basketball analytics, efficiency ratings | PRIMARY |
| BartTorvik | WNCAAB team ratings (less detailed than men's) | PRIMARY |
| ESPN | Power rankings, BPI where available | SECONDARY |
WNCAAB has even larger talent gaps than NCAAB:
| Source | What It Provides | Frequency | Priority |
|---|---|---|---|
| Pinnacle (via Odds API) | Sharp odds: ML, spread, total | When available | Critical |
| Kalshi | Market prices | Real-time API | Critical |
| HerHoopStats | Efficiency ratings, team stats | Daily | High |
| BartTorvik | WNCAAB team rankings | Daily | High |
| ESPN API | Scores, game state, injury reports | Continuous | High |
| Model | Source | Type |
|---|---|---|
| HerHoopStats | herhoopstats.com | Efficiency ratings |
| BartTorvik WNCAAB | barttorvik.com | Team rankings |
| ESPN rankings | espn.com | Power rankings (when available) |
Average available models. Exclude NULL silently.
| Condition | Reason |
|---|---|
| No Pinnacle line available | No sharp anchor = no reliable fair value |
| Spread > 20 points | Model unreliable for extreme mismatches |
| Deep tail lines (5+ rungs) | Model unreliable |
| Kalshi market volume < $500 | Illiquid |
| Net edge < 4 cents (consider 5 cents) | Below threshold |
| Implied probability < 15% or > 85% | Extreme tails |
[11:00 PM ET prior night]
- Fetch tomorrow's WNCAAB schedule from ESPN API
- Check if Pinnacle has lines (only proceed if anchor exists)
[9:00 AM ET — Early Snapshot]
- Odds API: Pinnacle WNCAAB lines (if available)
- Kalshi: Pre-game alt line snapshot
- Calculate no-vig probabilities, run edge scan
[11:00 AM ET — Model Collection]
- HerHoopStats
- BartTorvik WNCAAB
[2:00 PM ET — Mid Snapshot]
- Odds API: Pinnacle update
- Kalshi: Mid-day snapshot
[30 min before game]
- ESPN injury check
- Pre-close polling
[10 min before game — Closing Snapshot]
- Final closing lines + CLV baseline
[After game → Grade edges, update Brier scores]
Same framework as NCAAB:
Additional WNCAAB tracking:
| Control | Threshold | Action |
|---|---|---|
| Max loss per trade | 2% of capital | Hard cap |
| Max exposure per day (WNCAAB) | 15% of capital | Hard cap |
| Daily drawdown stop | -5% of capital | Halt all trading |
| Max per single game | 5% of capital | Hard cap |
| Parameter | Value |
|---|---|
| Min net edge | 4-5 cents (higher threshold recommended) |
| Kalshi fee rate | 7% on profit |
| Kelly fraction | 0.25 (quarter) |
| Max single bet | 5% bankroll |
| Max per game | 10% bankroll |
| Max daily exposure | 20% bankroll |
| Max spread to bet | 20 points |
| Min bet size | 0.5% bankroll |
| Implied prob range | 15%-85% |
| Min Kalshi volume | $500 |
Status: NOT BUILT — add when this desk goes live for execution
Current state: All Kalshi data (prices, order books, trades) is fetched via REST API polling on cron schedules. This is fine for edge detection and monitoring, but NOT sufficient for live trade execution.
Why WebSocket matters:
What to build when ready:
Note: Sports markets use RFQ (Request for Quote) so the visible order book is usually empty — but the trade feed still matters for freshness signals and the WebSocket is required for order submission. Weather markets DO have real visible order books where this upgrade is even more critical.
Added 2026-03-29 — upgrade REST to WS when desk moves to live execution