策略编排、组合与风险¶
回测可单独冻结费用实验,显式覆盖不改写原策略版本;结构和风控变化仍需发布。共享外部订单计费、分摊和数据能力边界见执行成本原理。前向模拟继续沿用冻结条件。
2026-10-22。A→B 已接入共享执行器,C 的数据和研究扩展尚未启用。页面操作与截图见策略工坊,标准端口见策略端口。
一个方案怎样组成¶
推荐链路是:股票池 → 可交易资格 → 规则/形态初筛 → 模型评分 → 融合 → Agent 研究终审 → Portfolio 配置 → Risk 约束 → 回测或模拟执行。
规则、模型、融合、组合与风险各自是可替换组件。每次运行冻结版本、参数、数据时点和输入摘要,结果保留各阶段为什么通过、被拒绝或无法判断。
| 需求 | 设计方式 | 需要避免的混淆 |
|---|---|---|
| 级联筛选 | 前级输出作为后级候选,先用便宜规则再做模型和 Agent | 前级硬性禁止不能被后级恢复 |
| 并行规则 | 同一母池运行规则组,按交集、并集或 K/N 合并 | 未知不等于通过,空结果不自动放松门槛 |
| 并行评分 | 树模型、小网络及规则各自评分,统一语义后排名或投票 | RSI、预测收益和 confidence 不能直接相加 |
| 多策略资金组合 | 子策略各自构造目标,按预算加总并净额 | 不能平均独立回测收益冒充实际组合 |
| 风控组合 | 证券、仓位、行业、波动、回撤和订单限制共同生效 | 风险硬限制不由多数票推翻 |
第一批准备什么¶
规则层复用均线、MACD、RSI、布林、量价及行业/ETF 逻辑,新增市场状态、唐奇安、波动收缩、趋势回踩、双底确认和低波动六类规则,以及通用资格过滤。市场状态采用母池等权价格代理;双底在右侧确认后才有效。
模型层优先复用已测试的 LightGBM、XGBoost 和小型 MLP 后端,输出连续评分而非各自下单。训练母池与当期初筛候选分开,历史不能因当日被过滤而丢失。已有相对收益目标不能被解释成绝对收益保证。
Portfolio 按等权、评分、逆波动率、固定子预算建立基线,再增加 ERC、HRP、收缩协方差最小方差和子策略风险预算。逆波动率不等于等风险贡献。需要额外历史和求解器的 CVaR 等能力另行验收。
Risk 覆盖资格、限仓、行业、流动性、止损、时间退出、波动缩放、回撤降仓、日损失冻结、相关集中、换手及故障。风控削减后默认留现金;不能再统一放大权重以抵消风险削减。
Agent 的位置¶
Agent 为当期有限候选提供选择、拒绝、观察、退出建议、理由和证据;后端支持模型 API 与已接通的 Codex。多角色增加反证和汇总,但不会获得放宽风险配置或直接执行真实委托的能力。
合法选择与拒绝会实际影响下游选股及目标组合,不是只在结果后附解释。资金分配和下单前风险约束仍分别执行。
历史行情配今天生成的解释仍可能受模型先验知识污染。纯量化历史基线、当时保存的真实决定回放、今天的历史解释和当期前向模拟必须分开评价,不能把所有 Agent 输出都算作无前视的历史回测。
组合执行为什么需要单独补齐¶
旧端口处理单标的买卖事件。组合引擎按真实交易日期形成一致截面、输出含现金的目标组合、处理加减仓和部分成交,再把同一证券在多子策略中的意图净额处理。改变股票池遍历顺序不改变最终结果。
FIFO 批次记录可卖数量,先处理风险退出和卖出,再按现金、费用、整手、流动性及限仓尝试买入。内部子账户调拨不形成重复市场手续费。子账户单位净值剔除资金调拨影响,用于风险预算;账户总净值才是整体损益依据。
风险状态含历史高水位、止损峰值、冷却期及日损失基准,持久化到模拟账户。乐观版本检查拒绝并发覆盖;同日刷新不会重复成交。监控默认关闭,启用后仅运行持仓风控,不反复调用 Agent。数据与账本不变时复用已有报告引用。
规则和模型失败、候选为空或尚未调仓时,现有持仓仍须持续风控。停牌、可卖数量不足和涨跌停会使风险退出无法立即完成,应展示实际风险与待执行目标,不能把“建议卖出”记成已经平仓。
设计与落地入口¶
Gradio中的图形工坊投影相同定义,实线、训练上下文和预算关系分别表示;布局、计算定义与运行证据独立保存。图形编辑经过相同后端编译,不增加另一套执行顺序或关闭硬风控。
正式方案为项目 doc/strategies/strategy_composition_risk_portfolio_design.md,包含组件目录、七套预置、契约、API/CLI、页面、版本和验收门槛。A/B 的实际使用见操作教程。归档采用内容寻址 JSON;模型为校验摘要的原生格式。历史行业缺口、日线撮合及不含公司行动的限制必须随结果保留,C 单独推进。
参考机制来自 LEAN 多信号、组合与风险目标及 Qlib 预测与组合分离;它们证明框架机制可实现,不证明本项目已经支持或某组合必然有效。