💹 HK Weather 做市面板 (mm/weather)
页面: [https://polymkt.lt.sopher.cool:4433/mm/weather](https://polymkt.lt.sopher.cool:4433/mm/weather)
模板: templates/mm_weather.html
后端:app.py→/api/mm/weather/*路由组
页面功能
MM Weather 做市面板是香港天气合约做市操作的核心界面,提供:
1. 报价面板 — 各温度档位的双边报价
2. 一键下单 — 从报价面板快速下单
3. 持仓管理 — 实时仓位和 P&L 展示
4. 订单管理 — 挂单查看/撤单/审批
5. 冷却控制 — 防止过度交易的冷却机制
6. 自动做市 — 可开关的自动做市运行器
API 端点
数据查询
| 端点 | 方法 | 功能 |
|---|---|---|
/api/mm/weather/status | GET | 做市状态总览 |
/api/mm/weather/auto-status | GET | 自动做市状态 |
/api/mm/weather/cooldowns | GET | 冷却状态 |
/api/mm/weather/simulation | GET | 模拟数据 |
/api/mm/weather/prediction | GET | 预测数据 |
/api/mm/weather/trades | GET | 交易历史 |
/api/mm/weather/backtest | GET | 回测结果 |
/api/mm/weather/quote-history/ | GET | 报价历史 |
/api/mm/weather/open-orders | GET | 当前挂单 |
/api/mm/weather/pending-orders | GET | 待审批订单 |
/api/mm/weather/order-competition | GET | 订单竞争分析 |
订单操作
| 端点 | 方法 | 功能 |
|---|---|---|
/api/mm/weather/place-order | POST | 下单 (带重复检测和自成交防护) |
/api/mm/weather/quick-order | POST | 快速下单 (前端计算的报价) |
/api/mm/weather/cancel-order | POST | 撤单 |
/api/mm/weather/cancel-all | POST | 全部撤单 |
/api/mm/weather/approve-order | POST | 审批通过 |
/api/mm/weather/reject-order | POST | 拒绝订单 |
做市控制
| 端点 | 方法 | 功能 |
|---|---|---|
/api/mm/weather/toggle-auto | POST | 开关自动做市 |
/api/mm/weather/toggle-sim | POST | 开关模拟 |
/api/mm/weather/reset-simu | POST | 重置模拟 |
/api/mm/weather/run-scan | POST | 手动触发扫描 |
赎回
| 端点 | 方法 | 功能 |
|---|---|---|
/api/mm/weather/redeemed-ids | GET/POST | 已赎回ID管理 |
/api/mm/weather/redeem | POST | 赎回操作 |
报价引擎 (weather_quotes.py)
报价引擎将预测值转换为各温度档位的概率和报价:
预测值 29.5°C ± 1.5°C
│
▼ 正态分布映射
┌──────────────────────────────┐
│ 27°C: P(≤27) = 5% → bid 0.05│
│ 28°C: P(≤28) = 15% → bid 0.15│
│ 29°C: P(≤29) = 37% → bid 0.37│
│ 30°C: P(≤30) = 63% → bid 0.63│
│ 31°C: P(≤31) = 85% → bid 0.85│
│ 32°C: P(≤32) = 95% → bid 0.95│
└──────────────────────────────┘
报价参数
| 参数 | 默认值 | 说明 |
|---|---|---|
sigma | 1.5°C | 预测不确定性 (标准差) |
spread | 0.02 | 双边价差 (2¢) |
max_position | $100 | 单温度最大仓位 |
cooldown | 30s | 同token同方向冷却时间 |
风控 (weather_risk.py)
| 规则 | 说明 |
|---|---|
| 仓位上限 | 单温度 $100,总仓位 $500 |
| 自成交防护 | BUY/SELL 价格必须不交叉 |
| 冷却期 | 同方向 30s 冷却 |
| 重复检测 | 同 token 同方向自动撤旧单 |
| 余额检查 | 下单前验证 CLOB 余额 |
| 自动缩量 | 余额不足时自动 10 级缩量 (-0.1/级) |
做市运行器 (weather_mm_runner.py)
主循环 (每 60s):
1. 获取最新预测
2. 生成报价矩阵
3. 检查风控限制
4. 对比现有挂单
5. 计算需要调整的订单
6. 执行撤单 + 重新挂单
相关组件
src/mm/weather_quotes.py — 报价引擎 (23KB)src/mm/weather_signal.py — 信号生成src/mm/weather_risk.py — 风控模块 (26KB)src/mm/weather_mm_runner.py — 做市主循环 (73KB)src/mm/weather_snapshot_logger.py — 快照日志src/mm/weather_backtest.py — 回测引擎src/mm/clob_client.py — CLOB API 客户端 (37KB)