Edge-Radar
Live · Personal Ops Dashboard

Edge-Radar command deck

Single pane of glass for the Kalshi edge-detection pipeline — what's scheduled, what's running, and where to click when something needs attention.

3
Wager schedulers
13
Risk gates
7
Pipeline stages
27
Sport filters
330
Tests passing

Wager Schedulers

The four \Edge-Radar\ tasks that actually place bets. Times in PT (system local).

# Task Cadence Trigger What it does
1 All-Sports-SameDay-Execution daily 5:05 AM Scans NBA/NHL/MLB/NFL for today's games and places bets. --date today --budget 12% --max-bets 7 --exclude-open
2 All-Sports-NoDateFilter-Midday-Execution daily 11:00 AM Midday wide-net scan across all sports + all dates. Catches MLB starter confirmations and intraday line moves. --budget 8% --max-bets 5 --exclude-open (no --date)
3 All-Sports-SameDay-Late-Execution daily 2:00 PM Late catch-up on tonight's games — scratches, goalie confirmations, sharp-money moves. --date today --budget 5% --max-bets 4 --exclude-open
4 All-Sports-NextDay-Execution Sun–Thu 8:30 PM Locks in early lines for tomorrow's games. --date tomorrow --budget 12% --max-bets 6 --exclude-open

Daily fire sequence

 5:05 AM  Sun Mon Tue Wed Thu Fri Sat  — All-Sports-SameDay-Execution              (today's games)
11:00 AM  Sun Mon Tue Wed Thu Fri Sat  — All-Sports-NoDateFilter-Midday-Execution  (multi-day wide-net)
 2:00 PM  Sun Mon Tue Wed Thu Fri Sat  — All-Sports-SameDay-Late-Execution         (late catch-up)
 8:30 PM  Sun Mon Tue Wed Thu          — All-Sports-NextDay-Execution              (tomorrow's games)
Manual trigger commands (Git Bash)
# Prepend MSYS_NO_PATHCONV=1 to stop Git Bash from translating /tn
MSYS_NO_PATHCONV=1 schtasks /run /tn "\Edge-Radar\All-Sports-SameDay-Execution"
MSYS_NO_PATHCONV=1 schtasks /run /tn "\Edge-Radar\All-Sports-NoDateFilter-Midday-Execution"
MSYS_NO_PATHCONV=1 schtasks /run /tn "\Edge-Radar\All-Sports-SameDay-Late-Execution"
MSYS_NO_PATHCONV=1 schtasks /run /tn "\Edge-Radar\All-Sports-NextDay-Execution"

# PowerShell equivalent (no MSYS prefix)
Start-ScheduledTask -TaskPath '\Edge-Radar\' -TaskName 'All-Sports-NextDay-Execution'

How It Works

Pull Kalshi's market price. Pull an independent fair value from sportsbooks / data feeds. If the gap clears 13 risk gates, a Kelly-sized bet fires through the Kalshi trade API.

fair_value market_ask = edge · when edge ≥ threshold & gates pass → bet
Reference Price
independent fair values, pulled from public APIs
The Odds API
GET
api.the-odds-api.com /v4/sports/…/odds
8–20 sportsbook lines → no-vig consensus
Sports stats
statsapi.mlb.com
api-web.nhle.com
site.api.espn.com
Crypto / weather / equity
api.coingecko.com
api.weather.gov
query1.finance.yahoo.com
Edge Engine
the seven-stage pipeline that finds & sizes the bet
Kalshi market data
GET
api.elections.kalshi.com /markets, /orderbook
live ask, bid, volume, expiry
Fair-value model
ticker → ML · SP · TO · FU · PR
de-vig, Poisson totals, Elo, hold-out
Edge calculation
fair − ask, with confidence tier
edge ≥ 3% (12% NBA)
13 risk gates
daily loss · per-event cap · series dedup
NO-favorite floor · min price · confidence
Kelly sizing
¼-Kelly · capped at MAX_BET_SIZE
half-Kelly on cheap NO bets
Execute & Track
wagers, settlement, calibration loop
Kalshi trade API
POST
api.elections.kalshi.com /portfolio/orders
RSA-PSS signed limit order
Position & fills
GET
/portfolio/positions · /fills
track exposure · trim stale orders
Settle & calibrate
27-field settlement record
Brier score feeds back into thresholds
Notify
SMTP · daily digest 5:00 AM PT
Slack webhook on anomaly
Outcomes loop back: settled results re-calibrate thresholds & confidence tiers
DRY_RUN=true default · 13 gates · spec

Data Flow

Seven sequential stages. Scan → Size → Execute → Settle.

01
Fetch
Kalshi + Odds API
02
Categorize
ticker → model
03
Compare
fair vs ask
04
Cap
per-event dedup
05
Risk
13 gates
06
Execute
RSA-signed limit
07
Monitor
settle + calibrate
Risk gates · CLAUDE.md § Execution Gates Edge models · ML · SP · TO · FU · PR Settler · make settle