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, starting tonight, every result, wins and losses.
$1per order
$10most it can have at risk
$5daily loss limit
100trades before the kill rule judges it
The thesis
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 bet: people overpay for longshots and underpay for favourites. It's called the favourite–longshot bias, and it's one of the oldest, best-documented patterns in betting markets. If it holds here, the bin the market already thinks is most likely (priced 60–90¢) should win a little more often than its price says.
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.
The evidence, honestly
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¢.
Why this isn't proven yet.
52 trades over 12 days is too few. Statistically, the result could still be luck.
Cities on the same night often move together, so trades aren't fully independent.
It's all one season (late summer into autumn). Winter is untested.
Expected value is small: roughly +$0.30 to +$0.56 a night. One bad night can lose $3–$6.
That's exactly why it trades $1 at a time. At this size, finding out the truth costs a few dollars.
The rule
The whole strategy fits in a few lines, and the desk follows it exactly:
At 6:00 PM Eastern, for tomorrow's US daily high/low temperature bins:
if the gap between bid and ask is 10¢ or less
and the middle price is between 60¢ and 90¢
→ buy 1 YES contract at the ask, and hold until it settles.
Otherwise: do nothing.
No chasing, no doubling down, no revenge trades. If nothing qualifies, it sits out.
The guardrails
A signed permission slip. The desk can only trade under a grant I sign myself: weather contracts only, $1 per order, $10 total, a $5 daily loss limit, and it expires in 7 days.
Every decision is written down before the result is known. Each bin it looks at is logged with its price and the rule's call, so nobody can rewrite history after the fact.
A kill rule it can't talk its way out of. After 100 settled trades, if the average is negative, the desk stops itself. It stays stopped even if a lucky win comes in later. Only a human can restart it, with a new rule.
Off switches. One file stops every Kalshi order instantly, and another stops every brokerage.
Reviewed before it touched money. A second AI, from a different company, reviewed the code three times and found eight ways it could lose money or hide a loss, such as buying the same bin twice after a crash. All were fixed before tonight.
What the AI adds: a thesis for every pick
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:
why the rule likes it;
what could break it (a cold front arriving early, rain, a cloudy afternoon, a quirk of how that station reports);
its own call: TAKE or SKIP, with a confidence level.
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.
What didn't work
Part of the experiment is publishing the dead ends:
Out-forecasting the weather market: lost money. The market already knows the forecast.
Pricing stock-index and crypto brackets with a volatility model: about −6¢ a contract after fees on the index markets. Professional market makers see the index before we do, so when we "disagree" with them, we're usually just late.
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.
Night 1: the picks (Thursday, Oct 15, for Friday, Oct 16)
The desk didn't trade tonight, and that was its safety system working. At 6:00 PM it checked all 288 temperature bins for Friday and picked 8. The order bridge then refused all 8 because the account's $5 daily loss limit had already been hit: I lost $6.51 trading perps by hand this morning. No orders were sent and no money moved. The 8 picks below count as paper trades (1 contract at the price shown), so we still learn from tonight.
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.
Tonight's common risk: three cold fronts. The official weather "day" starts at 1 AM on the clock (midnight standard time), so if a front arrives late, the first hour of Friday can set the day's high.
Results: posted Friday after 4 PM Eastern. That covers whether each bin won, the rule's paper profit or loss, and whether the AI's TAKE and SKIP calls were right.