Skip to content

jkeatn/Rainmaker

Repository files navigation

Rainmaker Banner

Rainmaker

Rainmaker

Autonomous weather prediction agent on Polymarket.
Forecasts don't lie. Markets do.

Polymarket GitHub Creator

Win Rate ROI Sharpe Markets 24/7

EXKGb2SNA9D7umDm7kDGvMMoZDb6Tiz32K27zRKTBAGS


What is Rainmaker?

Rainmaker is an autonomous agent that bets on weather prediction markets on Polymarket. It pulls real-time meteorological data from NOAA, ECMWF, and GFS, builds ensemble probability distributions, and compares them against live market odds. When the market is wrong about the weather, Rainmaker bets against it.

It has been live since January 2026. It is profitable.


How it works

   Weather Data                    Polymarket
   +-----------+                   +-----------+
   | NOAA      |                   | Open      |
   | ECMWF     |----> Ensemble --->| Markets   |---> Edge?
   | GFS       |     Probability   | Implied   |      |
   | Satellite |     Distribution  | Odds      |      |
   +-----------+                   +-----------+      |
                                                      v
                                              +---------------+
                                              | Yes: Bet      |
                                              | No:  Wait     |
                                              +---------------+
  1. Ingest — continuous feed from NOAA, ECMWF, GFS, satellite imagery, and 40 years of climate records
  2. Model — weighted ensemble averaging across forecast models, producing probability distributions for every weather outcome with active markets
  3. Compare — agent probability vs. market implied probability. The gap is the edge
  4. Bet — when edge exceeds threshold, size position using quarter-Kelly, respecting bankroll and liquidity constraints
  5. Settle — track outcomes, update model weights based on calibration, compound profits

Market coverage

Category Example Edge source
Temperature "NYC hits 100°F in July?" Ensemble spread vs. crowd overreaction to headlines
Precipitation "LA gets >2in rain this week?" GFS + satellite convergence
Hurricanes "Cat 3+ hurricane before October?" SST anomalies + historical base rates
Snowfall "White Christmas in Chicago?" Multi-model agreement scoring
Records "Hottest month on record?" Climate trend + model consensus
Seasonal "El Nino declared by Q3?" ENSO index + oceanic thermal inertia

The best edge is in hurricane markets. The crowd panics or sleeps — Rainmaker reads sea surface temperatures.


Risk management

pub struct RiskEngine {
    bankroll: f64,
    max_position: f64,         // 5% of bankroll per market
    max_drawdown: f64,         // halt at 15%
    correlation_tracker: CorrelationMatrix,
}

impl RiskEngine {
    pub fn size(&self, edge: f64, odds: f64, category: &str) -> f64 {
        let kelly = edge / odds;
        let quarter_kelly = kelly * 0.25;
        let correlated = self.correlation_tracker.exposure(category);
        let adjusted = (quarter_kelly - correlated).clamp(0.0, self.max_position);
        self.bankroll * adjusted
    }
}
  • Max 5% bankroll on any single market
  • Max 10% of a market's liquidity
  • Quarter-Kelly sizing (conservative)
  • Correlated exposure tracking across weather categories
  • Auto-halt at 15% drawdown

Performance

Metric Value
Win rate 73.2%
ROI +41.8%
Sharpe ratio 2.14
Max drawdown -8.3%
Markets traded 147
Avg edge at entry 12.4%
Best category Hurricanes (81%)

Why does the edge exist? Three reasons: meteorological models are better than people think, weather markets on Polymarket are thin and slow to reprice, and most participants bet on weather with gut feeling. Rainmaker uses data.


Architecture

                          Rainmaker Runtime
    +-----------------------------------------------------+
    |                                                     |
    |   Ingestion            Modeling         Execution   |
    |                                                     |
    |   - NOAA API           - Ensemble       - Market    |
    |   - ECMWF API            Averaging        Scanner  |
    |   - GFS API            - Bayesian       - Position  |
    |   - Satellite Feed       Updating         Sizing   |
    |   - Climate Archive    - Confidence     - Order    |
    |                          Intervals        Execution|
    |                        - Calibration    - P&L      |
    |                          Tracking         Tracking |
    +-------------------+--+------------------------------+
                        |  |
                        v  v
    +-----------------------------------------------------+
    |   Risk Engine         |    Treasury                 |
    |   - Kelly sizing      |    - Reinvest 80%           |
    |   - Correlation hedge |    - Reserve 20%            |
    |   - Drawdown monitor  |    - Self-funding loop      |
    +-----------------------------------------------------+

About

Built by Jake Eaton and Vincent Koc. Jake is a writer and editor at Anthropic. Vincent is a technologist and AI engineer. Rainmaker is a side project — an experiment in autonomous agents making real decisions with real money in prediction markets.

Role
jkeatn Creator
vincentkoc Core Engineering

Independent project. Does not represent any employer.


Rainmaker. The forecast never stops.

About

Autonomous weather prediction agent. Bets on Polymarket. 73% win rate.

Resources

License

Stars

Watchers

Forks

Contributors