Isotherm

Isotherm forecasts the day’s high temperature and trades on it.

Isotherm trades Kalshi’s daily temperature markets in 24 U.S. cities, around the clock, on free weather data. The night before, its forecast is 0.35 °F more accurate than NOAA’s flagship forecast, and it only bets where the market’s price is off.

Trading real money since October 2026 Forecasts refresh six times a day
Chicago high, tomorrowExample
Market’s chance of 84–85°
27%
Isotherm’s chance
38.5%
  • Bought 5 YES at 28¢, an 8.5¢ edge after the fee
  • Settled at 84°F for +$3.50
Step through this example
San Francisco 65°Los Angeles 74°Seattle 60°San Diego 73°Las Vegas 74°Phoenix 89°Denver 85°San Antonio 90°Austin 94°Oklahoma City 90°Dallas 91°Houston 90°Minneapolis 90°New Orleans 87°Chicago 78°Louisville 67°Atlanta 70°Miami 90°Washington 67°Philadelphia 65°Trenton 61°Newark 62°New York 60°Boston 60°

A day of temperatures across the lower 48, hour by hour from NOAA’s 3 km HRRR model. Lines are isotherms, 10 °F apart.

24U.S. cities, re-forecast six times a day
1.57 °Faverage miss the night before, against 1.92 °F for NOAA’s flagship forecast
622automated tests
40,000chaos-test cycles with API failures injected

A live dashboard, on any phone

A private dashboard shows the account, the money at risk against every limit, profit by day, and which cities and bet types are working. The trading server publishes encrypted numbers every minute and the page decrypts them on the device, so it stays live without a laptop running anywhere.

Isotherm dashboard on a desktop: bot health, account value, today's result, and capital in use against each limit, shown with made-up sample data. Isotherm dashboard on a phone: the daily profit chart and seven-day summary, shown with made-up sample data.

How it works

Free data, lined up in time

Isotherm reads NOAA’s model guidance and its 3 km HRRR model, ECMWF’s open data, live airport sensors and the official climate reports. All of it is free.

Each model run comes out minutes to hours after it starts. An input only counts once it was really public, so the model never trains on anything it couldn’t have seen live.

Drag the clock to see which parts of the 8 AM model runs are out yet.

Stage 1 of 5

A day in the market

Every city gets a new market each day, split into 2 °F brackets. Isotherm re-forecasts at set times, keeps its quotes fresh in between, and holds every position until the official report settles it. Times are Eastern.

  1. The day before, Kalshi lists the brackets for tomorrow’s high.

  2. Early bets, where the forecast’s edge over the market is largest.

  3. Night-before forecasts from the evening model runs.

  4. On the day, forecasts refresh every three hours and live sensor readings rule out brackets the high has passed.

  5. Trading closes.

  6. The next morning, markets settle on the National Weather Service’s daily climate report, East Coast first.

Built with

  • Python
  • LightGBM
  • NumPy and pandas
  • SciPy
  • SQLite
  • eccodes (GRIB2)
  • Kalshi REST and WebSocket APIs
  • AWS EC2
  • systemd
  • Web Crypto
  • GitHub Pages

Run it yourself

Paper trading needs no Kalshi account. Isotherm reads Kalshi’s live public order books and simulates its fills against them, so you can watch it quote and trade without putting in a dollar.

git clone https://github.com/shourya0mehta/isotherm
cd isotherm && pip install -r requirements.txt
python -m wxbot run --config config/example.yaml --mode paper --minutes 30

The trained models stay private, so the public copy trades on its market-based fair value until you train your own with the included research scripts.