A bot for Kalshi's Chicago high temperature market
A Windmill bot for Kalshi's Chicago high temperature market (KXHIGHCHI) is an AI agent that runs your written rule on the schedule you set: it reads the National Weather Service's forecast and Midway Airport's observations and the day's brackets, buys one and holds it to settlement. Counted on October 22, 2026, our agents had 29 settled paper bets on this market and had lost $27.64 before fees, the worst of the four cities we tried, so test your rule the same way: free on paper, no card.
Kalshi lists a market on each day's high temperature at Chicago's Midway Airport. Write your rule for it in a sentence or a paragraph, and a Windmill agent runs it on paper, unattended, against Kalshi's live order book and fees. Four rules of ours traded it from late August 2026. The two that bought the National Weather Service forecast's bracket won 2 of 19 bets and lost $25.29 between them. Every number is below, with each rule in its own words.
What the market asks
Kalshi's Chicago series, KXHIGHCHI, lists one event a day: a ladder of brackets for that day's high at Midway. When we read Kalshi's API on October 22, 2026, the ladder for that day had six markets: 68–69°, 70–71°, 72–73° and 74–75°, and an open-ended one at each end, 67° or below and 76° or above. Exactly one of them resolves Yes. This is the rule of the top one, word for word:
“If the maximum temperature recorded at Chicago (CLIMDW) for Oct 22, 2026, is greater than 75° fahrenheit according to The Weather Company, then the market resolves to Yes.”
CLIMDW is the National Weather Service's climate-report code for Midway Airport, not O'Hare, and the series names The Weather Company as its settlement source. Kalshi adds, in the same rules: “Preliminary Weather Company data may be subject to rounding and conversion differences from the final reported value.”
Trading on a day's high closes at 1 AM Central the night after, and the market settles the next morning. A YES or NO contract pays $1 if it is right and nothing if it is wrong, and buying one pays Kalshi's fee, which the fee calculator works out for any price.
What an agent reads for it
An agent runs on a schedule you set, every 10 minutes at the fastest. For this market our agents read the National Weather Service's forecast from api.weather.gov, or the latest observation at Midway (KMDW); then they read the day's ladder on Kalshi, every bracket with its bid and ask. Which station a rule reads matters here: the market settles on Midway, and one of the rules below named O'Hare. What agents can read lists every tool an agent has.
The rules our agents ran here
Each of these ran on paper from late August 2026, each order for 5 contracts, and each was paused by September 6. The quotes are the parts of each rule that apply to Chicago, word for word; the agent's page has the whole rule.
weather-3city: the forecast for tomorrow
“Chicago (series KXHIGHCHI, station KORD, gridpoint LOT/66,77) […] Buy the bracket that CONTAINS the forecast high, 5 contracts, limit 3 cents above its ask, only if that ask is 45 or lower. If the forecast sits within 1 degree of a bracket edge, buy nothing for that city. Never trade today's market.”
city-highs-nws: the forecast for today
“Trade TODAY's market only. […] Coordinates: […] Chicago (Midway) 41.7868,-87.7522 […] Buy the bracket that CONTAINS the NWS forecast high, 5 YES contracts at the ask, only if that ask is at most 60 and you do not already hold a bracket in that event. Skip a city if the market closes in under 2 hours.”
city-highs-crowd-control: the control
“CONTROL for the weather family: same four markets, NO outside information. […] Buy the HIGHEST-priced bracket (the crowd's favorite), 5 YES contracts at the ask, only if that ask is between 45 and 65 and you hold nothing in that event. […] No web tools, no forecasts, no reasoning about weather.”
nws-dead-brackets: the high already observed
“[…] https://api.weather.gov/stations/KMDW/observations/latest […] Buy 5 NO on every bracket whose top is below the running high (they are dead) if the NO ask is at most 96; and after 21:30Z, buy 5 YES on the bracket that CONTAINS the running high if its ask is at most 80.”
To start from one of these, open its agent's page and copy it, for example the observed-high rule. Each trades four cities as written; tell the builder to keep only Chicago. It is a starting point, not a recommendation.
The record
Counted on October 22, 2026, our agents had 29 settled paper bets on KXHIGHCHI, from August 29 to September 8, 2026, and only 6 of them won.
| Agent | Settled on (2026) | Bets | Won | P&L before fees |
|---|---|---|---|---|
| weather-3city | Aug 30 – Sep 8 | 10 | 1 | −$12.14 |
| city-highs-nws | Aug 29 – Sep 7 | 9 | 1 | −$13.15 |
| city-highs-crowd-control | Aug 29 – Sep 7 | 7 | 3 | −$3.40 |
| nws-dead-brackets | Sep 1 – Sep 5 | 3 | 1 | +$1.05 |
| All agents | Aug 29 – Sep 8 | 29 | 6 | −$27.64 |
Together the bets cost $57.64 and paid back $27.64 less than that, −48%, before Kalshi's fees.
The fees are booked to each agent, not to each city: on these bets they ran about 8–9¢ a 5-contract bet, Kalshi's fee at 40–60¢ prices. Each agent's page carries its figure after fees, across every city it traded; on October 22, 2026 they were weather-3city −$17.69, city-highs-nws −$15.28, city-highs-crowd-control −$4.42 and nws-dead-brackets −$1.27.
Why each rule did what it did
The forecast rules lost almost every bet. weather-3city and city-highs-nws paid 34¢ and 40¢ a contract on average, prices that say a bracket wins about one time in three, and won 1 of 10 and 1 of 9. A bracket is two degrees wide; a forecast that is off by a degree or two lands in the next one. Both rules bought the forecast's bracket only when it was cheap, which is when the market disagreed with the forecast, and here the market was right far more often.
The station is part of it, not all of it. weather-3city's rule named O'Hare (KORD) as its station; the market settles on Midway. But city-highs-nws read the forecast for Midway's own coordinates and did no better: 1 win in 9.
The control lost less. city-highs-crowd-control, which bought the crowd's favourite and read no weather, paid 53¢ on average and won 3 of 7: −$3.40.
The observed high made the only gain, on 3 positions. nws-dead-brackets placed 12 orders here; 3 positions settled, 1 of them won, for +$1.05. Three bets say nothing about a rule.
Running now. One agent of ours has looked at Chicago on paper since October 17, 2026, for tomorrow's open-ended bracket when it is the favourite at 60–92¢. As of October 22, 2026 it had placed nothing: “no open-ended tail favourite in the 60–92¢ YES-ask band”, in its own words.
One market, worked through
The high at Midway on August 29, 2026, settled at 82°: the market “82° to 83°” resolved Yes, and Kalshi settled it at 7:10 AM Central on August 30. Three of our agents held a position in it:
- city-highs-nws read that day's forecast and bought 80–81°, 5 contracts at 35¢, $1.75. It lost all of it.
- weather-3city, which trades a day ahead, had bought the same bracket at 27¢, $1.35, and lost it too.
- city-highs-crowd-control, the control, bought the crowd's favourite, 82–83°, at 44¢, $2.20, and was paid $5.00: +$2.80 before fees.
The forecast rules were one degree off, and one degree is a lost bet. The crowd's price had the right bracket on top. These figures are paper, counted on October 22, 2026.
Questions
- Is a bot for the Chicago high temperature market profitable?
- Ours wasn't. Counted on October 22, 2026, our agents' 29 settled paper bets on this market had lost $27.64 before fees, 48% of what the contracts cost, and the two rules that bought the forecast's bracket won 2 of 19. That is a small sample from ten days in one season, so it doesn't prove no rule can work here. Running your own rule on paper is how you find out, before you risk money.
- Which station settles the Chicago market?
- Midway Airport. When we read Kalshi's API on October 22, 2026, each market's rule named Chicago (CLIMDW), the National Weather Service's climate-report code for Midway, and The Weather Company as the source of the reading. Not O'Hare: a rule that reads O'Hare's forecast or observations is reading a different station.
- When does it close and settle?
- Trading on a day's high closes at 1 AM Central the night after. The market in the worked example above, for August 29, 2026, settled at 7:10 AM Central on August 30. The high itself is usually in by mid-afternoon.
- Can an agent read Midway's observations?
- Yes. An agent can fetch any public https URL, so it can read the station's latest observation (KMDW) and the forecast for Midway from api.weather.gov, and it can search the web. Observations come in degrees Celsius. What agents can read lists every tool.
- What are the fees?
- Paper orders pay Kalshi's own fees, worked out the way Kalshi works them out. When we read Kalshi's API on October 22, 2026, the New York, Chicago, Miami and Austin daily-high series had fee type quadratic with multiplier 1, the same settings as Kalshi's 15-minute bitcoin and ether series: an order that takes a resting price pays the most at 50¢, 1.75¢ a contract, and less toward either end. On our agents' bets here the fees ran about 8–9¢ a 5-contract bet. The fee calculator gives the fee and the breakeven for any price.
- Paper or live?
- Agents trade on paper unless you build them live. Paper orders fill against Kalshi's live order book, pay Kalshi's fees and settle when the real market settles. To trade real money, connect your own Kalshi API key and build a live agent; your money stays on your Kalshi account.