2026-05-04 变更记录


摘要

1. 交易时间延长:交易结束时间从 15:00 调整为 16:00(新增1小时做市窗口),配套风控衰减逻辑从 sigmoid 改为线性每小时 10% 递减。

2. 报价策略重构:取消了 buy_weak/sell_weak/symmetric 三种弱报价模式,仅在 |edge| ≥ 20% 或有持仓时才生成报价;持有时采用"双面做市"策略赚取 spread,平仓模式下也不再激进而是被动做市等待。

3. 风控升级:新增每温度最大暴露 $20 限制,整体仓位上限从 500 降至 50 股、总暴露从 2000 降至 500 股、方向暴露从 500 降至 200 股,大幅缩紧了风险敞口。

4. 订单重投机制:自动交易循环新增订单重投逻辑——检测已有挂单价格与目标报价偏差超过 1 tick 时,自动撤单并重新挂单,确保报价始终匹配最新策略。

5. 回测页面:新增 /mm/weather/backtest 前后端页面,支持在仪表盘上直接运行今日回测并查看分时成交、模式分布和 Top 盈亏明细。




下午优化 (11:00-11:34)


6. API 缓存加速:为 balance、orderbook、status 三个慢端点添加文件级缓存(跨 gunicorn worker 共享),响应时间从 2-8s 降至 ~50ms。TTL: balance 30s, orderbook 25s, status 20s。

7. Orderbook 智能过滤:读取 HKO hard bound,跳过 impossible 合约的 CLOB 查询;去掉明天的合约;只取 YES 侧报价(NO 对称计算)。冷启动从 2.7s 降至 ~0.87s。

8. Edge 实时计算refreshActiveCards 改用 computeLiveEdge 计算 edge,不再用后端过期值,or_higher 累计概率正确显示。

9. Close 按钮修复:平仓按钮移至 hasMM && mode!=='none' 块外,有持仓即显示;添加最小订单 5 股检查,避免 Polymarket 400 错误。

10. 活跃过滤破块_updateCardsInPlace 修复 pmPos 不可迭代 bug;loadAll/softRefresh 等 PM 持仓加载完再渲染;默认显示全部合约(去掉活跃按钮)。




中午优化 (11:40-12:00)


11. 精简合约显示:orderbook API 只返回有效合约(移除所有 hard bound 以下的 impossible),只取今天;前端仅显示今天合约,去掉日期选项卡。合约数从 22 → 2。

12. 盘口定时刷新:所有可见合约每 10s 自动更新 best bid/ask(不触发 CLOB depth 查询,避免 API 限流)。5 档盘口仅在手动点击刷新时查询。

13. 下单后持仓延迟:confirmOrder/quickOrder 成功后,5s 后再拉一次 PM 持仓数据(PM API 有延迟)。

14. 移除 MM 页回测:回测报告移至 /mm/weather/backtest 独立页面,主做市页不再展示。


变更文件

M src/mm/weather_mm_runner.py | 94 ++++++++++++--

M src/mm/weather_quotes.py | 139 ++++++++++-----------

M src/mm/weather_risk.py | 41 +++---

M src/web/app.py | 195 ++++++++++++++++++++++++---

M src/web/templates/mm_weather.html | 262 ++++++++++++++++++++------------

M docs/daily/2026-05-04.md | 9 +-

?? scripts/weather_backtest_today.py

?? src/web/templates/mm_weather_backtest.html