From e955599a64e6be977c5f68554d7ae3fcac0777ed Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Fri, 27 Feb 2026 01:54:06 +0800 Subject: [PATCH] docs: rewrite README with high-end quant trading focus and DEB/AI architecture --- README_ZH.md | 317 ++++++++++++++++----------------------------------- 1 file changed, 101 insertions(+), 216 deletions(-) diff --git a/README_ZH.md b/README_ZH.md index 3fe6e1dc..1455d275 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -1,27 +1,64 @@ -# 🌡️ PolyWeather: 实时天气查询与分析机器人 +# 🌡️ PolyWeather: 量化天气交易与 AI 控制中枢 -专为预测市场和天气博弈设计的智能天气机器人。通过绕过 CDN 缓存直接从全球气象站获取最新数据,并提供**模型共识评分**和**入场时机信号**等通俗易懂的自动趋势分析。 +![Banner Placeholder: Futuristic Weather Trading System] -## 🚀 快速开始 +PolyWeather 不仅仅是一个天气查询工具,它是专为 **Polymarket/天气衍生品** 等预测市场打造的**机构级气象量化交易辅助系统**。它通过直连全球航空级别气象站 (METAR),结合多模型动态权重融合 (DEB)、实时微气候特征工程,并由庞大的 LLaMA 70B AI 大模型剥离人工情绪,为您提供极速、客观、致命的交易信号。 -### 环境要求 +--- -- **Python 3.11+** -- 依赖安装: `pip install -r requirements.txt` -- **环境变量**: 在 `.env` 中设置 `TELEGRAM_BOT_TOKEN`(必需)。可选设置 `METEOBLUE_API_KEY` 以激活伦敦高精度预报。 +## 🚀 核心战力矩阵 (Core Features) -### VPS 部署 (推荐) +### 1. 🧠 独家护城河:动态权重集合算法 (DEB - Dynamic Ensemble Blending) -**首次部署:** +传统气象机器人只会机械地计算欧洲 ECMWF 和美国 GFS 的死板平均值。PolyWeather 引入了**动态记账与回溯算法**: + +- **自适应权重进化**:基于过去 7-14 天内各个模型在特定机场(如 Ankara 的 Esenboğa 机场)的Mean Absolute Error (平均绝对误差 MAE) 表现,系统在每次查询时会自动对 5 大预测模型(ECMWF, GFS, ICON, GEM, JMA)进行误差惩罚。 +- **高频并发安全锁 (Thread-Safe Database)**:搭载底层内存态单例缓存机制与系统级文件并发锁 (fcntl Lock),即使在 500 人以上的超级大群遭遇瞬间峰值查询,系统依然能保证 0 I/O 拥堵和微秒级响应。 + +### 2. 🤖 人工智能交易老手 (Groq AI Agent) + +系统不再输出枯燥的数字或废话模版。我们将**所有复杂的动力学参数**(风向、风速矩阵、降温惯性、进位阻力) 投喂给 LLaMA 3.3 70B (通过极速 Groq 接口): + +- **🧊 强制冷静,剥离情绪**:独创强迫逻辑约束提示词,AI 会精准判断诸如“下午3点吹 15kt 偏北冷风,且辐射跌破 50W/m²”的情况,并直接宣布“已过最热时点核心区,盘口冻结”。 +- **🎯 量化置信度 (Confidence Scoring)**:直接给出带有强指导意义的 1-10 满分制置信度。置信度极高意味着“立刻建仓”,置信度极低则警告系统遇到了风向或降雨的不确定性博弈。 + +### 3. ⏱️ 绝对实况统治力 (Zero-Cache METAR Extraction) + +在 Polymarket 结算的绞肉机里,**1 分钟的延迟可能意味着 100% 的本金亏损**。 + +- PolyWeather 设计为每次调用均动态附加一次性戳环,强制穿透所有代理网络(CDN)的静态缓存池。 +- 提取出的不仅是“当下几度”,而是精确到小数点的结算分析(包括 Wunderground X.5 四舍五入进制边界的死亡预警)。 + +### 4. 📈 历史大数据挖掘基建 (Data Mining Foundation) + +内置 `fetch_history.py` 原生爬虫系统。 + +- 一键下拉全球任意城市基准点过去 3-5 年的小时级历史物理沙盒数据特征矩阵(包含湿度、长短波辐射、地表气压等 10 余个维度),最高达数十万行量级。 +- 随时为下一代 XGBoost / LightGBM 的机器学习偏差校正(MOS)提供无限火力弹药。 + +--- + +## ⚡ 部署指南 (Deployment & Operations) + +### 环境架构要求 + +- **内核驱动**: Python 3.11+ (严格遵守) +- **依赖栈**: `pip install -r requirements.txt` +- **系统挂载**: 极简配置,仅需 `.env` 文件注册您的 `TELEGRAM_BOT_TOKEN` 及 `GROQ_API_KEY` 即可召唤 AI。 + +### VPS 推荐一键上线 (Production) + +**步骤一:构建与注册** ```bash git clone https://github.com/yangyuan-zhen/PolyWeather.git cd PolyWeather pip install -r requirements.txt -cp .env.example .env # 编辑 .env 填入你的 Token 和 API Key +cp .env.example .env # 务必填入您的加密 API 密钥 ``` -**创建一键更新脚本(只需执行一次):** +**步骤二:守护进程一键装配 (Daemon Updater)** +建立自动化保活脚本,将更新、防冲突、重载集成在一条指令内: ```bash cat > ~/update.sh << 'EOF' @@ -32,238 +69,86 @@ git reset --hard origin/main pkill -f run.py pkill -f bot_listener.py sleep 1 -nohup python3 run.py > bot.log 2>&1 & -echo "✅ 已更新并重启!" +nohup python3 bot_listener.py > bot.log 2>&1 & +echo "✅ PolyWeather 量化终端已成功重启并搭载最新模块!" EOF chmod +x ~/update.sh ``` -**日常更新(每次代码推送后):** +**日常战争指令 (Push & Play):** ```bash ~/update.sh ``` -> 一条命令完成:拉取最新代码 → 杀旧进程 → 启动新进程。无需手动处理分支冲突。 - -### 本地开发 (Windows) - -```bash -py -3.11 run.py -``` - -> 本地笔记本**不需要安装依赖**,只用来编辑代码和 Git 推送。IDE 的 import 报错是因为本地没装依赖,不影响 VPS 运行。 +> 一键抹平 Git 冲突、热冷重启及日志切割。 --- -## 🤖 Telegram 机器人指令 +## 🕹️ Telegram 指控终端 (Command Center) -| 指令 | 功能 | 说明 | -| :------------- | :--------------- | :------------------------------- | -| `/city [城市]` | **查询城市天气** | 获取详细预报、机场实测与趋势分析 | -| `/id` | **获取 Chat ID** | 获取当前 Telegram 聊天 ID | -| `/help` | **帮助** | 显示所有可用指令 | +| 战术指令 | 触发动作 | 模块反馈 | +| :----------------- | :----------- | :-------------------------------------------------------------------------------------- | +| `/city [城市代码]` | **火力侦察** | 发起全维度气象扫描,返回 DEB 加权预报、实测跟踪、进位结算风险预警,及 AI 量化看盘结论。 | +| `/id` | **身份确认** | 映射当前交战信道(Chat ID)。 | +| `/help` | **终端手册** | 拉取最新指令集。 | -### 支持的城市 +### 支持的主力猎场 (Target Arenas) -| 城市 | 缩写/别名 | METAR 机场 | 额外数据源 | -|:---|:---|:---|:---| -| 伦敦 London | `lon`, `伦敦` | EGLC (City Airport) | Meteoblue | -| 巴黎 Paris | `par`, `巴黎` | LFPG (Charles de Gaulle) | — | -| 安卡拉 Ankara | `ank`, `安卡拉` | LTAC (Esenboğa) | MGM | -| 纽约 New York | `nyc`, `ny`, `纽约` | KLGA (LaGuardia) | NWS | -| 芝加哥 Chicago | `chi`, `芝加哥` | KORD (O'Hare) | NWS | -| 达拉斯 Dallas | `dal`, `达拉斯` | KDAL (Love Field) | NWS | -| 迈阿密 Miami | `mia`, `迈阿密` | KMIA (International) | NWS | -| 亚特兰大 Atlanta | `atl`, `亚特兰大` | KATL (Hartsfield-Jackson) | NWS | -| 西雅图 Seattle | `sea`, `西雅图` | KSEA (Sea-Tac) | NWS | -| 多伦多 Toronto | `tor`, `多伦多` | CYYZ (Pearson) | — | -| 首尔 Seoul | `sel`, `首尔` | RKSI (Incheon) | — | -| 布宜诺斯艾利斯 Buenos Aires | `ba`, `布宜诺斯艾利斯` | SAEZ (Ezeiza) | — | -| 惠灵顿 Wellington | `wel`, `惠灵顿` | NZWN (Wellington) | — | +从低风险高容错的中东非靶场,到高风险巨大滑点的北美绞肉机,PolyWeather 均提供了不同的机场偏误(Risk Profile)补偿模板: +`lon`(伦敦 EGLC)、`par`(巴黎 LFPG)、`ank`(安卡拉 LTAC)、`nyc`(纽约 KLGA)、`chi`(芝加哥 KORD)、`ba`(布宜诺斯艾利斯 SAEZ)... 以及更多。 -### 使用示例 - -``` -/city 巴黎 -/city london -/city par -``` +> **示例射击:** +> `/city 巴黎` +> `/city london` +> `/city ba` --- -## ✨ 核心功能 - -### 1. 🏛️ 多源数据融合 - -| 数据源 | 数据角色 | 覆盖范围 | 优势 | -| :---------------------- | :------------- | :--------- | :----------------------------------------------------------- | -| **多模型 (5 NWP)** | **共识评分** | 全球 | ECMWF、GFS、ICON、GEM、JMA — 5 个完全独立的数值预报模型,经 Open-Meteo 统一获取 | -| **Open-Meteo** | 基础预测 | 全球 | 72h 逐小时温度曲线、日出日落、**日照时长**、**短波辐射** | -| **Open-Meteo Ensemble** | **不确定性区间** | 全球 | 51 成员集合预报:中位数、P10、P90 散度用于置信度评估 | -| **Meteoblue (MB)** | 高精度共识 | 仅限伦敦 | 聚合多家模型,对微气候处理极佳 | -| **METAR** | **结算标准** | 全球机场 | Polymarket 结算参考的绝对真理,实时机场观测 | -| **NWS** | 官方预测(美) | 仅限美国 | 美国国家气象局高精度预报 | -| **MGM** | 实测数据(土) | 仅限安卡拉 | 土耳其气象局:气压、云量、体感温度、24h 降水 | - -> ⚠️ **所有 NWP 模型查询使用机场坐标**(与 METAR 站点一致),而非市中心。这消除了预报位置与结算位置之间的系统性偏差。 - -**Open-Meteo API 架构关系**:三个 API 调用都经过 Open-Meteo 平台,但获取的是不同维度的数据: - -``` - Open-Meteo (API 平台) - │ - ┌─────────────┼─────────────┐ - │ │ │ - ┌──────┴──────┐ │ ┌──────┴──────┐ - │ /forecast │ │ │ /forecast │ - │ (默认模式) │ │ │ ?models=... │ - │ = best_match│ │ │ = 多模型模式 │ - └──────┬──────┘ │ └──────┬──────┘ - │ │ │ - ▼ │ ▼ - 自动选最佳模型 │ 返回每个模型单独结果 - (通常 ≈ ECMWF) │ ECMWF / GFS / ICON - → 逐小时曲线 │ GEM / JMA - → 日出日落 │ → 共识评分 - → 日照/辐射 │ - ┌──────┴──────┐ - │ /ensemble │ - │ 51成员集合 │ - └──────┬──────┘ - │ - ▼ - 中位数 / P10 / P90 - → 不确定性区间 -``` - -> 💡 OM 默认预报本质上是 5 个模型中的**某一个**(自动选择),因此**不参与共识评分**,避免双重计数。 - -### 2. ⚡ 超新鲜数据 (零缓存) - -- **动态时间戳**:每个 API 请求都附带唯一令牌,强制服务器绕过 CDN 缓存。 -- **MGM 实时同步**:针对土耳其 MGM API 做了专门的 Header 伪装和时区校正。 - -### 3. 🎯 多模型共识评分 - -机器人同时查询 **5 个独立 NWP 模型**(ECMWF、GFS、ICON、GEM、JMA)来评估预报一致性: - -| 等级 | 条件(摄氏/华氏) | 含义 | -|:---|:---|:---| -| 🎯 **高共识** | 极差 ≤ 0.8°C / 1.5°F | 5 个模型高度收敛 — 高置信,低风险 | -| ⚖️ **中共识** | 极差 ≤ 1.5°C / 3.0°F | 轻微分歧 — 中等置信 | -| ⚠️ **低共识** | 极差 > 1.5°C / 3.0°F | 模型严重分歧 — 不确定性大,建议观察 | - -主要模型:**ECMWF IFS**(欧洲)、**GFS**(美国 NOAA)、**ICON**(德国 DWD)、**GEM**(加拿大)、**JMA**(日本)。伦敦额外有 Meteoblue,美国城市额外有 NWS。集合预报中位数不参与评分,避免双重计数。 - -**核心逻辑**:当 5 个独立模型在温度区间上高度收敛,而市场定价尚未反映时,这就是典型的**结构性定价错误**——低风险套利的黄金机会。 - -### 4. 📊 集合预报散度(新功能) - -从 Open-Meteo 获取 51 成员集合预报,量化预测不确定性: - -> 📊 **集合预报**:中位数 10.8°C,90% 区间 [9.5°C - 12.1°C],波动幅度 2.6°。 - -区间窄 = 大气状态明确,预报可信。区间宽 = 大气混沌,风险高。 - -**确定性 vs 集合偏差检测**:当 OM 确定性预报超过集合 P90 或低于 P10 时,机器人会发出警告。如果实测数据随后验证了预报,警告会升级为 ✅ **预报验证** 消息。 - -### 5. ⏰ 入场时机信号(新功能) - -综合三个因子打分,给出入场建议: - -| 因子 | 分值 | -|:---|:---| -| 最热已过 | +3 | -| 距峰值 ≤ 2h | +2 | -| 距峰值 ≤ 4h | +1 | -| 模型高共识 | +2 | -| 模型中共识 | +1 | -| 实测 ≈ 预报(差 ≤ 0.5°)| +2 | -| 实测接近预报(差 ≤ 1.5°)| +1 | - -| 总分 ≥ | 信号 | 建议 | -|:---|:---|:---| -| 5 | ⏰ **理想** | 不确定性低,适合下注 | -| 3 | ⏰ **较好** | 可以考虑小仓位入场 | -| 2 | ⏰ **谨慎** | 建议继续观察 | -| <2 | ⏰ **不建议** | 不确定性大,等更多数据 | - -**核心理念**:拒绝过早布局,选择接近解析时刻、波动率压缩时晚入场,降低不确定性风险。 - -### 6. 🧠 智能趋势分析(通俗语言) - -机器人自动生成人类可读的分析洞察: - -- **🚨 预报击穿预警**:当 METAR 实测最高温超过所有预报时自动警报。 -- **⏱️ 峰值时段预测**:精确预测当日最高温出现的时间窗口。 -- **🌬️ 风向交叉验证**:同时对比 METAR 和 MGM 风向数据,差异超 90° 自动告警。 -- **🍃 风速分析**:标注风速并结合风向判断对温度的影响。 -- **☁️ 云层遮挡分析**:评估云量对升温潜力的影响(晴天/多云/阴天)。 -- **📉 气压分析**:低气压意味着暖湿气流过境,有利升温。 -- **🌧️ 降雨检测**:交叉验证 METAR 天气代码和实际降水量,避免误报。 -- **📊 最高温时间追踪**:精确显示每日最高温出现的时间(如 `最高: 12°C @14:20`)。 -- **☀️ 天气状况一览**:综合 METAR 天气现象 + 云量,生成一目了然的天气图标 + 文字(如 `⛅ 晴间多云`)。 -- **🌤️ 太阳辐射分析**:追踪累计短波辐射 vs 全天总量;当云层严重遮挡阳光时发出预警。 -- **🌙 暖平流检测**:当最高温出现在太阳辐射为零的时段(如凌晨 3 点),自动识别并标注"气温由暖空气推高,而非太阳晒热"。 - -### 7. 📊 风险等级 - -每个城市都有基于机场-市区距离的数据偏差风险档案: - -- 🔴 **高危**:首尔 (48.8km)、芝加哥 (25.3km) — 偏差大 -- 🟡 **中危**:安卡拉 (24.5km)、巴黎 (25.2km)、达拉斯、布宜诺斯艾利斯 — 有系统偏差 -- 🟢 **低危**:伦敦 (12.7km)、惠灵顿 (5.1km) — 数据靠谱 - -### 8. 🌅 增强显示 - -- **日出日落 + 日照时长**:`🌅 07:34 | 🌇 18:29 | ☀️ 9.9h` -- **天气状况一目了然**:`✈️ 实测 (METAR): 9°C | ⛅ 晴间多云 | 15:00` -- **WU 结算预览**:显示 Wunderground 四舍五入后的值,方便结算参考。 - ---- - -## 🏗️ 系统架构 +## 🏗️ 引擎架构剖析 (System Architecture) ```mermaid graph TD - User[/Telegram User/] --> Bot[bot_listener.py] - Bot --> Collector[WeatherDataCollector] + classDef ai fill:#f9f,stroke:#333,stroke-width:2px; + classDef core fill:#bbf,stroke:#333,stroke-width:2px; + classDef data fill:#dfd,stroke:#333,stroke-width:1px; - subgraph "数据引擎" - Collector --> MM[多模型 API
ECMWF/GFS/ICON/GEM/JMA] - Collector --> OM[Open-Meteo 预报] - Collector --> ENS[Open-Meteo Ensemble] - Collector --> MB[Meteoblue API] - Collector --> NOAA[METAR / NOAA] - Collector --> MGM[MGM 实测数据] - Collector --> NWS[US NWS API] + User[Telegram / 信号接收方] -->|触发扫描指令| Bot[bot_listener.py 核心调度器]:::core + + subgraph 异构数据获取层 + Bot --> Collector[WeatherDataCollector] + Collector --> OM[Open-Meteo 归档/实时]:::data + Collector --> MM[多模型预测集 (ECMWF...)]:::data + Collector --> METAR[机场真实塔台日志]:::data end - Collector --> Processing[共识评分 & 趋势分析] - Processing --> Bot - Bot --> Response[/附带入场信号的天气快照/] + subgraph 模型计算与熔断层 + Collector --> DEB[DEB 动态融合加权算法]:::core + DEB --> DB[(daily_records JSON 数据库
并发安全保护)] + Collector --> Logic[结算进位判定 / 冷却判定] + end + + subgraph AI 量度生成层 + DEB --> AIAnalyzer[Groq/LLaMA 深度认知模型]:::ai + Logic --> AIAnalyzer + METAR --> AIAnalyzer + end + + AIAnalyzer -->|生成: 盘口+逻辑+置信度| Bot + Bot -->|组合高维信息切片| User ``` -- **逻辑解耦**:`weather_sources.py` 负责数据获取与解析;`bot_listener.py` 负责分析与渲染。 -- **城市配置**:`city_risk_profiles.py` 包含所有 METAR 机场映射和风险评估。 -- **多模型共识**:5 个独立 NWP 模型(ECMWF、GFS、ICON、GEM、JMA)提供稳健的共识评分。 -- **集合预报集成**:51 成员集合预报提供 P10/P90 不确定性区间和偏差检测。 -- **机场坐标对齐**:所有 NWP 查询均使用 METAR 机场坐标,而非市中心。 +--- + +## 🎯 实战交易纲领 (Trader's Playbook) + +作为 PolyWeather 的指挥官,请将以下准则刻入 DNA 之中: + +1. 🧬 **信仰 DEB 基准线**:比起单方面相信 ECMWF 或 GFS 的某个极端值,请紧盯开头那一行 `DEB 融合预测`。因为那是系统吸收了最近几天这两个模型挨过的毒打之后,为您重新调整过的公论。 +2. 🎯 **严守 AI 置信度红线**:一旦 AI 反馈 `置信度 ≤ 4/10`,代表模型数据严重滞后于实况机场风速带来的博弈冲突,立即**切断**盲目押注的手,这属于高风险混沌区。 +3. ⚖️ **敬畏 X.5 结界**:Polymarket 天气盘底层以 Wunderground 取整数结算为准。当你看到终端闪烁 `⚖️ 结算边界... 刚刚越过进位线` 时,这往往是盘面上流动性抽干、盘口滑点最凶残的地方。 +4. 🌙 **识破假阳性 (暖平流侦测)**:若气温在辐射低谷的夜间和清晨依然狂飙,此时系统必然触发 `🌙 暖平流动力异常`。这一机制经常会在绝大多数赌客看跌时,为您指出真正做多打穿预报上限的信号。 --- -## 🎯 博弈策略提示 - -1. **看模型共识**:🎯/⚖️/⚠️ 评级让你一眼判断预报是否可靠。高共识 + 市场低定价 = 套利机会。 -2. **用入场信号**:等 ⏰ **理想** 或 **较好** 时机再下注。不确定性高时绝不提前入场。 -3. **关注集合散度**:90% 区间越窄(< 2°),模型置信越高 — 这才是 edge 所在。 -4. **紧盯峰值窗口**:在预测的峰值时段频繁使用 `/city` 刷新。 -5. **结算优先级**:结算永远以 **METAR** 数据为准,通过 Wunderground 四舍五入到整数。 -6. **地理风险**:重点关注高危城市(如首尔、芝加哥)的偏差警告。 -7. **太阳辐射线索**:如果机器人报告"暖平流驱动" 🌙,说明温度由暖空气推高 — 这种模式经常打破模型预测。 -8. **风向冲突**:METAR 和 MGM 风向相反时,温度波动风险增大。 - ---- - -_最后更新: 2026-02-22_ +_The weather changes. Our edge remains. | 更新于 2026_