跳转至

2026-03-25 Daily Notes

M2.7 模型配置修复

问题:MiniMax M2.7 一直报 "not allowed"

根因: 1. OpenClaw 2026.3.23-2 内置 catalog 已有 M2.7,但 agents.defaults.models 白名单里没有 2. 自定义 models.providers.minimax.models 覆盖了内置 catalog,导致 M2.7 无法注册 3. 需要删除自定义 models 配置,只用内置 catalog

解决方案: - 删除 models.providers.minimax.models(设为空数组 []),让内置 catalog 生效 - 在 agents.defaults.models 白名单中加入 minimax/MiniMax-M2.7minimax/MiniMax-M2.7-highspeed - 重启 gateway(热加载不够,必须完全重启)

最终配置

"models": {
  "providers": {
    "minimax": {
      "models": []  // 用内置 catalog
    }
  }
},
"agents": {
  "defaults": {
    "models": {
      "minimax/MiniMax-M2.7": {"alias": "M2.7"},
      "minimax/MiniMax-M2.7-highspeed": {}
    }
  }
}

升级到 OpenClaw 2026.3.23(从 2026.3.23-2 升级)

M2.7 规格:200k context window,比 M2.5 的 1M 小 确认:07:40 冰冰通过 /model minimax/MiniMax-M2.7 切换成功,model switch confirmed

调仓频率偏好(冰冰 2026-03-25)

  • ** drift_threshold: 8%**(从默认 5% 调高)
  • rebalance_interval: 21d walk-forward
  • VIX 分级 scale 不变
  • 希望每次触发调仓前主动提醒(通过 Discord)
  • 不做日间微小调仓,只做大周期决策

Discord 双 bot 问题

同一个 Discord channel 里有两个 OpenClaw bot 注册了 slash commands,导致 /model picker 显示两次。冰冰需要从 channel 里移除其中一个 bot 或限制其权限。

HK 投委会 09:20(已执行)

  • Plan ID: 0dbd2ad04938, 15笔(6 SELL + 9 BUY),全部成交
  • 执行后仓位 73%(VIX scale 0.5 未注入 optimizer,目标应50%)
  • 午休尝试降仓失败(全部撤单),决定暂不改

US 投委会 21:47(手动触发)

  • Plan ID: 0693910ed85d, 18只全BUY等权
  • VIX 24.95 → YELLOW (scale 0.85)
  • Dalio裁决: EXECUTE_MODIFIED, scale 0.55
  • Block: APA/USO/WDC/AKAM
  • 半仓: EOG/VLO/MPC/DELL/CIEN
  • 全仓: MU/OXY/BKR/TPL/AMAT/TER/STX/KEYS/FIX
  • 部署 ~$368k (35% NAV),能源 ~25%
  • Next review: 3/28

Cron 修复

  • HK cron 8dd7e100 和 US cron bab85851 因 disable 操作被清理
  • 重建: HK f291cc7f (09:20), US a5783578 (21:10)
  • 超时统一改为 1800s(30分钟)

Futu OpenD 重启问题

  • GUI版 kill 后重启,autoLogin 成功(Login state 100),但 trade data 一直 "not ready"
  • 可能需要 GUI 窗口在前台才触发数据同步
  • CLI 版需要密码参数,冰冰不在家无法操作
  • 明天回家后:看一下 FutuOpenD 窗口,可能只需切到前台
  • 装了 peekaboo(macOS UI 自动化),但需要 Screen Recording + Accessibility 权限
  • TODO:回家后给 peekaboo 授权,以后可以远程操作 GUI

v1.7.0 计划

ML 5 年训练(方案 A:指数衰减加权)

  • 训练窗口从 2y → 5y,覆盖 2021-2026 多种 regime
  • sample_weight = 0.95^(months_ago),近期数据权重更高
  • 预期效果:缓解 Q1 失效(-21%)、因子衰减检测更准
  • 风险:数据质量(Alpha158 历史完整性)、survivorship bias
  • 需要验证:5y yfinance/FMP 数据覆盖率

God function 拆分

  • execution_engine.py execute_plan() 534 行 → _sell_stage() + _buy_stage() + _poll_orders()
  • open_market_execute.py main() 455 行 → _run_sell_phase() + _run_buy_phase()
  • markowitz_backtest.py 3903 行(长期,分批拆)

US→HK 迁移学习(方案 2:共享因子 + 残差)

  • Step 1: Alpha158 对 HK 股票覆盖率验证
  • Step 2: US 训好的模型直接 predict HK → 测 IC
  • Step 3: 如果 IC > 0.01,上线作为 HK ML 信号
  • Step 4: 加 HK 特有因子(南向资金、AH 溢价)做残差模型

策略配置 Python 化

  • 从 JSON → Python dataclass(config/strategies/*.py)
  • 利用已有的 strategy_schema.py StrategyConfig
  • 支持条件逻辑、策略继承、IDE 补全+类型检查
  • 向后兼容:strategy_loader 同时支持 .json 和 .py

pyfolio-reloaded 集成

  • Rolling Sharpe(策略衰减早期检测)
  • Drawdown 详情(Top 5 DD + 恢复天数)
  • 月度热力图
  • 行业/因子归因(Brinson)
  • 尾部风险 VaR/CVaR
  • Beta/Alpha 对标 SPY/HSI
  • 作为 Dashboard 数据源

Backtrader 借鉴

  • Cerebro 插件架构 → 拆分 markowitz_backtest god module
  • Analyzer 插件化 → 指标计算独立类
  • Sizer → 独立 PositionSizer 接口
  • Broker 模拟 → 可插拔交易成本模型(Qlib 级冲击成本)
  • 事件驱动 → v2.0 日内策略

其他

  • VIX scale 注入 optimizer(目标权重 × scale)
  • Futu US SIM position query 修复("market is required" 根因)

VIX scale 未注入 optimizer bug

  • optimizer 生成 target weight sum = 95%,但未乘 VIX scale
  • HK 实际仓位 73% 而非目标 50%
  • 待修复