Kalshi Weather Bot Profitability in 2026: The Math Behind the Edge
TL;DR / Key Takeaways
- The 62-member NOAA core ensemble (GFS 31 runs + AIGEFS 31 AI runs) provides enough probabilistic resolution to identify mispriced Kalshi weather contracts on a daily cadence.
- The 410% return reported on the test balance is a function of compounding small per-trade edges across many independent bets, not a single high-conviction position.
- The bot enforces three hard filters before any order is placed: minimum modeled edge of 5 percentage points, maximum bid-ask spread of $0.05, and Kelly-criterion sizing capped at quarter-Kelly.
- Profitability collapses fast if any one of those filters is loosened. The math only works because every filter is enforced on every trade.
- Kalshi fees are charged on winning trades only and must be subtracted from expected value before sizing. The bot does this automatically.
- Slow compounding on a small balance is the realistic outcome. Targeting outsized absolute dollar gains by oversizing positions destroys the long-run edge.
What "profitability" actually means here
Most people asking the search query "kalshi weather bot profitability 2026" are looking for one of two things: a justification to start, or a justification to stop. Neither is what this post provides. The honest answer is that profitability is conditional on disciplined position sizing and aggressive filtering. The bot does not print money. It captures small positive-expected-value bets repeatedly, and the equity curve grows because the bets are independent and the edge is real.
I have run this system live with real capital for several months. The numbers below are derived from the trade ledger, not from backtests.
The 62-member NOAA core
The full Predict & Profit grand ensemble is 164 members across four forecast families (NOAA GFS, NOAA AIGEFS, ECMWF IFS, AIFS-ENS). The 62-member NOAA core is the subset most readers will hit first because the data is free, the latency is low, and the API access is straightforward.
| Source | Run frequency | Members per run | Latency to availability | | --- | --- | --- | --- | | NOAA GFS (numerical) | 4x daily (00, 06, 12, 18 UTC) | 31 | ~3.5 hours after run time | | NOAA AIGEFS (AI ensemble) | 4x daily (00, 06, 12, 18 UTC) | 31 | ~1.5 hours after run time | | NOAA core total | — | 62 | — |
Sixty-two independent simulations is enough to compute a meaningful empirical probability for a binary weather contract. If 47 of 62 members predict a high temperature above 72 degrees in DC tomorrow, the modeled probability is 47 / 62 = 75.8 percent. If Kalshi prices that contract at 65 cents, the bot has identified a 10.8 percentage point gross edge.
The three filters that protect the edge
The math is simple. The discipline is not. The bot rejects any trade that fails any one of these filters.
| Filter | Threshold | Why it exists | | --- | --- | --- | | Minimum modeled edge | ≥ 5 percentage points | Buffer against model error and slippage. Below 5 pp the noise dominates the signal. | | Maximum bid-ask spread | ≤ $0.05 | A wide spread means real exit cost is far above quoted price. Without this filter, fills look profitable on entry and break even on exit. | | Kelly fraction cap | 0.25 of full Kelly | Full-Kelly sizing is variance-maximizing. Quarter-Kelly retains roughly 75 percent of the long-run growth rate at a fraction of the drawdown variance. |
The $0.05 spread filter is the most underrated of the three. On a contract trading at 70 cents with a $0.10 spread, the bot is buying at 70 and the next exit window is 60. A 14 percent paper edge becomes a 0 percent realized edge after one round trip. Filtering by spread is what makes the strategy survive contact with the order book.
Position sizing with Kelly
The Kelly criterion gives the optimal bet fraction for a known edge. For a binary contract:
f* = (p × b - q) / b
Where p is the modeled probability of winning, q is 1 - p, and b is the net odds received per dollar staked. The bot computes f* per opportunity and then multiplies by 0.25.
For a contract with p = 0.758, priced at 65 cents (so b = 35/65 ≈ 0.538):
f* = (0.758 × 0.538 - 0.242) / 0.538
f* = (0.408 - 0.242) / 0.538
f* = 0.309
quarter-Kelly = 0.0772
Quarter-Kelly says risk 7.72 percent of bankroll on this trade. With a $240 live balance, that is $18.53. The bot rounds down to the nearest contract count and places the order. Position sizing is automatic; there is no manual override.
Where the 410 percent comes from
The 410 percent return on the test balance is not a single trade. It is roughly 180 trades over a multi-month window, each contributing a small expected value, compounded.
| Metric | Value (test balance) | | --- | --- | | Starting balance | $50 | | Ending balance | $255 | | Gross return | 410% | | Number of trades | ~180 | | Win rate | 63.4% | | Average edge per trade (modeled) | 7.1 pp | | Average realized edge per trade (after fees) | 4.3 pp | | Largest single drawdown | -18.2% | | Sharpe (daily) | 1.84 |
Two things stand out. First, the realized edge per trade (4.3 pp) is significantly lower than the modeled edge (7.1 pp). The gap is fees, slippage, and partial fills. The bot models all three and still leaves a positive residual. Second, the largest single drawdown was 18.2 percent, which is what quarter-Kelly looks like in practice. Full-Kelly on the same trade history would have produced a drawdown north of 60 percent and likely terminal ruin on a small balance.
Fee accounting
Kalshi charges fees on winning trades only. The fee structure as of 2026 is roughly $0.07 per contract on resolved winners, with no fee on losers. This asymmetry matters for expected-value calculations. The bot subtracts the expected fee from the modeled payoff before computing edge.
| Trade outcome | Cost paid | Fee paid | Net | | --- | --- | --- | --- | | Buy at 65, settles YES at 100 | -65 | -7 | +28 | | Buy at 65, settles NO at 0 | -65 | 0 | -65 |
A naive expected-value calculation that ignores fees overstates edge by approximately 2 percentage points on a 65-cent contract. That is enough to push marginal trades from profitable to unprofitable. Always subtract fees before sizing.
Why this is a slow-compounding strategy
A small balance does not produce large absolute dollar gains. With a $240 starting balance and a 4.3 pp realized edge per trade at quarter-Kelly, the expected daily return is on the order of 1 to 3 percent. That compounds, but it does not compound fast enough to fund a lifestyle in the first six months.
The honest framing: this is a mathematical edge that scales linearly with bankroll up to the point where individual contract liquidity becomes a constraint. On Kalshi weather contracts as of 2026, that liquidity ceiling is in the low thousands of dollars per contract. Above that, you start moving the market against yourself and the edge erodes.
What kills profitability fast
If you are running the bot and your equity curve is flat or declining, one of these is the cause.
- Loosened spread filter. Anyone tempted to "trade through" wider spreads to get more fills is paying the spread on every round trip and watching paper edges evaporate at exit.
- Full-Kelly sizing. The math says full-Kelly is optimal in a single-period sense. The math also says full-Kelly produces 50 percent drawdowns approximately half the time. Quarter-Kelly is the right answer for anyone who needs the equity curve to remain monotonically positive enough to keep trading.
- Trading on stale ensemble data. The 62-member NOAA core has a real latency. If the bot is using a 6-hour-old run when a fresh run is available, the modeled probability is contaminated by stale information. The bot must always use the most recent completed run.
- Ignoring fee asymmetry. Computing edge on gross payoff instead of net payoff (fees subtracted) inflates apparent edge by 1.5 to 3 percentage points. That gap is often the difference between a profitable strategy and a slowly bleeding one.
Closing math
The edge is real, narrow, and durable. The strategy compounds when the filters hold and falls apart when they do not. Anyone running the bot should expect:
- Weeks of slow, monotonic equity-curve growth, punctuated by occasional 10 to 20 percent drawdowns.
- A long-run growth rate that is meaningfully above the risk-free rate but well below the headline 410 percent on small test balances.
- A direct linear relationship between discipline and profitability. The system rewards you for following the rules and punishes you for breaking them, on a daily settlement cadence.
This is what mathematical edge looks like when it actually works. Slow, mechanical, unglamorous, and durable.