[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-76289":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":26,"readmeContent":27,"aiSummary":28,"trendingCount":14,"starSnapshotCount":14,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},76289,"polymarket-weather-trading-bot","OpenPatchLab\u002Fpolymarket-weather-trading-bot","OpenPatchLab","polymarket weather bot polymarket weather trading bot weather bot polymarket weather bot polymarket weather trading bot weather bot polymarket weather bot polymarket weather trading bot weather bot polymarket weather bot polymarket weather trading bot weather bot polymarket weather bot polymarket weather trading bot weather bot",null,"TypeScript",141,2843,100,0,51,10,"MIT License",false,"main",true,[22,23,24,25],"bot","polymarket","trading","weather","2026-06-12 02:03:41","\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\u002FOpenPatchLab\u002Fpolymarket-weather-trading-bot\ncd polymarket-weather-trading-bot\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","该项目是一个基于Polymarket平台的天气交易自动化机器人，使用TypeScript编写。它通过分析来自多个城市的实际天气预报数据，自动寻找被错误定价的温度区间进行交易，并利用数学模型如凯利准则、期望值等来优化投资策略。该机器人支持全球20个城市的数据，整合了三种不同的天气预测源，并具备自我校准、止损及追踪止损等功能以降低风险。适用于希望在Polymarket上进行天气相关衍生品交易并希望通过算法辅助决策提高收益的用户或团队。",2,"2026-05-19 02:31:40","CREATED_QUERY"]