|
|
há 7 meses atrás | |
|---|---|---|
| .claude | há 8 meses atrás | |
| packages | há 7 meses atrás | |
| scripts | há 8 meses atrás | |
| .dockerignore | há 7 meses atrás | |
| .env.example | há 7 meses atrás | |
| .gitignore | há 7 meses atrás | |
| CLAUDE.md | há 8 meses atrás | |
| Dockerfile | há 7 meses atrás | |
| README.md | há 7 meses atrás | |
| docker-compose.yml | há 7 meses atrás | |
| package.json | há 8 meses atrás | |
| pnpm-lock.yaml | há 7 meses atrás | |
| pnpm-workspace.yaml | há 8 meses atrás | |
| tsconfig.base.json | há 8 meses atrás | |
| turbo.json | há 8 meses atrás |
Polymarket 天气预测市场套利机器人。通过比较专业气象模型(GFS / ECMWF / ICON 集合预报)的概率与 Polymarket 每日温度市场的隐含概率,自动发现并交易定价偏差。
| 策略 | 说明 |
|---|---|
| TAIL_NO | 在尾部区间买入 NO — 当模型概率 < 5% 但市场 YES 价格 > 3¢ 时 |
| LATENCY_ARB | 新气象数据使概率偏移 > 5%,市场尚未重新定价时交易 |
| PARITY_ARB | 当某事件所有 YES 价格之和偏离 100¢ 时的纯套利 |
TypeScript monorepo,使用 Turborepo + pnpm workspaces。
packages/
core/ — 共享类型、工具函数、Prisma schema、常量
weather-engine/ — GFS/ECMWF/ICON 预报获取(Open-Meteo)、集合概率计算
market-engine/ — Polymarket Gamma API 扫描、CLOB 订单簿读取、认证下单
strategy/ — 信号生成(Tail NO / Latency Arb / Parity Arb)、风控、Kelly 仓位
trading-engine/ — 机器人主循环、流水线编排、健康检查服务
dashboard/ — Next.js App Router 仪表盘,实时市场数据、信号、手动下单
core (叶子节点 — 无内部依赖)
↑
weather-engine, market-engine (依赖 core)
↑
strategy (依赖 core + weather-engine + market-engine)
↑
trading-engine (依赖以上所有)
dashboard (依赖 core,直接读取数据库)
git clone <repo-url> && cd poly-weather
pnpm install
cp .env.example .env
# 编辑 .env,填入你的 Polymarket 钱包私钥和地址
# 仅启动 PostgreSQL + Redis(本地开发)
docker compose up -d postgres redis
# 或者启动全部服务(包括 bot + dashboard)
docker compose up -d
pnpm db:generate
pnpm db:push
pnpm derive-keys
# 将输出的 key/secret/passphrase 填入 .env
# 方式一:Docker 全栈启动
docker compose up -d
# 方式二:本地开发
pnpm i
pnpm build
pnpm bot:start # 启动交易机器人
pnpm dashboard:dev # 启动仪表盘 http://localhost:3000
| 服务 | 端口 | 说明 |
|---|---|---|
postgres |
5432 | PostgreSQL 16 数据库 |
redis |
6379 | Redis 7 缓存 |
bot |
3001 | 交易机器人(健康检查端口) |
dashboard |
3000 | Next.js 仪表盘 |
docker compose up -d # 启动全部
docker compose up -d postgres redis # 仅基础设施
docker compose logs -f bot # 查看 bot 日志
docker compose down # 停止全部
pnpm install # 安装所有依赖
pnpm build # 构建所有包
pnpm dev # 开发模式(全部包)
pnpm test # 运行测试
pnpm db:generate # 生成 Prisma Client
pnpm db:push # 推送 schema 到数据库
pnpm db:studio # 打开 Prisma Studio
pnpm bot:start # 启动交易机器人
pnpm dashboard:dev # 启动仪表盘开发服务器
pnpm derive-keys # 从 PRIVATE_KEY 派生 L2 API 密钥
参见 .env.example,关键变量:
| 变量 | 说明 |
|---|---|
DB_PASSWORD |
PostgreSQL 密码 |
DATABASE_URL |
PostgreSQL 连接串(引用 ${DB_PASSWORD}) |
REDIS_URL |
Redis 连接地址 |
PRIVATE_KEY |
Polymarket 钱包私钥 |
FUNDER_ADDRESS |
Polymarket 代理钱包地址 |
DRY_RUN |
true(默认)模拟交易,false 真实下单 |
AUTO_EXECUTE |
false(默认)仅检测信号,不自动下单 |
Private