DevLog #002: TSS 策略自进化 — “正在测” 机制深度讨论
日期: 2026-04-09 状态: 讨论稿 Tags: tss, strategy-evolution, 正在测, 评价体系
核心问题
TSS 是否具备"自我迭代能力"?如果可以,应该如何设计?
讨论结论
TSS 可以具备一种有限但很有价值的"自我迭代能力",但它不是"自己变聪明",而是:
- 每天持续生成候选策略或候选变体
- 用最新行情做"正在测"的在线观察
- 把观察结果写入记忆
- 定期根据记忆淘汰、降权、晋升、重组策略
★ Insight ───────────────────────────────────── “正在测"不是回测替代品,而是回测之后的下一层。 回测回答"如果过去这样做,结果会怎样” “正在测"回答"如果从今天开始持续跟踪,这个策略在当前市场状态下是不是还活着” ──────────────────────────────────────────────────
“正在测” 的本质
它更像:
- 影子组合
- 模拟联赛
- 在线观察期
策略生命周期:
- 历史回测:先证明它过去不是纯噪声
- 滚动验证:再看它在不同年份和市场阶段是否稳定
- 正在测:让它用最新市场数据持续接受现实检验
- 晋升或淘汰:根据在线表现决定是否进入正式策略池
策略池四层设计
┌─────────────────────────────────────────────────────────────┐
│ 候选池 │
│ - 只做离线回测与稳健性筛选 │
├─────────────────────────────────────────────────────────────┤
│ 观察池(正在测) │
│ - 每天跟随最新行情更新表现 │
│ - 不直接决定正式组合 │
│ - 重点观察是否延续历史优势 │
├─────────────────────────────────────────────────────────────┤
│ 生产池 │
│ - 已通过历史和在线双重验证 │
│ - 可作为正式优选策略候选 │
├─────────────────────────────────────────────────────────────┤
│ 冻结池 │
│ - 曾经有效但近期失效 │
│ - 暂不删除,保留历史记忆 │
│ - 等待未来市场状态重新匹配 │
└─────────────────────────────────────────────────────────────┘
★ Insight ───────────────────────────────────── 大多数策略不是"永远死",而是"阶段失效"。 冻结池的设计让系统保留了"等待市场状态重新匹配"的可能性。 ──────────────────────────────────────────────────
评价体系的四层结构
第一层:生存门槛(不做排名,只做剔除)
硬过滤条件:
- 交易成本后仍为正收益
- 最大回撤不超过上限
- 至少有足够交易次数
- 多个时间切片不是全崩
第二层:核心收益质量
回答"赚得好不好":
- 年化收益
- 最大回撤
- 收益回撤比
- Sharpe
- Sortino
第三层:稳健性
回答"是不是侥幸":
- 分年度收益分布
- 滚动窗口表现
- 参数扰动稳定性
- 不同 market regime 下稳定性
★ Insight ───────────────────────────────────── 在自动进化系统里,稳健性比收益更重要。 系统最怕选出"漂亮但不可持续"的假冠军。 ──────────────────────────────────────────────────
第四层:可实施性
回答"能不能真做":
- 换手率
- 容量
- 滑点敏感度
- 信号拥挤度
推荐评分方式
硬过滤 + 分组评分 + 低相关去重
# 硬过滤
if max_drawdown > 35: 淘汰
if cost_adjusted_return <= 0: 淘汰
# 分组评分
return_score = ...
robust_score = ...
implement_score = ...
total_score = 0.35 * return_score \
+ 0.45 * robust_score \
+ 0.20 * implement_score
# 低相关去重
# 最终入选策略要经过:
# - 收益相关性聚类
# - 风格聚类
# - 持仓相似度聚类
★ Insight ───────────────────────────────────── 故意让稳健性权重大于收益(0.45 vs 0.35)。 因为自动化系统最怕选出"漂亮但不可持续"的假冠军。 ──────────────────────────────────────────────────
在线观察指标
“正在测"不适合只用年化收益评价,因为时间太短。
建议看这些短周期指标:
- 近5日超额收益
- 近20日超额收益
- 近20日最大回撤
- 近20日换手与成本
- 信号命中率
- 当前持仓与策略历史风格是否一致
重点不是"立刻赚钱多少”,而是:是否还符合它过去的统计特征。
切片设计与场景策略挖掘
某些策略可能只在"某些股票 + 某些年份 + 某种市场状态"特别强,如何不被全局均值误杀?
答案是把评估体系从"单总分"升级为双通道:
- 通道A:全局稳健策略(Core)
- 通道B:场景优势策略(Satellite)
切片原则
- 先粗后细:先用粗粒度找稳定规律,再用细粒度定位优势细节
- 先时间后状态:先看跨年稳定,再看 regime 适配
- 先分组后单股:先看股票组,再看单只股票,避免单股偶然性误导
主切片(用于正式评分)
- 时间切片:按年(2021、2022、2023、2024、2025、2026YTD)
- 状态切片:
趋势 x 波动二维组合 - 标的切片:按股票分组
场景策略评分
scenario_score = 0.45 * PeakEdge \
+ 0.35 * Breadth \
+ 0.20 * Consistency
PeakEdge:最佳20%切片的超额收益能力Breadth:有效切片占比Consistency:相邻切片和时间外验证一致性
避免过拟合的三道刹车
- 复杂度惩罚:规则越多、参数越多、依赖越重,扣分越多
- 新旧版本挑战制:新策略必须先进入观察池,连续稳定才能升级
- 分离训练期、验证期、观察期:不要让同一段数据既负责生成,又负责评分
AI 最适合干什么
适合交给 AI:
- 生成策略变体
- 从记忆中总结有效片段
- 识别策略失败模式
- 归纳 market regime 下的适配关系
不适合完全交给 AI:
- 直接决定实盘上线
- 绕过统一评价体系挑选冠军
- 根据短期表现随意改规则
最小落地路线
阶段A:把现有策略变成可比较对象
- 统一策略元数据
- 统一回测输出
- 统一评分结果
阶段B:建立"正在测"池
- 每天更新观察池表现
- 写入观察记录
- 给出降权 / 冻结建议
阶段C:引入记忆
- 哪类策略最近有效
- 哪类策略最近失效
- 哪些结构应减少搜索
阶段D:引入自动变体生成
- 这时再让 AI 生成候选策略,风险更可控
讨论结论
TSS 真正需要的"可控的自进化能力"由以下四个东西构成:
正在测机制- 多维评价体系
- 策略记忆系统
- 策略晋升 / 淘汰机制
这套能力成立的前提不是 AI 更聪明,而是:
- 策略表达标准化
- 评价体系分层化
- 在线观察持续化
- 记忆沉淀结构化
- 晋升淘汰规则明确化
如果没有这些约束,AI 只会更快地产生更多过拟合策略。
Generated from: SAF/tss/DISCUSS_STRATEGY_EVOLUTION.md