👁

Signal Methodology v1.0

Multi-Model Ensemble + HRRR Weather Signal System
for Temperature Prediction Markets

Version 1.0
Published May 2026
Track Record exchange-verified at /track
Ensemble GFS + ECMWF + ICON + GEM
Cities Scanned 40+
Important: This document describes a signal methodology, not a guaranteed trading strategy. The full per-trade record is published and exchange-verified at /track, reconstructed line-by-line from Kalshi's own settlement and fill records (every stop-loss exit counted at its realized price). Past performance is not indicative of future results. Seasonality, model uncertainty, and market liquidity all affect outcomes. See Section 7 for failure modes.
Table of Contents
  1. Executive Overview
  2. Our Approach (data & edge)
  3. Risk Management & Bankroll
  4. Known Failure Modes
  5. Live Track Record Summary
  6. Legal Disclosures
§ 1

Executive Overview

3rd Eyes publishes meteorological signals for US weather prediction markets - Kalshi, and the identical contracts carried by Coinbase and Robinhood - focused on daily high- and low-temperature contracts. The core insight is that weather models, particularly a multi-model forecast ensemble and HRRR short-range radar assimilation, can identify temperature outcomes with sufficient confidence to generate positive expected value (EV) on binary contracts.

The strategy targets a specific market inefficiency: market makers price temperature thresholds using basic climatological priors. When numerical weather prediction (NWP) models diverge strongly from those priors, due to an identifiable synoptic pattern, we publish a NO signal. The edge is meteorological, not statistical arbitrage.

Core Thesis in One Sentence

When an independent multi-model ensemble and the HRRR hourly update agree that a temperature threshold will NOT be reached, but the market is still pricing that event as meaningfully possible, the true probability is lower than the price implies, creating positive expected value on the NO side.

We operate exclusively on NO contracts, betting that a temperature threshold will not be exceeded (for high-temp markets) or not be reached (for low-temp markets). This creates asymmetric payouts: risk $X to win ~$Y where Y > X when the market has mispriced the probability.

§ 2

Our Approach

Every signal starts with a multi-model forecast ensemble - four independent global weather models (GFS, ECMWF, ICON, GEM) - cross-checked against HRRR, NOAA's high-resolution short-range model, for near-term markets. Pooling independent models cancels any single model's bias, and the disagreement between them becomes our measure of uncertainty.

A market only becomes a signal when the models agree that a temperature threshold will not be reached and the exchange is still pricing that outcome as a real possibility. We trade NO contracts only - fading temperature bands the market has priced too high - which keeps every position on the same, well-understood side of the payoff.

What turns a forecast into a trade

Each candidate passes a fixed sequence of checks - liquidity, model agreement, a calibrated confidence floor, and a positive-expected-value margin - before it is ever published. Anything that fails a single check is dropped. Our win-probability model is continuously re-learned from our own measured accuracy, so confidence tracks results rather than assumptions.

This project is closed. 3rd Eyes stopped taking subscriptions in September 2026. The full operational detail is no longer distributed, but the complete trade record remains public at /track.
§ 3

Risk Management & Bankroll Discipline

The 3rd Eyes framework prioritizes capital preservation over maximizing individual trade returns. This manifests in four hard rules:

Rule 1: Never size into thin orderbooks

Minimum fill $8. If the orderbook cannot fill $8 at the target price, skip the trade entirely. Thin markets mean: poor price execution, high slippage on exit, and outsized fee impact.

Rule 2: Respect the stop-loss unconditionally

The stop - 20¢ below entry - is not a suggestion. When the NO price falls that far (e.g., 95¢ → 75¢), the position is exiting a scenario where our model edge has deteriorated (an unexpected weather development). Holding through a stop risks full position loss.

Rule 3: No pyramiding into losing positions

If a position moves against us, we do not add contracts. The stop-loss exits the position. We wait for the next independent signal.

Rule 4: Fixed-fractional sizing

Every position is a small, fixed fraction of one bankroll (commonly 1-5%). A loss never increases the next stake. The stop limits losses in orderly markets but not in gapping or illiquid ones: assume the worst case on any position is a total loss of that position's stake. We also cap concurrent positions in any one weather region at 2, so a single correlated weather event can't hit several at once.

§ 4

Known Failure Modes

We are transparent about the conditions under which this methodology underperforms or fails. Every subscriber should understand these risks before placing any position.

Failure Mode Cause Mitigation Frequency (estimated)
Sudden synoptic shift A frontal system moves faster or slower than models predict, pushing temps across the threshold after signal entry Stop-loss at 75¢ (20¢ below entry) ~1-2% of trades
Urban heat island miss The global models' ~25km resolution can miss localized urban heating; HRRR 3km typically catches this for ≤24h, but not always Use HRRR confirmation for city markets ~1% of trades
Convective outlier An unexpected thunderstorm (especially summer) suppresses daytime high below model forecast - but for NO bets, this is usually a win N/A (benefits NO positions) N/A
Model initialization error A bad radiosonde observation poisons the GFS analysis, creating a systematically wrong forecast for 1-2 days HRRR cross-check (HRRR uses independent radar data) <0.5% of trades
Kalshi thin market Low liquidity → poor fill price → fee drag erases edge $8 minimum fill filter Excluded from W/L
Summer convective season June-August afternoon convection randomizes peak temperatures; model uncertainty 3× higher than spring Lower-band signals (< 90% win-prob) suspended; position sizing halved on the rest Seasonal - 3 months/year
API / system downtime Kalshi API outage, VPS failure, or cron job failure can cause missed signals or missed stop-loss exits 5-min scan + 1-min position monitor; Telegram alerts on error Rare, monitored
⚠️ Seasonality Warning: Mid-summer status (Jul 2026): summer was the stress-test we flagged, and the record held - the win rate through late July is above the spring figure, helped by summer heat bands settling cleanly. Summer also produced our largest single-day losses when forecasts busted intraday, which drove exit-logic upgrades. Full seasonal write-up after August 2026; variance remains real and losing streaks still happen.
§ 5

Track Record

The full per-trade record is published and updated daily at /track, reconstructed line-by-line from Kalshi's own settlement and fill records. Every win, every loss, every stop-loss exit at its realized price.

How we got here, in the open. An earlier version of this section displayed self-reported win/loss numbers that were under-recording stop-loss exits. Rather than patch a figure we couldn't fully stand behind, we took the table offline, rebuilt the entire ledger directly from Kalshi's own settlement and fill records (the exchange's data, not ours), and republished it as the live table at /track.

Every row there is reconciled to a Kalshi fill. Every stop-loss exit is counted at the actual price we got out, not the model's intended exit. If you ever see a discrepancy with your own broker view, the exchange data is the source we trust.