[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-75721":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":15,"starSnapshotCount":15,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},75721,"polymarket-weather-trading-engine","Tsukamg\u002Fpolymarket-weather-trading-engine","Tsukamg","polymarket weather trading engine, polymarket weather trading bot, polymarket weather bot polymarket weather trading engine, polymarket weather trading bot, polymarket weather bot polymarket weather trading engine, polymarket weather trading bot, polymarket weather bot polymarket weather trading engine, polymarket weather trading bot","",null,"TypeScript",262,1659,81,0,171,59.66,"MIT License",false,"main",true,[23,24,25,26,27],"bot","polymarket","trading-bot","weather","weather-bot","2026-06-12 04:01:18","\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F79ba71a2-b2d9-48b5-91bb-034b79ab4d1b\n\n# 🌤 WeatherBet — Polymarket Weather Trading Bot\n\nThis is **TypeScript on Node.js**, which means `npm`, `tsc`, and the sweet sound of `fetch()` errors at 3 a.m. It is **not** a `pip install feelings` project. If your README-fresh eyes were looking for `python weatherbet.py`, that timeline branched; the future is `npm start -- run`.\n\nAutomated trading for Polymarket weather markets: hunt mispriced daily temperature buckets using real forecasts across a bunch of cities, then let math (Kelly, EV, stops) argue with strangers on the internet about °F.\n\n---\n\n## Does it make money?\n\nPlayback in the README (native controls — use the play button on the player):\n\n\u003Cvideo controls playsinline preload=\"metadata\" width=\"100%\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FTsukamg\u002Fpolymarket-weather-trading-engine\u002Fmain\u002Fsrc\u002Frec\u002F2026-05-13_01-03-44%20-%20user.mp4\">\u003C\u002Fvideo>\n\n**▶ [Watch on GitHub (file viewer)](https:\u002F\u002Fgithub.com\u002FTsukamg\u002Fpolymarket-weather-trading-engine\u002Fblob\u002Fmain\u002Fsrc\u002Frec\u002F2026-05-13_01-03-44%20-%20user.mp4)** — same video in GitHub’s own viewer if the inline player doesn’t appear (some renderers strip `\u003Cvideo>`).\n\nSource of truth for paths \u002F URLs: [`src\u002Frec\u002Fvideo.ts`](src\u002Frec\u002Fvideo.ts) (`MONEY_PROOF_VIDEO_*`). Local clone: open `src\u002Frec\u002F2026-05-13_01-03-44 - user.mp4` directly if you prefer a desktop player.\n\n---\n\n## What you get (the serious bullet list)\n\n- **20 cities** across several continents — we went full globetrotter so your VPS gets passport stamps\n- **3 forecast sources** — ECMWF (global), HRRR\u002FGFS (US, hourly), METAR (airport reality checks)\n- **Expected Value gate** — no trade if the spreadsheet blushes\n- **Kelly sizing** — position size scales with edge, not with how loud FinTwit is\n- **Stop-loss + trailing stop** — 20% stop, breakeven trail after +20%\n- **Slippage filter** — skips markets where the spread is doing zumba (over $0.03)\n- **Self-calibration** — remembers which cities lied to it last week\n- **JSON ledger** — every forecast blob, trade, and resolution saved under `data\u002Fmarkets\u002F`\n\nOptional **`@polymarket\u002Fclob-client`** when **`WEATHERBOT_CLOB_LIVE=1`**; otherwise it’s polite paper trading and Gamma quotes.\n\n---\n\n## How it works (short story)\n\nPolymarket asks questions like: *“Will Chicago peak at 46–47°F on March 7?”* Sometimes the crowd prices 8¢ while the atmosphere outside is clearly main‑character energy. The bot pulls model + observation data, maps the right airport station (not “downtown vibes”), finds the bucket, checks EV, sizes with fractional Kelly, then naps for 10 minutes before doing it again.\n\n---\n\n## Why airports, not “city center LatLng”\n\nPolymarket resolves on **airport METAR stations**. NYC is **KLGA**, Dallas is **KDAL** (Love Field, not Dallas Fort Worth’s holiday traffic simulator). A few degrees of latitude snobbery can yeet your 1°F bucket trade into the shadow realm.\n\n| City | Station | Airport |\n|------|---------|---------|\n| NYC | KLGA | LaGuardia |\n| Chicago | KORD | O'Hare |\n| Miami | KMIA | Miami Intl |\n| Dallas | KDAL | Love Field |\n| Seattle | KSEA | Sea-Tac |\n| Atlanta | KATL | Hartsfield |\n| London | EGLC | London City |\n| Tokyo | RJTT | Haneda |\n| ... | ... | ... |\n\n---\n\n## Installation\n\nRequires **Node.js 20.10+** (engine for `@polymarket\u002Fclob-client`, plus `fetch` \u002F `AbortSignal` timeouts that actually work).\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTsukamg\u002Fpolymarket-weather-trading-engine\ncd polymarket-weather-trading-engine\nnpm install\nnpm run build\n```\n\nEnv template:\n\n```bash\ncp env.example .env\n```\n\nOn Windows: `copy env.example .env`\n\nVariables use the **`WEATHERBOT_`** prefix (see `env.example`). Anything importing `src\u002Fconfig.ts` loads `.env` via [dotenv](https:\u002F\u002Fgithub.com\u002Fmotdotla\u002Fdotenv).\n\nSet **`WEATHERBOT_VC_KEY`** for Visual Crossing (post-game temps). Free key: [visualcrossing.com](https:\u002F\u002Fwww.visualcrossing.com).\n\n**Live CLOB:** **`WEATHERBOT_CLOB_LIVE=1`** plus **`WEATHERBOT_POLY_PRIVATE_KEY`**, **`WEATHERBOT_POLY_PROXY_WALLET`**, and optional CLOB API fields from `env.example`. Gamma still feeds market ids and `clobTokenIds`. Without live mode, it’s **paper-only** (sim balance + Gamma prices).\n\n---\n\n## Usage\n\n```bash\nnpm start -- run       # bot loop: full scan on interval, monitor between\nnpm start -- status    # balance + open positions\nnpm start -- report    # resolved markets breakdown\n# or after build:\nnode dist\u002Findex.js run\n```\n\nDev without a separate build:\n\n```bash\nnpm run dev -- status\n```\n\n---\n\n## Data storage\n\nEverything lands under `data\u002Fmarkets\u002F` — one JSON file per market: forecast snapshots, prices, positions, resolutions. The bot uses that history to calibrate and occasionally sigh at past you.\n\n---\n\n## APIs\n\n| API | Auth | Purpose |\n|-----|------|---------|\n| Open-Meteo | None | ECMWF + HRRR forecasts |\n| Aviation Weather (METAR) | None | Real-time station observations |\n| Polymarket Gamma | None | Market metadata |\n| Visual Crossing | Free key | Historical temps \u002F resolution helpers |\n\n---\n\n## Disclaimer\n\nNot financial advice. Prediction markets can turn money into a learning experience. Paper trade until the math stops giggling.\n","这是一个基于Node.js和TypeScript编写的Polymarket天气交易机器人，旨在自动化天气市场的交易。项目通过整合来自ECMWF、HRRR\u002FGFS及METAR的气象数据预测多个城市的温度变化，并据此在Polymarket上寻找被错误定价的温度区间进行买卖操作。其核心功能包括使用凯利准则调整仓位大小、设置止损与追踪止损以控制风险、过滤流动性差的市场以及自我校准机制等。适合于对天气衍生品感兴趣且希望通过量化分析获得收益的投资者或开发者使用。",2,"2026-05-18 11:12:32","CREATED_QUERY"]