Every evening at 6 PM Eastern, an AI desk buys $1 contracts in Kalshi's daily temperature markets, on its own, with no human clicking buttons. Here's the bet it's making, the evidence behind it, the guardrails around it, and every result, wins and losses.
Kalshi lists a market for tomorrow's high and low temperature in a couple of dozen US cities, split into 2°F bins. Each bin pays $1 if the temperature lands in it.
The desk doesn't try to out-forecast the weather. We tried that. Our own forecast models lost to the market, because the market already prices in the forecast. The bet is about how people price, not about the weather.
We tested the rule on recorded market prices before risking anything. Then we tested it again on days the rule had never seen.
| Test | Trades | Average result per $1 contract | What it means |
|---|---|---|---|
| Aug 1 – Oct 1 (first look) | 248 | +8.2¢ | Promising, but the second half of that window was only +1.8¢. |
| Oct 2 – Oct 13 (unseen days) | 52 | +7.8¢ after fees | Won 79% of the time at an average price of about 70¢. |
The whole strategy fits in a few lines, and the desk follows it exactly:
No chasing, no doubling down, no revenge trades. If nothing qualifies, it sits out.
The rule picks the bins. Then, at 6:10 PM, an AI analyst reads tonight's picks along with the National Weather Service forecast, the forecasters' discussion and several forecast models (including Google's WeatherNext 2). For each pick it writes:
For now those calls are logged, not acted on. After a couple of weeks we'll check whether its SKIPs would have saved money. If they would have, the AI gets a real veto. If not, we'll have learned that too.
Part of the experiment is publishing the dead ends:
The lesson: a small trader's edge is not speed or a better model. It's going where the big players don't bother, keeping strict discipline, and having the patience to sit out.
Two records, never mixed: paper counts every bin the rule picked, as if it bought 1 contract at the price shown; live counts only real orders that filled on the exchange.
| Record | Settled trades | Won | Average per $1 contract | Total |
|---|---|---|---|---|
| Paper (every pick, 1 contract at the price shown, after fees) | no settled trades yet | |||
| Live (real $1 orders that filled) | no settled trades yet | |||
The AI's calls: 14 calls logged, not scored yet.
Kill rule: not tripped (0 of the 100 settled trades it needs before it judges).
At 6:12 PM the AI analyst read the National Weather Service forecasts, the forecasters' discussions and 166 forecast-model runs (ECMWF IFS, ECMWF AIFS and Google WeatherNext 2), then made its own call on each pick. Its calls are logged, not acted on.
| Market (Saturday) | Price | AI call | Why, in one line |
|---|---|---|---|
| Austin high 70° to 71° | 62¢ | SKIP low | Both the NWS (68–69°) and the ensembles sit below the bin. The 62¢ price says the market expects a warmer day than either forecast does, hence low confidence. |
| New York high 61° or below | 81¢ | TAKE low | The NWS has a 1° margin, the ensembles put the front through earlier, and 81¢ is below their 95%. The whole bet is the temperature right after 1 AM, hence low confidence. |
| Newark high 60° or below | 79¢ | SKIP medium | Zero margin on the NWS forecast, and the 6¢ spread makes the entry 79¢. I'd take New York's 1° margin, but not this. |
| Houston high 71° to 72° | 64¢ | TAKE low | The NWS point and hourly forecasts both land inside the bin, and the raw ensembles have run cold in sunny, dry setups like this one. With the forecast on the bin's top edge, confidence is low. |
| San Antonio high 69° to 70° | 67¢ | TAKE low | Both NWS forecasts sit in the bin, on its lower edge. Same reasoning as Houston, and the same low confidence. |
| San Antonio low 49° to 50° | 63¢ | SKIP low | The NWS sits on the bin's top edge, and the ensembles plus the wind and cloud forecast lean warmer. 63¢ is too much. |
At 6:10 PM the AI analyst read the National Weather Service forecasts, the forecasters' discussions and 166 forecast-model runs (ECMWF and Google WeatherNext 2), then made its own call on each pick. Its calls are logged, not acted on.
| Market (Friday) | Price | AI call | Why, in one line |
|---|---|---|---|
| Chicago high 59° or below | 65¢ | TAKE medium | Forecasts sit well under 60°; the risk is a cold front arriving late tonight. |
| Dallas–Fort Worth high 67° or below | 80¢ | TAKE medium | "Our first true fall cold front" should drop it about 20° before the day starts. |
| Los Angeles high 95° or above | 81¢ | TAKE low | Santa Ana winds; the NWS says 99°, but the models disagree. |
| New York high 74° or below | 77¢ | SKIP medium | The official forecast is 75°, the losing side of the line. |
| Philadelphia low 60° or above | 82¢ | SKIP medium | The forecast low is exactly 60°, and a wide 9¢ spread makes it pricey. |
| Miami high 90° to 91° | 73¢ | SKIP medium | The NWS hourly forecast peaks at 89°, just under a narrow 2° bin. |
| Las Vegas high 82° to 83° | 68¢ | SKIP low | The forecast sits on the top edge of a 2° bin; no margin for error. |
| Phoenix high 88° to 89° | 66¢ | SKIP low | Forecasts straddle 86° to 90°; too much to pay for one 2° window. |