程序员量化交易实战 15:策略晋升必须有门禁

📅 2026/6/26 8:13:10
程序员量化交易实战 15:策略晋升必须有门禁
第 14 篇已经能保存策略实验记录。现在要回答一个更关键的问题哪些候选策略可以进入下一阶段第 15 篇实现策略晋升门禁。它不是判断策略能不能赚钱而是判断这个候选是否具备进入纸面模拟盘观察的最低证据。为什么要有门禁没有门禁策略研究会变成“谁的收益曲线更好看谁就上线观察”。这很危险。候选策略至少要回答总收益是否达到最低要求最大回撤是否没有太深交易次数是否不是 0是否清过基准策略这里的“晋升”不是上实盘而是进入纸面模拟盘观察。它仍然只是下一阶段不是最终认可。更严格的流程通常还会继续要求样本外验证、不同市场状态下的表现、交易容量检查、成本和滑点压力测试以及人工复核。晋升规则第 15 章新增app/promotion_gate.py。dataclass(frozenTrue) class PromotionRule: min_total_return: float 0.02 max_drawdown_floor: float -0.2 min_trade_count: int 1 require_baseline_passed: bool True这些阈值不是最终生产标准只是第一版最低门槛。真实上线前还需要样本外、长历史、多市场状态和人工复核。决策对象门禁输出PromotionDecisiondataclass(frozenTrue) class PromotionDecision: accepted: bool status: str reasons: tuple[str, ...] evidence: dict[str, Any]reasons很重要。被拒绝不是一句“不行”而是明确告诉你为什么不行收益太低、回撤太深、交易太少、没有清过基准。收集所有拒绝原因判断函数不会遇到第一个问题就返回而是收集全部原因if total_return rule.min_total_return: reasons.append(total_return_below_minimum) if max_drawdown rule.max_drawdown_floor: reasons.append(max_drawdown_too_deep) if trade_count rule.min_trade_count: reasons.append(trade_count_too_low) if rule.require_baseline_passed and not baseline_passed: reasons.append(baseline_not_cleared)这样后续前端或报告可以一次性告诉研究者该修哪里。当前主线联动运行第 15 篇继续使用同一条命令把第 14 篇生成的实验记录送进晋升门禁uv run python -m scripts.chapter_examples strategy-promotion --source sample真实输出如下这次样例的决策是accepted_for_paper_observation。证据里能看到总收益0.119814最大回撤-0.025908交易次数1并且baseline_passedTrue。这些条件都只是最低门槛不代表策略已经可靠它只说明这个候选有资格进入后面的模拟盘观察。本章更新与代码仓库本章更新内容新增app/promotion_gate.py。实现策略晋升规则、晋升决策、payload 输出和批量候选摘要。新增tests/test_promotion_gate.py覆盖通过、拒绝、关闭基准要求和原因统计。补充当前主线联动示例的策略晋升真实运行截图。补充纸面模拟盘观察、样本外验证、交易容量和压力测试的策略准入背景。完成第 11-15 篇阶段 review。代码仓库https://github.com/ax2/zi-quant-platform本章代码git clone https://github.com/ax2/zi-quant-platform.git cd zi-quant-platform git checkout chapter-15 uv sync --extra dev uv run pytest tests/test_promotion_gate.py第 15 章全量测试通过187 passed仍只有既有 FastAPI deprecation warning。第 11-15 篇阶段 review第三组五篇完成了“组合回测到策略准入”的闭环。第 11 篇把单标的回测扩展到多标的组合回测增加等权资金分配、权益聚合和交易摘要。第 12 篇补齐回测指标让策略比较不再只看最终收益。第 13 篇实现参数网格搜索生成可排序的策略候选。第 14 篇把候选和基准比较保存成实验记录避免研究结果只停留在终端输出。第 15 篇增加策略晋升门禁只有满足最低收益、回撤、交易次数和基准比较的候选才允许进入纸面模拟盘观察。这一组文章没有引入大模型也没有直接推进模拟盘执行。原因很简单策略候选如果没有严肃的回测指标和晋升规则后面接再多自动化都只是放大噪声。本篇小结策略晋升不是“收益更高就过”。一个候选必须有实验记录、有基准比较、有最低收益、有可接受回撤、有足够交易次数。第 15 篇把这些要求写成了可测试代码。下一组文章会进入纸面模拟盘把通过门禁的候选放进可观察的组合状态里。