Files
PolyWeather/README.md
T

7.2 KiB
Raw Blame History

🌡️ PolyWeather: Polymarket 天气交易监控系统

基于多源实时气象数据与 Polymarket 市场定价偏差分析的智能监控与指令系统。

🚀 运行指令

环境要求

  • Python 3.11 (必须,py-clob-client 依赖要求)
  • 已安装所有依赖:pip install -r requirements.txt

Windows 启动方式

# 方式一:使用 Python 3.11 启动器
py -3.11 run.py

# 方式二:激活虚拟环境后运行
.venv\Scripts\activate  # 激活虚拟环境
python run.py

Linux/VPS 启动方式

# 使用 screen 保持后台运行
screen -S polyweather
python3.11 run.py

# 按 Ctrl+A 然后 D 退出但保持运行
# 恢复:screen -r polyweather

该命令会同时启动:

  1. 监控引擎: 负责 7x24h 扫描并推送 85¢-95¢ 价格预警市场异常
  2. 指令监听器: 监听电报指令并返回实时信号。

🤖 电报机器人指令集

指令 描述 用法
/signal 获取交易信号 返回最早结算市场的 Top 5 档位
/portfolio 查看模拟仓位 获取实时模拟交易盈亏汇总报告
/status 检查系统状态 确认监控引擎是否在线
/help 指令帮助 显示所有可用指令

🎯 智能动态仓位策略

系统结合 Open-Meteo 天气预测成交量价格锁定程度 自动决定仓位大小:

条件组合 仓位 标签 说明
价格 ≥90¢ + 天气支持 + 高成交量 $10 🔥高置信 三重确认,重注
价格 ≥90¢ + 天气支持 $7 中置信 双重确认
价格 ≥92¢ $5 📌价格锁定 纯价格锁定
其他 85-91¢ $3 💡试探 最小仓位试探

天气支持判断逻辑

  • 买 NOOpen-Meteo 预测温度在选项区间 之外 (±2° 容差)
  • 买 YESOpen-Meteo 预测温度 落入 选项区间

成交量判断

  • 高成交量:单个选项成交量 ≥ $5,000

📢 推送维度说明

1. 📂 城市预警汇总 (主动推送)

  • 优化机制: 同一轮扫描中,同一城市的所有异动将合并为一条消息发送,拒绝刷屏。

  • 触发内容: 包含该城市下所有符合条件的"价格预警"与"市场异常"。

  • 价格来源: 推送使用真实 Ask 价格(实际可成交价格),而非中间价

  • 推送格式:

    ⚡ 40-41°F (2026-02-06): Buy No 87¢ | 预测:38°F [🛒 $10.0 🔥高置信]
    
    💡 策略建议:
    • 预测温度38.0°C落在40-41°F区间,市场与模型一致
    

2. 价格预警 (触发模拟买入)

  • 触发条件: Buy Yes 或 Buy No 价格在 85¢-95¢ 区间。
  • 关联动作: 系统根据智能仓位策略自动执行 $3-$10 的模拟开仓。
  • 用途: 高胜率/即将锁定区间提醒,适合平仓或收割。

3. 👀 市场异常

  • 大户入场: 检测到单笔 >$5000 的大额交易且买卖比失衡。
  • 异常交易流: 成交量突然放大 (>2倍历史标准差)。

4. 📅 每日盈亏总结

  • 触发时间: 北京时间 23:55 左右自动推送。
  • 内容: 汇总当日所有模拟仓位的浮动盈亏、余额变动及胜率统计。

5. 🎯 交易信号 (/signal 指令)

优先显示最早结算日期的市场,按机会价值排序,返回 Top 5 档位:

🎯 即将结算市场 (2026-02-06)
共 43 个活跃选项

🔥 1. Dallas 76-77°F
   💡 预测80.7°高于77° → 买NO ✓
   📊 Buy No 94¢ | ⏳接近锁定

🔥 2. Atlanta 56-57°F
   💡 预测60.4°高于57° → 买NO ✓
   📊 Buy No 94¢ | ⏳接近锁定

⭐ 3. Miami 62-63°F
   💡 预测65.3°高于63° → 买NO ✓
   📊 Buy No 88¢ | ⏳接近锁定

锁定状态说明:

  • 🔒锁定: 价格 ≥95¢
  • 接近锁定: 价格 85-94¢
  • 👀观望: 价格 70-84¢
  • ⚖️均衡: 价格 <70¢

📊 模拟交易报告格式

通过 /portfolio 指令查看,报告按目标日期分组显示:

📊 模拟交易报告
════════════════════

📈 【2026-02-06】 小计: +2.45$
──────────────────
🟢 Chicago 40-41°F
   NO 87¢→92¢ 预测:38 | +0.47$
🟢 Chicago 32-33°F
   NO 94¢→98¢ 预测:38 | +0.12$

💰 持仓总计: +6.89$

📈 历史战绩:
累计成交: 18笔 | 胜率: 100.0%
已投入: $90.00 | 盈亏: +12.50$ (+13.9%)

════════════════════
💳 账户余额: $639.11

🛠️ 环境配置 (.env)

# Telegram 机器人
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_CHAT_ID=your_chat_id

# Polymarket API (用于批量获取实时盘口价格与交易历史)
POLYMARKET_API_KEY=your_api_key_here

# 代理设置 (如需要,VPS 部署时可删除)
HTTPS_PROXY=http://127.0.0.1:7890
HTTP_PROXY=http://127.0.0.1:7890

🏗️ 项目架构

本项目完全基于 py-clob-client 官方客户端构建:

  • 所有与 Polymarket 的交互(市场数据、订单簿、下单等)均通过 py-clob-client 实现
  • 核心 API 封装在 src/data_collection/polymarket_api.py

📂 数据文件说明

文件 说明
data/paper_positions.json 模拟仓持仓、余额、交易历史
data/pushed_signals.json 已推送信号记录(防刷屏)
data/active_signals.json 当前活跃交易信号
data/all_markets.json 全量市场缓存
data/price_history.json 价格历史(用于趋势计算)

📋 核心功能特性

  • 智能动态仓位: 结合天气预测、成交量、价格锁定程度自动调整仓位 ($3-$10)。
  • 预测温度追踪: 每笔交易记录买入时的 Open-Meteo 预测温度,方便复盘验证。
  • 智能合并推送: 按城市汇总预警,界面整洁不刷屏。
  • 全自动模拟交易: 内置模拟仓位系统,支持 85-95¢ 区间自动跟单,记录实战胜率。
  • 极速价格同步: 采用 Polymarket 批量 API 接口,一次同步全量城市,无延迟、无 404。
  • 北京时间适配: 所有推送时间戳与每日总结均自动转换为北京时间 (UTC+8)。
  • 智能日期选择: 自动定位最早的活跃市场日期,结算后自动顺延。
  • 温度单位自适应: 美国市场切换华氏度 (°F),其他地区显示摄氏度 (°C)。
  • 全量数据持久化: 信号记录、推送历史、交易仓位均保存至本地 JSON。

🔄 VPS 更新步骤

# 1. 本地推送代码
git add . && git commit -m "update" && git push

# 2. VPS 拉取并重启
ssh root@VPS_IP "cd ~/PolyWeather && git pull && screen -S polyweather -X quit; screen -dmS polyweather python run.py"