Aggregates live data
Pulls forecast guidance from multiple sources and combines it into one monitored forecasting baseline.
Featured Project
A live forecasting and decision-support system that aggregates multiple weather data sources, tracks real-time Central Park observations, and produces structured outputs for analysis and operational review.
Built from an original weather-modeling foundation by Srinath Srinivasan and extended by Sergio Reyes with an emphasis on reliability, monitoring, and transparent system behavior.
Quick start: python -m kalshi_weather run --city NYC
Pulls forecast guidance from multiple sources and combines it into one monitored forecasting baseline.
Uses real-time Central Park observations to update the system view as intraday conditions shift.
Transforms live trajectories into readable outputs for analysis, scenario review, and decision support.
Keeps the reasoning transparent with monitored outputs, replayable data, and operational visibility.
The platform ships with operational commands for live monitoring, graphing, validations, and historical replay.
Run platform
python -m kalshi_weather run --city NYC Launches the live platform view with forecasts, station data, and structured signal output.
View progression graph
python -m kalshi_weather view-graph --city NYC --refresh 15 Streams intraday progression for observed highs versus the current model baseline.
Replay historical run
kalshi-weather backtest --city NYC --days 7 --starting-balance 20 Replays logged runs for validation, signal review, and historical comparison.
Settlement lookup
python -m kalshi_weather settlement --days 7 Pulls official NWS climate settlements for reference and validation.
Alerts
Alert routing supports WhatsApp Cloud and Twilio. You can configure thresholds, signal-shift notices, and prompt-ready summaries for faster manual decisions.
# Enable outbound alerts
ALERTS_ENABLED=true
ALERTS_PROVIDER=whatsapp_cloud
# Position risk threshold (0.35 = 35% loss from entry-side price)
ALERT_POSITION_LOSS_FRACTION=0.35
# Bracket-change updates
ALERT_BRACKET_CHANGE_ENABLED=true
ALERT_LLM_PROMPT_ENABLED=true
ALERT_TOP_BRACKETS=3
For a 25% loss trigger instead of 35%, set ALERT_POSITION_LOSS_FRACTION=0.25.