[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81620":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":14,"starSnapshotCount":14,"syncStatus":13,"lastSyncTime":32,"discoverSource":33},81620,"polymarket-weather-bot","hydra-node\u002Fpolymarket-weather-bot","hydra-node","Polymarket weather trading bot Polymarket weather betting bot Polymarket weather trading bot Polymarket weather betting bot Polymarket weather trading bot Polymarket weather betting bot Polymarket weather trading bot Polymarket weather betting bot Polymarket weather trading bot Polymarket weather betting bot Polymarket weather trading bot",null,"TypeScript",25,370,2,0,100,57.71,"MIT License",false,"main",true,[22,23,24,25,26,27,28],"bot","nodejs","polymarket","prediction-markets","trading-bot","typescript","weather","2026-06-12 04:01:34","# WeatherBet — Polymarket Weather Trading Bot\n\n> Turn forecast data into edge on Polymarket temperature markets. WeatherBet compares professional weather models against market prices, sizes positions with Kelly criterion, and trades automatically — in paper mode first, live when you're ready.\n\n[![Node.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNode.js-≥20.10-339933?logo=node.js&logoColor=white)](https:\u002F\u002Fnodejs.org\u002F)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-5.7-3178C6?logo=typescript&logoColor=white)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg)](LICENSE)\n\n---\n\n## Why WeatherBet?\n\nPolymarket runs daily temperature markets tied to airport METAR stations (NYC, Chicago, Dallas, and more). Retail traders often price these markets on gut feel. WeatherBet does something different:\n\n- **Multi-source forecasts** — ECMWF, HRRR\u002FGFS via Open-Meteo, plus live METAR from Aviation Weather\n- **Expected-value gating** — only enters when model edge exceeds your threshold\n- **Fractional Kelly sizing** — bet proportional to edge, not all-in on every market\n- **Self-calibration** — learns from resolved markets stored locally under `data\u002Fmarkets\u002F`\n- **Paper → live path** — simulate with Gamma prices before risking USDC on the CLOB\n\nIf you care about prediction markets *and* weather data, this is a full pipeline from forecast to fill.\n\n---\n\n## How It Works\n\n```mermaid\nflowchart LR\n    A[Open-Meteo \u002F METAR] --> B[Forecast Engine]\n    C[Polymarket Gamma] --> D[Market Scanner]\n    B --> E[EV + Kelly Sizer]\n    D --> E\n    E --> F{Paper or Live?}\n    F -->|Paper| G[Sim Balance]\n    F -->|Live| H[CLOB Orders]\n    G --> I[data\u002Fmarkets\u002F]\n    H --> I\n```\n\n1. **Scan** — discovers active weather markets and resolves station IDs (e.g. `KLGA`, `KORD`, `KDAL`)\n2. **Forecast** — pulls model runs and compares bucket probabilities to market asks\n3. **Size** — applies EV gate, spread filter (skip if spread > $0.03), and fractional Kelly\n4. **Manage** — stop-loss ~20%, breakeven trail after +20% gain\n5. **Report** — `report` command breaks down wins, losses, and calibration stats\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n- **Node.js 20.10+**\n- Git\n\n### Install\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fhydra-node\u002Fpolymarket-weather-bot.git\ncd polymarket-weather-bot\nnpm install\ncp env.example .env\n```\n\n### Paper trading (recommended first)\n\nLeave `WEATHERBOT_CLOB_LIVE` unset or set to `0`. The bot uses simulated balance and Gamma prices — no wallet needed.\n\n```bash\nnpm run dev -- run      # scan loop + position monitor\nnpm run dev -- status   # balance and open positions\nnpm run dev -- report   # resolved market breakdown\n```\n\n### Live trading\n\nSet in `.env`:\n\n```env\nWEATHERBOT_CLOB_LIVE=1\nWEATHERBOT_POLY_PRIVATE_KEY=0x...\nWEATHERBOT_POLY_PROXY_WALLET=0x...\n```\n\nThen build and run:\n\n```bash\nnpm run build\nnpm start -- run\n```\n\n---\n\n## Configuration\n\nAll settings use the `WEATHERBOT_*` prefix (see `src\u002Fconfig.ts` and `env.example`).\n\n| Variable | Purpose |\n|----------|---------|\n| `WEATHERBOT_VC_KEY` | Visual Crossing API key (historical \u002F resolution helpers) |\n| `WEATHERBOT_CLOB_LIVE` | `1` = live CLOB orders; unset\u002F`0` = paper |\n| `WEATHERBOT_POLY_PRIVATE_KEY` | Signing key for live mode |\n| `WEATHERBOT_POLY_PROXY_WALLET` | Polymarket proxy \u002F funder address |\n\n### Data sources\n\n| Source | Auth | Use |\n|--------|------|-----|\n| Open-Meteo | None | ECMWF, HRRR\u002FGFS forecasts |\n| Aviation Weather | None | Live METAR |\n| Polymarket Gamma | None | Market metadata, `clobTokenIds` |\n| Visual Crossing | API key | Historical data, resolution helpers |\n\n### Risk parameters\n\n- EV gate before every entry\n- Fractional Kelly position sizing\n- Stop-loss ~20%; breakeven trail after +20%\n- Spread filter: skip if spread > $0.03\n- Self-calibration from `data\u002Fmarkets\u002F` history\n\n---\n\n## CLI Reference\n\n| Command | Description |\n|---------|-------------|\n| `npm start -- run` | Main scan loop + position monitor |\n| `npm start -- status` | Current balance and positions |\n| `npm start -- report` | Resolved market performance |\n| `npm run dev -- \u003Ccmd>` | Development path via `tsx` |\n\n---\n\n## Project Structure\n\n```\nsrc\u002F\n├── index.ts       # CLI entry\n├── scan.ts        # Market discovery loop\n├── forecasts.ts   # Model ingestion\n├── math.ts        # EV, Kelly, calibration\n├── polymarket.ts  # Gamma API\n├── clob.ts        # Live order execution\n├── storage.ts     # Per-market JSON persistence\n└── report.ts      # Performance reporting\ndata\u002Fmarkets\u002F      # Forecasts, prices, positions, resolutions\n```\n\n---\n\n## Station Resolution\n\nMarkets resolve on **airport METAR station IDs** (e.g. `KLGA` for LaGuardia). City-center geocoding is intentionally avoided — resolution follows official NWS observation sites.\n\n---\n\n## Safety & Disclaimer\n\n- Start in **paper mode** until you understand the calibration and sizing logic.\n- Weather markets can gap on model errors, station relocations, or late METAR revisions.\n- Never commit `.env` or share private keys.\n- This software is for **education and research**. You are responsible for every trade.\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","WeatherBet 是一个针对 Polymarket 温度市场的自动交易机器人，它通过比较专业天气模型与市场价格来发现交易机会。该项目利用多源天气预报（如ECMWF、HRRR\u002FGFS等），结合凯利准则进行仓位管理，并提供从模拟到实盘的逐步过渡路径。其核心功能包括基于预期价值的交易决策、根据历史数据自我校准以及支持纸面交易模式以降低风险。适用于对预测市场和气象数据分析感兴趣的专业人士或团队，在无需深入理解底层技术细节的情况下，能够快速部署并参与到温度相关的金融衍生品交易中。","2026-06-06 04:07:05","CREATED_QUERY"]