< Back to Home

THE METHODOLOGY

164 Independent Forecasts.
One Trading Decision.

Most weather traders look at a single app icon and guess. We do not guess. The weather bot runs every decision through 164 independent simulations spanning four modeling centers, and only acts when at least three of those four families agree. The inflation bot applies the same discipline across five macro data streams for CPI and PCE contracts.

Four independent forecast systems → one probability

31

GFS

31

AIGEFS

51

ECMWF IFS

51

AIFS-ENS

164

total members

Trade gate: at least 3 of 4 systems must agree.

NOAA GFS

31 physics ensemble members

Operational GFS perturbations via Open-Meteo — probability distributions for daily highs and lows at each Kalshi city coordinate.

NOAA AIGEFS

31 AI ensemble members (Project EAGLE)

GraphCast-class architecture on NOAA data, pulled from AWS S3 GRIB2 and parsed to 2 m temperatures at each market city.

ECMWF IFS

51 ensemble members

Independent European centre physics ensemble — another uncorrelated vote on the same atmospheric outcome.

AIFS-ENS

51 AI ensemble members

ECMWF's AI ensemble adds a fourth modeling philosophy so the gate is about structural agreement, not one vendor's bias.

Inflation bot (CPI + PCE)

Five independent signal sources

Cleveland Fed nowcast, FRED energy leading indicators, BLS CPI subcomponents, BEA PCE tables, and a homemade weighted nowcast. When those views diverge by more than 0.15 percentage points, that disagreement becomes the actionable signal.

predict_and_profit — live run

[ INFO ] Fetching GFS ensemble members 1–31 via Open-Meteo API...

[ INFO ] Fetching AIGEFS ensemble members 1–31 from NOAA S3 (GRIB2)...

[ INFO ] Fetching ECMWF IFS ensemble members 1–51...

[ INFO ] Fetching AIFS-ENS members for grand ensemble...

[ CALC ] Building probability distributions — 164 members, 4 independent systems...

[ GATE ] SYSTEM_AGREEMENT gfs=PASS aigefs=PASS ecmwf=PASS aifs=PASS required=3of4 → PASS

[ GATE ] EDGE_SCORE ticker=KXHIGHTDC spread=0.91 volume=0.88 imbalance=0.76 mispricing=0.85 composite=0.85

[ EXEC ] ELIGIBLE ticker=KXHIGHTDC side=YES price=0.72 edge_score=0.85 → PLACING ORDER

[ INFO ] Scanning remaining tickers... majority rejected (threshold not met).

TRADE GATING

Four Signals. One Score.

Every potential trade is scored on four dimensions before a single dollar is risked. Only trades that pass all four filters with a composite score above threshold get executed. In practice, the bot rejects 95%+ of opportunities. Patience is the edge.

30%Spread Analysis

How tight is the bid-ask spread? Tight spreads mean real liquidity, not phantom orders sitting in an empty book.

20%Volume Confirmation

Is there actual trading activity, or is this a dead market? The bot requires minimum volume thresholds before entering.

25%Order Book Imbalance

Which side has more demand? If we are buying YES and the order book is stacked with YES bids, the market agrees with us.

25%Model Mispricing

How far is the market price from our 164-member grand ensemble probability? This is the core edge: the gap between what the market thinks and what the forecast systems say.

Example composite score calculation

spread=0.91 × 0.30 = 0.273 volume=0.88 × 0.20 = 0.176 imbal =0.76 × 0.25 = 0.190 misprice=0.85 × 0.25 = 0.213 ───────── composite = 0.852 ✓ ABOVE THRESHOLD → EXECUTE

PRODUCT STATUS

v2.0: Weather + Inflation, Shipped

The grand ensemble upgrade, inflation bot, SQLite defaults, strike consistency, regime flags, and optional dashboard are in the current Gumroad release. Existing buyers receive updates at no extra charge.

LIVE

164-member grand ensemble (GFS + AIGEFS + ECMWF + AIFS)

Four independent modeling centers. Agreement gate: at least 3 of 4 must align.

LIVE

Inflation bot — five macro signals

Cleveland Fed nowcast, FRED energy, BLS CPI detail, BEA PCE, homemade weighted nowcast.

LIVE

Strike consistency + regime detection

Logical position checks and contradiction logging before new risk is added.

LIVE

Optional visual dashboard + SQLite logging

Zero-config local database and an optional UI for monitoring runs.