WNCAAB Desk Strategy Spec

Extracted from Sports Desk Merged Spec (2026-03-15)

Full merged reference: spec-final.md


OVERVIEW

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).


CORE EDGE DETECTION

How It Works

  1. Get Pinnacle's odds for a WNCAAB game (moneyline, spread, total)
  2. Remove the vig to get the "fair" probability
  3. Compare that fair probability to Kalshi's price for the same market
  4. If Kalshi's price is off by more than 4 cents after fees, that's a tradeable edge

De-Vig Method

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 Fee Impact

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%.

Position Sizing (Kelly Criterion)

Use 1/4 Kelly for WNCAAB bets:

bet_size = min(bankroll * full_kelly * 0.25, bankroll * 0.05)

Hard Caps:


WNCAAB-SPECIFIC CONSIDERATIONS

Data Scarcity

WNCAAB has significantly less public analytics coverage than NCAAB:

Implication: Model confidence is inherently lower. Compensate by:

Efficiency Ratings

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

Talent Parity

WNCAAB has even larger talent gaps than NCAAB:

Market Characteristics

Tournament Play (March Madness)


WNCAAB DATA SOURCES

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

Rating Models

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.


WHEN NOT TO BET (Hard Rules)

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

COLLECTION SCHEDULE

[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]

SETTLEMENT AND LEARNING

Same framework as NCAAB:

Additional WNCAAB tracking:


RISK MANAGEMENT

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

QUICK REFERENCE: KEY CONSTANTS

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

TODO: Upgrade Kalshi REST to WebSocket Feed

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:

  1. Connect to Kalshi WebSocket feed (wss://trading-api.kalshi.com/trade-api/ws/v2)
  2. Subscribe to order book channels for active tickers
  3. Stream trade events for real-time freshness (replaces REST trades polling)
  4. Feed live prices into execution engine for precise entry/exit
  5. Update Fill Quality Monitoring to measure slippage vs quoted price

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

Source: ~/edgeclaw/results/spec-panel/sports-desk/wncaab-strategy.md