LAX Two-Sided Maker
Wide weather-market spreads may compensate a passive maker for adverse selection. Test whether simultaneously posting post-only YES and NO bids in KXHIGHLAX daily high-temperature markets can earn a repeatable spread-capture return without relying on a specific temperature forecast.
Historical research only. Not investment advice.
Top strategy variants
Bottom strategy variants
Kalshi Weather Market-Making Simulation Report
Short Disclaimer
This is a historical simulation report only. Past simulated results do not guarantee future performance. All trading involves risk of loss.
Intro / Thesis
This project tested whether a passive two-sided maker strategy in Kalshi’s daily high-temperature markets for Los Angeles (KXHIGHLAX) could earn a repeatable return from wide bid/ask spreads — without relying on any temperature forecast. The idea is straightforward: when the spread between YES and NO bids is wide enough, simultaneously posting post-only orders on both sides might capture a sliver of that spread when one side gets filled, while the other is cancelled. Wide spreads in weather markets may compensate the maker for the risk of adverse selection.
We ran 100 parameter variants, adjusting quote offsets, minimum spread triggers, and loop refresh intervals. What follows is what worked, what didn’t, and how much confidence we should have in the results.
Variant and Strategy Explanation
The base strategy operates on a 60-second loop in the KXHIGHLAX series. It posts two post-only buy orders — one for YES, one for NO — each for 25 contracts (total max position 50 contracts across up to 3 simultaneous markets, though in practice it traded one market at a time).
Entry rules: The strategy only quotes when:
- The spread (difference between best bid and best ask) is 7 cents or wider
- The current position size is zero
- Time to market expiry is greater than 120 minutes
- The price is within the 15¢ to 85¢ range (avoiding extreme near-certainty territory)
Exit/risk rules:
- Cancel all orders if the spread narrows below 7¢ while flat
- Cancel all unfilled orders as soon as any position is taken (the other side)
- Cancel all near expiry (≤120 minutes)
- Cancel all if price hits the 15¢ floor or 85¢ ceiling
- Hard stop: sell everything if unrealized P&L drops below -$25.00
Variants tested: We swept two key parameters: the quote offset from best bid (-2¢, -1¢, 0¢, +1¢, +2¢) and the minimum spread required to quote (5¢, 6¢, 7¢, 8¢, 9¢). We also varied loop refresh intervals (30, 60, 90, 120 seconds) to understand timing sensitivity. 100 total variants were completed. Every successful variant configuration is preserved as a runnable Turbine strategy.
Top Results
The best performers (by total P&L) shared clear patterns. Here are the top eight:
| Rank | Offset | Min Spread | Refresh | Total P&L | ROI % | Sharpe | Win Rate | Trades |
|---|---|---|---|---|---|---|---|---|
| 1 | -1¢ | 5¢ | 30s | $57.08 | 114.2% | 0.45 | 100% | 19 |
| 2 | -1¢ | 5¢ | 60s | $57.08 | 114.2% | 0.45 | 100% | 19 |
| 3 | +2¢ | 5¢ | 120s | $43.76 | 87.5% | 0.44 | 57.1% | 51 |
| 4 | 0¢ | 5¢ | 120s | $42.49 | 85.0% | 0.46 | 80.0% | 39 |
| 5 | -1¢ | 9¢ | 30s | $41.86 | 83.7% | 0.42 | 83.3% | 15 |
| 6 | -1¢ | 9¢ | 60s | $41.86 | 83.7% | 0.42 | 83.3% | 15 |
| 7 | +1¢ | 5¢ | 120s | $40.92 | 81.8% | 0.44 | 72.7% | 41 |
| 8 | -1¢ | 8¢ | 30s | $35.90 | 71.8% | 0.32 | 83.3% | 20 |
What stands out: The -1¢ offset combined with a 5¢ minimum spread dominated the top two spots, both with identical P&L of $57.08 and a perfect 100% win rate over 19 trades. A 5¢ minimum spread appeared in the top four variants, and the -1¢ offset appeared in the top five. The 30s and 60s refresh intervals were largely interchangeable at the top.
These variants essentially placed bids 1 cent below the current best bid, but only when the spread was at least 5¢ wide — meaning there was at least a nickel of room between the two sides. When one side filled (often because the market moved toward one outcome), the other was cancelled, and the filled side eventually resolved in the maker’s favor — or the position was sold for a profit before expiry.
Bottom Results
The worst performers also clustered around a specific parameter set:
| Rank | Offset | Min Spread | Refresh | Total P&L | ROI % | Win Rate | Trades |
|---|---|---|---|---|---|---|---|
| 100 | -2¢ | 6¢ | 60s | -$24.90 | -49.8% | 0.0% | 41 |
| 99 | -2¢ | 6¢ | 30s | -$24.69 | -49.4% | 3.6% | 38 |
| 98 | -2¢ | 7¢ | 60s | -$17.05 | -34.1% | 33.3% | 13 |
| 97 | -2¢ | 7¢ | 30s | -$17.05 | -34.1% | 33.3% | 13 |
| 96 | -2¢ | 6¢ | 120s | -$5.03 | -10.1% | 60.0% | 18 |
| 95 | -2¢ | 5¢ | 90s | -$1.98 | -4.0% | 57.1% | 23 |
| 94 | -2¢ | 6¢ | 90s | -$1.77 | -3.5% | 66.7% | 20 |
| 93 | -2¢ | 7¢ | 120s | +$2.03 | +4.1% | 66.7% | 12 |
Pattern: The -2¢ offset was a disaster across almost all spreads and refresh intervals. By bidding 2 cents below best bid, the strategy was too passive — it either didn’t get filled at all, or when it did, it was only on the “wrong” side (adverse selection). The 6¢ minimum spread with -2¢ offset and shorter refresh intervals (30s, 60s) produced the worst results, losing essentially the entire $25 max loss limit. A 0% win rate over 41 trades (rank 100) means every single fill went against the maker — precisely the adverse selection the strategy was trying to overcome.
Conclusion
The simulation surface shows that a passive two-sided weather market-maker can generate positive returns in backtest, but only with careful parameter selection. The sweet spot was a -1¢ offset and a minimum 5¢ spread, with refresh intervals of 30–120 seconds all working reasonably well. This makes intuitive sense: -1¢ means you’re stepping in front of the existing best bid by just enough to attract fills, but not so far that you’re picking off stale quotes. The 5¢ minimum spread ensures you’re being compensated.
However, this comes with a large caveat. The robustness statistics tell a cautionary tale:
- The deflated Sharpe ratio is 0.81, below the 0.95 threshold that would distinguish the winner from selection noise. This means the top result is not statistically distinguishable from the luckiest outcome of a skill-less strategy sweep.
- The top variant has only 19 resolved trades — well below the 30-trade threshold for statistical reliability.
- The -2¢ offset variants lost money consistently, showing the strategy is fragile to parameter choices.
- The marginal analysis confirms that the -1¢ offset region dominates, but with high variance: mean P&L at -1¢ was ~$32, but the range across spreads was wide.
In plain English: the top results look good on paper, but we cannot rule out that they emerged from overfitting 100 variants to a small sample of trades. The core idea — capturing wide weather-market spreads — is not disproven, but it is not confirmed either. A live trial with the top configuration would need to be monitored carefully, and expectations should be tempered.
Long Disclaimer
Nature of this report: This is a historical simulation research report produced for internal purposes. All results are derived from backtesting on historical market data. Backtested performance does not represent actual trading and does not account for all real-world factors including, but not limited to, exchange fees, slippage, order queue position, partial fills, API latency, data feed delays, or market impact.
No investment advice: This report does not constitute investment advice, a recommendation, or an offer to buy or sell any security, derivative, or prediction market contract. Kalshi contracts are event-based binary options regulated by the CFTC. Trading in these instruments carries significant risk of loss.
Forward-looking statements: Nothing in this report should be interpreted as a prediction of future results. Markets change, and strategies that performed well in historical simulation may perform poorly — or fail entirely — in live trading.
Statistical limitations: The robustness statistics included in this report indicate that the top-performing variant may be the result of selection bias from testing multiple configurations. The deflated Sharpe ratio of 0.81 falls below the conventional 0.95 threshold for statistical significance in a multiple-testing context. The small number of resolved trades (19 for
This report is generated from historical simulations. Backtests can be wrong or incomplete, and live trading can differ materially because of liquidity, fees, slippage, latency, market resolution, outages, and data quality. Do your own review before running any strategy.