🔬 Weather 模拟面板 (mm/weather_simu)
页面: [https://polymkt.sopher.cool/mm/weather_simu](https://polymkt.sopher.cool/mm/weather_simu)
模板: templates/mm_weather_simu.html
后端:app.py→/api/mm/weather/simu-state等
页面功能
Weather Simu 面板是做市策略的回测和模拟分析界面,提供:
1. 模拟状态 — 实时模拟运行状态
2. 回测结果 — 历史回测 P&L 和指标
3. 策略对比 — 多种策略的横向对比
4. 订单分析 — 成交率、滑点、时间分布
5. 数据导出 — 回测数据 CSV 导出
API 端点
| 端点 | 方法 | 功能 |
|---|---|---|
/mm/weather_simu | GET | 页面入口 |
/api/mm/weather/simu-state | GET | 模拟运行状态 |
/api/mm/weather/simulation | GET | 模拟详细数据 |
/api/mm/weather/backtest | GET | 回测结果 |
/api/mm/weather/trades | GET | 交易历史 |
/api/mm/weather/toggle-sim | POST | 开关模拟 |
/api/mm/weather/reset-simu | POST | 重置模拟 |
模拟架构
历史数据 (HKO + Polymarket)
│
▼
weather_backtest.py / weather_snapshot_logger.py
│
├── 策略 A: 基准做市 (固定 spread)
├── 策略 B: 动态 spread (sigma 自适应)
├── 策略 C: 趋势跟踪 (方向性下注)
└── 策略 D: 日内时序 (time-of-day 调整)
│
▼
Paper Trader (paper_trader.py)
│
▼
回测报告: P&L, Sharpe, MaxDD, Win Rate
回测指标
| 指标 | 说明 |
|---|---|
| Total P&L | 总盈亏 |
| Sharpe Ratio | 夏普比率 |
| Max Drawdown | 最大回撤 |
| Win Rate | 胜率 |
| Avg Return | 平均收益 |
| Avg Hold Time | 平均持仓时间 |
| Order Fill Rate | 订单成交率 |
| Slippage | 平均滑点 |
回测数据源
data/mm/weather_snapshots.jsonl — 定期保存的订单簿快照data/mm/weather_fills.jsonl — 实际成交记录data/hko/ — HKO 历史天气数据相关组件
src/mm/weather_backtest.py — 回测引擎 (17KB)src/mm/weather_snapshot_logger.py — 快照日志 (3KB)src/mm/paper_trader.py — 模拟交易器 (10KB)scripts/weather_backtest.py — 独立回测脚本scripts/weather_backtest_today.py — 当日回测scripts/weather_paper_trader.py — 模拟交易scripts/polyweather_backtest.py — 多城市回测scripts/weather_strategy_runner.py — 策略执行器templates/mm_weather_backtest.html — 回测页面templates/mm_weather_simu.html — 模拟页面