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.7 和 minimax/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 cronbab85851因 disable 操作被清理 - 重建: HK
f291cc7f(09:20), USa5783578(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%
- 待修复