香港天气预测系统 Wiki
维护人: Spark ⚡ | 最后更新: 2026-05-07
概述
香港天气预测系统是一个基于 Polymarket 天气合约的自动化预测和做市系统。系统从香港天文台 (HKO) 获取实时气象数据,通过多站集成预测模型输出结算值预测,并在 Polymarket CLOB 上进行自动做市和套利交易。
核心页面
| 页面 | URL | 功能 |
|---|---|---|
| 🌤️ HK 天气仪表盘 | [/weather/hk](https://polymkt.lt.sopher.cool:4433/weather/hk) | HKO 实时数据、多站温度、预测曲线 |
| 📊 MM Weather 做市 | [/mm/weather](https://polymkt.lt.sopher.cool:4433/mm/weather) | 做市面板、下单界面、持仓管理 |
| 🔬 Weather Simu 模拟 | [/mm/weather_simu](https://polymkt.sopher.cool/mm/weather_simu) | 模拟回测、策略对比、P&L 分析 |
| 💰 Polymarket API 下单 | [wiki/polymarket-api-orders](polymarket-api-orders) | CLOB API 下单流程、签名、排错 |
系统架构
HKO Open Data API (rhrread, CSVs, fnd, dailyExtract)
│
▼
┌───────────────────┐
│ hko_predict.py │ ← 多站集成预测模型 (10信号加权)
│ hko_data_fetcher │ ← 数据采集 + 入库
└───────┬───────────┘
│ prediction
▼
┌───────────────────┐
│ weather_quotes │ ← 报价引擎 (预测 → 概率 → 双边报价)
│ weather_signal │ ← 信号生成 (边缘检测)
│ weather_risk │ ← 风控 (持仓限制、冷却)
│ weather_mm_runner│ ← 做市主循环
└───────┬───────────┘
│ orders
▼
┌───────────────────┐
│ CLOB Client │ ← EIP-712 签名 → Polymarket CLOB API
│ (clob_client.py) │ Safe (Gnosis) 多签钱包
└───────────────────┘
关键数据源
结算权威源
香港合约与其他城市不同——结算源是 香港天文台 (HKO),不是 Weather Underground。
https://www.weather.gov.hk/cis/dailyExtract/dailyExtract_YYYYMM.xmlstn.data[].dayData[] 数组,每行 [day, pressure, abs_max, abs_min, ...]abs_max 字段)实时数据源
| 数据源 | API | 更新频率 | 用途 |
|---|---|---|---|
| rhrread 当前天气 | weather.php?dataType=rhrread | 每小时 | 27站实时温度/湿度 |
| 1-min温度 CSV | latest_1min_temperature.csv | 每10分钟 | 40+站高精度温度 |
| Max/Min since midnight | latest_since_midnight_maxmin.csv | 每10分钟 | ⭐ 结算值实时追踪 |
| 9天预报 | weather.php?dataType=fnd | 每日2次 | HKO官方预报 |
| Daily Extract XML | dailyExtract_YYYYMM.xml | 每月 | ⭐ 香港结算权威源 |
预测模型
多站集成预测 (hko_predict.py v2)
10个信号加权集成,每10分钟更新:
| # | 信号 | 基准权重 | 原理 |
|---|---|---|---|
| 1 | 🌤️ HKO预报 (bias-corrected) | 20% | fnd 官方预报 + 7天偏差 EMA |
| 2 | 📝 天气词 NLP | 8% | 从 flw/fnd 提取 hot/rain/sunny 关键词 |
| 3 | 🌧️ 降雨概率 (PSR) | 8% | PSR → 降温抑制 |
| 4 | ⚠️ 天气警告 | 10% | WHOT +1.5°C / WRAIN -2°C / WCOLD -3°C |
| 5 | 🏔️ 内陆站回归 | 18% | 上水/大埔/石岗/打鼓岭 max → 回归天文台 |
| 6 | 📈 当日走势外推 | 12% | 升温率 × 剩余小时 × 衰减因子 |
| 7 | ☀️ 太阳辐射 | 8% | W/m² → 午后升温幅度 |
| 8 | 💨 风向信号 | 5% | 南风(海风)降温 / 北风升温 |
| 9 | 📅 7天均值+趋势 | 8% | 气候基线 + 近期趋势修正 |
| 10 | 📍 当前最高 | 10-70% | 硬下界,16:00后权重升至 70% |
动态权重调整
🛠️ 开发规则
⚠️ Wiki-First 原则
代码更新必须先修改 Wiki,再写代码。
任何对以下组件的修改,必须在对应的 Wiki 页面更新文档后再开始编码:
1. 预测模型逻辑 → 更新本页"预测模型"部分
2. HK Dashboard 前端/API → 更新 hk-dashboard.md
3. MM Weather 做市逻辑 → 更新 mm-weather.md
4. Weather Simu 模拟 → 更新 mm-weather-simu.md
5. Polymarket 下单流程 → 更新 polymarket-api-orders.md