第13章 策略迭代与生命周期管理

176页 · 预计12

开篇故事:那个用了3年还在赚钱的"老策略",和那个3个月就失效的"新策略"

2024年初,我在整理自己的策略库时,发现了一个有趣的对比:

我有一个"老策略",是2021年初开发的BTC期现套利策略。这个策略的逻辑非常简单——当期货和现货的基差超过1%时,做多现货做空期货,等基差收敛到0.2%以内平仓。3年多来,这个策略一直在运行,虽然收益从最初的年化35%慢慢降到了现在的年化18%,但它始终在赚钱,最大回撤从来没超过8%。3年累计收益超过80%,是我策略库中最稳定的"现金牛"。

与此同时,我在2023年底开发了一个"新策略",是基于机器学习的山寨币轮动策略。这个策略用了非常复杂的模型——XGBoost+LSTM,输入了几十种因子(动量、波动率、资金流向、社交情绪等),回测2021-2023年年化收益高达120%,最大回撤只有12%。我当时非常兴奋,觉得找到了"下一代策略",投入了不少资金。结果呢?实盘运行了3个月,收益只有5%,最大回撤却达到了18%,而且表现越来越差。第4个月我果断暂停了这个策略,避免了更大的亏损。

为什么一个简单的"老策略"能用3年还在赚钱,而一个复杂的"新策略"3个月就失效了?这背后涉及到策略的生命周期管理问题。

在量化交易中,没有永远有效的策略。任何策略都有它的生命周期——从发现、开发、验证、上线、成熟、衰退,到最终失效或被淘汰。不同的策略,生命周期的长度差异巨大:有的策略能用3-5年甚至更久,有的策略只能用几个月。你的策略库就像一个花园,需要持续地播种、培育、修剪、除草,才能保持生机。如果你只是开发策略、上线,然后不管了,那么随着旧策略的衰退,你的整体收益会越来越差,最终可能被市场淘汰。

策略迭代与生命周期管理,就是要解决这个问题:如何系统地管理你的策略库,让它持续进化,保持稳定的盈利能力?

这一章,我会把策略生命周期管理的完整体系讲给你听。从策略生命周期的五个阶段,到如何识别策略的衰退和失效,到如何迭代优化策略,到策略库的组合管理和知识沉淀,全部拆透。我希望你读完这一章后,能建立起自己的策略管理体系,让你的策略库像一个活的有机体一样持续进化,而不是一堆静态的、会慢慢失效的代码。


13.1 策略生命周期:从诞生到淘汰的五个阶段

13.1.1 为什么要理解策略生命周期

在讲具体的生命周期阶段之前,先问你一个问题:你有没有想过,你正在用的策略,它现在处于生命周期的哪个阶段?是刚刚上线的"成长期",还是收益稳定的"成熟期",还是已经开始衰退的"衰老期"?

很多量化交易者从来不想这个问题。他们开发一个策略,回测不错,上线,然后就一直用,直到有一天策略大亏了,才发现"哦,这个策略已经不行了"。但这时候往往已经亏了不少钱。

理解策略生命周期的意义在于:

  1. 提前预判策略的衰退:当策略进入衰退期时,你能提前识别,逐步减少资金,而不是等大亏了才反应过来。
  2. 在正确的阶段做正确的事:成长期的策略要加大投入,成熟期的策略要稳定运行,衰退期的策略要逐步退出。不同阶段的管理方式不同。
  3. 合理规划策略研发:知道策略的平均生命周期,你就能规划需要多久开发一个新策略,才能保持策略库的活力。
  4. 避免"一招鲜吃遍天"的误区:知道所有策略都会失效,你就不会把所有希望寄托在一个策略上,而是会持续研发新策略,构建多元化的策略库。

我自己的经验是:管理策略库,就像管理一个投资组合——你需要知道每个资产(策略)的生命周期阶段,动态调整配置,淘汰衰老的,培育新生的,才能让整体组合持续增值

下面我详细讲策略生命周期的五个阶段。

13.1.2 第一阶段:研发期(Discovery & Development)

阶段特征

  • 策略还在构思和开发阶段,没有实盘运行
  • 核心工作是:发现交易机会、验证逻辑、开发代码、回测优化
  • 这个阶段的策略还不能赚钱,需要投入时间和精力去研发

研发期的关键工作

  1. 机会发现:从市场观察、学术论文、同行交流、数据挖掘中发现潜在的交易机会。比如你发现某个币种的期现基差经常大幅波动,可能存在套利机会;或者你发现某类事件(如交易所上线新币)后价格有规律的波动。

  2. 逻辑验证:在投入大量时间开发之前,先做简单的逻辑验证——这个机会的收益来源是什么?为什么会存在?可持续吗?用简单的统计或小样本回测初步验证是否有利润空间。

  3. 策略开发:如果逻辑验证通过,开始正式开发策略代码,包括数据获取、信号生成、下单逻辑、风控模块等。

  4. 回测优化:用历史数据回测策略,优化参数,测试在不同市场环境下的表现。这个阶段要严格按照第12章讲的回测准则来做,避免过拟合和回测幻觉。

  5. 模拟盘测试:回测通过后,在模拟盘中运行至少1个月,发现回测中发现不了的问题。

研发期的通过标准

  • 策略逻辑清晰,收益来源可解释
  • 回测表现稳健(通过了成本测试、样本外测试、压力测试等)
  • 模拟盘表现跟回测一致,没有重大技术问题
  • 策略的资金容量、风险收益比符合你的要求

研发期的时间

  • 简单策略(如期现套利、网格):2-4周
  • 中等复杂度策略(如配对统计、跨所套利):1-2个月
  • 复杂策略(如机器学习、多因子):2-3个月甚至更久

研发期的淘汰率
据我自己的经验,大约**70%-80%**的策略在研发期就会被淘汰——要么逻辑验证不通过,要么回测表现不好,要么模拟盘发现致命问题。这是正常的,研发期就是一个大浪淘沙的过程,能通过研发期的策略才是有潜力的。

13.1.3 第二阶段:成长期(Growth & Validation)

阶段特征

  • 策略通过了研发期的所有测试,开始小资金实盘运行
  • 策略的实盘表现正在验证中,可能跟回测有差异,需要观察和调整
  • 这个阶段的策略资金量较小,主要目标是验证实盘表现,而不是赚大钱

成长期的关键工作

  1. 小资金实盘验证:用目标资金量的5%-10%运行策略,至少1-2个月,收集实盘数据。详细流程参考第12章。

  2. 实盘vs回测对比:持续对比实盘和回测的表现,分析差异原因。如果差异在合理范围内(如实盘收益是回测的70%以上),说明策略有效;如果差异太大,需要深入分析原因,可能是策略逻辑有问题,也可能是执行有问题。

  3. 参数微调:在小资金实盘中,如果发现策略表现跟预期有系统性偏差(如滑点比预期大、交易频率过高),可以做小幅参数调整。但不要大幅修改核心逻辑,否则就变成了一个新策略,需要重新验证。

  4. 渐进式加仓:如果小资金实盘表现符合预期,按照第12章讲的渐进式加仓方法,逐步把资金加到目标量。每次加仓后观察2-4周,确认表现稳定。

成长期的通过标准

  • 小资金实盘表现跟回测一致(收益不低于回测的70%,回撤不超过回测的1.5倍)
  • 系统稳定运行,没有重大技术问题
  • 风控有效,没有异常大额亏损
  • 渐进式加仓到目标资金量后,表现仍然稳定

成长期的时间

  • 通常2-3个月(1个月小资金+1-2个月加仓观察)
  • 低频策略可能需要3-6个月,因为交易次数少,需要更多样本

成长期的淘汰率
大约**20%-30%**的策略在成长期会被淘汰——要么实盘表现远不如回测,要么发现致命的技术或执行问题,要么加仓后表现急剧恶化。能通过成长期的策略,才是真正可以投入正式资金的策略。

13.1.4 第三阶段:成熟期(Maturity & Profitability)

阶段特征

  • 策略已经加满资金,稳定运行,实盘表现符合预期
  • 策略是你策略库中的"主力",贡献主要的收益
  • 这个阶段的核心目标是:保持策略稳定运行,持续优化细节,最大化收益

成熟期的关键工作

  1. 日常监控和运营:按照第12章讲的实盘运营方法,每日监控、每周复盘、每月优化,确保策略稳定运行,及时发现和解决小问题。

  2. 细节优化:在不改变核心逻辑的前提下,持续优化策略的细节,比如:

    • 优化下单算法,降低滑点
    • 优化参数,适应市场环境的缓慢变化
    • 增加新的交易机会(如增加新的交易所、新的交易对)
    • 优化风控规则,降低回撤
      这些优化通常能带来每年2%-5%的收益提升,或者降低1%-3%的回撤。
  3. 容量管理:监控策略的资金容量,如果市场深度增加、竞争减少,可以适当增加资金;如果容量下降,要减少资金。不要让资金量超过策略的舒适容量。

  4. 市场环境适配:关注市场环境的变化,如果市场进入策略不适应的环境(如震荡策略遇到趋势市),可以临时降低仓位,等环境恢复后再加回来。

  5. 记录和文档:持续记录策略的表现、优化、问题,完善策略文档,为后续的迭代和知识沉淀做准备。

成熟期的持续时间

  • 这是策略生命周期中最长的阶段,通常持续1-3年,有的策略甚至能持续5年以上
  • 策略的成熟期长度取决于:
    • 策略的收益来源是否稳固(如制度性套利的成熟期长,情绪性套利的成熟期短)
    • 市场竞争程度(竞争少的策略成熟期长,竞争激烈的短)
    • 市场结构变化的速度(变化慢的市场策略成熟期长)
    • 你是否持续优化(持续优化能延长成熟期)

成熟期的收益特征

  • 策略刚进入成熟期时,收益可能最高(因为竞争少、市场环境适合)
  • 随着时间推移,收益可能缓慢下降(因为竞争增加、市场效率提高),但通常下降速度很慢(每年下降1%-3%)
  • 如果持续优化,可以延缓收益下降的速度,甚至在一段时间内保持收益稳定

13.1.5 第四阶段:衰退期(Decline & Degradation)

阶段特征

  • 策略的收益开始明显下降,或者回撤开始明显上升
  • 策略的表现跟历史平均水平出现系统性的偏差
  • 这个阶段的核心目标是:识别衰退原因,判断是暂时的还是永久的,决定是调整还是退出

衰退期的常见表现

  1. 收益持续下降:连续2-3个月收益低于历史平均的50%,或者年化收益从20%降到了5%以下。

  2. 回撤持续增大:最大回撤从历史的5%上升到了10%以上,或者连续出现多次异常亏损。

  3. 交易机会减少:策略的交易频率明显下降(如从每周3次降到每周1次),因为满足条件的机会越来越少。

  4. 胜率和盈亏比下降:胜率从70%降到了50%以下,或者盈亏比从2.0降到了1.0以下。

  5. 跟市场变化同步:策略表现的变化跟市场结构的变化同步发生(如某个交易所上线了套利工具后,跨所价差缩小了)。

衰退的原因分析

当策略进入衰退期时,首先要分析衰退的原因,因为不同原因的应对方式不同:

  1. 市场环境暂时不适应:比如震荡策略遇到了趋势市,或者低波动策略遇到了高波动期。这种衰退是暂时的,等市场环境恢复后策略会重新有效。

    • 判断方法:策略在历史上类似的市场环境下是否也表现差?如果是,说明是环境问题。
    • 应对方法:临时降低仓位或暂停,等环境恢复后再启动。
  2. 竞争加剧:越来越多的人发现了同样的套利机会,参与的人多了,利润空间被压缩。比如跨所套利,当越来越多的量化团队参与后,价差会缩小,收益下降。

    • 判断方法:套利价差/费率的平均值是否在持续缩小?交易机会的持续时间是否在缩短?
    • 应对方法:优化执行(降低成本、提高速度)、拓展新市场/新标的、或者接受较低的收益。
  3. 市场结构变化:市场的制度、规则、结构发生了变化,导致策略的收益来源消失了。比如某个交易所取消了期货合约,期现套利就没法做了;或者监管政策变化,限制了某种交易行为。

    • 判断方法:是否有明确的市场结构变化事件跟策略衰退同步?
    • 应对方法:如果收益来源彻底消失,策略需要大改或淘汰;如果只是部分变化,可以调整策略适应新结构。
  4. 策略过拟合/逻辑失效:策略本身的逻辑在实盘中不成立,或者之前的好表现只是因为过拟合了历史数据。这种策略在成长期可能就表现不好,但有些策略能撑到成熟期才暴露。

    • 判断方法:策略的收益来源是否还存在?实盘跟回测的差异是否在持续扩大?
    • 应对方法:如果逻辑彻底失效,果断淘汰;如果还有部分有效,可以重新研发。
  5. 执行/技术问题:策略本身没问题,但因为系统老化、API变更、执行效率下降等原因,导致表现下降。

    • 判断方法:对比策略的理论收益(如果能完美执行)和实际收益,差异是否在扩大?
    • 应对方法:优化技术系统,提高执行效率。

衰退期的应对策略

根据衰退原因的不同,采取不同的应对:

衰退原因 应对策略 资金调整
暂时不适应市场环境 降低仓位,等待环境恢复 降到30%-50%
竞争加剧 优化执行,拓展新机会,接受低收益 保持或略降
市场结构变化 调整策略适应新结构,或淘汰 逐步退出
逻辑失效/过拟合 果断淘汰 立即退出
执行/技术问题 优化技术系统 暂时降低,修复后恢复

衰退期的时间

  • 如果是暂时的环境问题,衰退期可能持续几周到几个月
  • 如果是竞争加剧或结构变化,衰退期可能持续几个月到1年,策略逐步退出
  • 关键是不要在衰退期死扛——如果判断策略已经永久失效,要果断退出,不要浪费资金和精力

13.1.6 第五阶段:淘汰期(Retirement & Replacement)

阶段特征

  • 策略已经确认永久失效,或者收益已经低到不值得继续投入
  • 策略需要从策略库中移除,资金分配到其他更有效的策略
  • 这个阶段的核心目标是:平稳退出,总结经验,用新策略替代

淘汰的判断标准

当策略出现以下情况时,应该考虑淘汰:

  1. 收益来源彻底消失:比如交易所规则变化导致套利机会不存在了,或者市场效率提高到价差永远为0。

  2. 持续6个月以上收益低于资金成本:如果策略的年化收益低于5%(甚至低于无风险收益),而你需要投入服务器、API、运维等成本,那这个策略已经不划算了。

  3. 经过多次优化仍然无法改善:你尝试了调整参数、优化执行、拓展新市场等方法,策略表现仍然持续恶化,说明这个策略的生命周期已经到了尽头。

  4. 风险收益比严重恶化:策略的收益在下降,但风险(回撤、波动率)在上升,夏普比率降到了1.0以下,不值得继续承担风险。

  5. 有更好的替代策略:你开发了新的策略,收益更高、风险更低、相关性跟旧策略不高,那么可以用新策略替代旧策略,把资金分配给新策略。

淘汰的流程

淘汰策略不要一下子全部退出,要有一个平稳的过渡:

  1. 停止加仓:首先停止向该策略增加资金,也不要在该策略上做新的优化投入。

  2. 逐步减仓:在1-2个月内逐步减少该策略的资金,比如每周减少20%-25%。这样可以避免一次性退出可能错过的机会,也给市场一个缓冲(如果你的资金量较大,一次性平仓可能有滑点)。

  3. 资金再分配:把从旧策略撤出的资金,逐步分配到其他成熟期的策略,或者新的成长期策略。

  4. 关闭系统:当资金全部撤出后,关闭策略的交易系统,但保留代码和数据存档(不要删除,以后可能需要回顾或参考)。

  5. 总结复盘:写一份策略淘汰复盘报告,包括:

    • 策略的生命周期回顾(研发、上线、成熟、衰退的时间线和表现)
    • 策略的累计收益和最大回撤
    • 衰退和淘汰的原因分析
    • 从这个策略中学到的经验教训
    • 对未来策略研发的启示

淘汰后的知识沉淀

淘汰一个策略不意味着一切都结束了。你从这个策略中获得的经验、代码、数据、教训,都是宝贵的资产,应该沉淀下来:

  1. 代码复用:策略中的某些模块(如数据获取、下单接口、风控工具)可能可以复用到新策略中。
  2. 数据积累:策略运行期间收集的市场数据、交易记录,可以用于未来的策略研发和回测。
  3. 经验教训:策略成功和失败的经验,要记录到你的知识库中,避免未来犯同样的错误。
  4. 市场认知:通过这个策略,你对某个市场、某类机会的理解加深了,这种认知可以用于发现新的机会。

我自己的策略库中,已经淘汰了十几个策略,但每个策略淘汰后我都会写复盘报告,把经验沉淀下来。这些积累让我在开发新策略时越来越高效,踩的坑越来越少。

13.1.7 策略生命周期总结

最后,用一个表格总结策略生命周期的五个阶段:

阶段 核心目标 资金量 持续时间 关键工作 淘汰率
研发期 验证逻辑,开发策略 0 2周-3个月 机会发现、回测、模拟盘 70%-80%
成长期 验证实盘,逐步加仓 5%-100%目标量 2-6个月 小资金实盘、对比回测、渐进加仓 20%-30%
成熟期 稳定盈利,持续优化 100%目标量 1-5年 日常运营、细节优化、容量管理
衰退期 识别原因,调整或退出 逐步降低 几周到1年 原因分析、应对调整、逐步减仓 -
淘汰期 平稳退出,知识沉淀 0 1-2个月 逐步减仓、资金再分配、总结复盘 -

理解了策略生命周期,你就能更系统地管理你的策略库。在下一节,我会讲如何具体地识别策略的衰退和失效,以及如何迭代优化策略。

在壹信量化平台上,a-sig.com提供了策略生命周期管理工具,可以跟踪每个策略的表现变化、识别衰退信号、生成生命周期报告。intoquant.com可以帮你建立策略库管理系统,实现策略的全生命周期管理。善用这些工具,能让你的策略管理更专业、更高效。


13.2 策略失效识别:如何提前发现"不行了"的策略

13.2.1 为什么要提前识别策略失效

在上一节我们讲了,任何策略都会进入衰退期,最终失效。但很多人直到策略大亏了才发现"哦,这个策略不行了",这时候已经亏了不少钱。如果能提前识别策略的衰退和失效,在策略刚开始走下坡路时就逐步减仓,就能避免很多亏损。

我自己有一个深刻的教训。2022年,我有一个跨所套利策略,在2021年表现非常好,年化收益35%,最大回撤4%。进入2022年后,这个策略的收益开始下降——1月份收益1.5%(正常),2月份0.8%(略低),3月份0.3%(明显低)。但我当时没太在意,觉得只是暂时的市场波动,继续满仓运行。结果4月份LUNA暴雷,市场剧烈波动,这个策略因为跨所转账延迟和价差不回归,一周亏了8%,加上之前收益下降,2022年前4个月累计亏损3%。后来我分析,其实从2月份开始,这个策略就已经进入衰退期了——因为越来越多的量化团队参与跨所套利,价差在持续缩小,交易机会在减少。如果我当时能识别到衰退信号,在2-3月份逐步减仓,就能避免4月份的大部分亏损。

从那以后,我建立了一套系统的策略失效识别方法,持续监控每个策略的"健康状况",一旦发现衰退信号,就及时分析和应对。这套方法帮我在后续几年中,多次提前识别了策略的衰退,避免了大额亏损。

这一节,我就把这套方法详细讲给你听。

13.2.2 策略失效的六大预警信号

我把策略失效的预警信号分成六大类,每一类都有具体的量化指标。你可以把这些指标做成监控看板,每天或每周自动计算,一旦触发阈值就告警。

信号一:收益持续下降

这是最直接的信号。如果策略的收益持续低于历史平均水平,可能说明策略正在失效。

具体指标

  • 滚动3个月年化收益:计算最近3个月的年化收益,如果低于历史平均年化收益的50%,触发预警。
    • 比如策略历史平均年化20%,最近3个月年化只有8%,低于10%(20%×50%),触发预警。
  • 滚动6个月累计收益:最近6个月的累计收益如果低于历史同期平均的40%,触发预警。
  • 连续亏损月数:连续2个月以上亏损(扣除手续费后),触发预警。

注意事项

  • 收益下降不一定意味着策略失效,也可能是暂时的市场环境不适应。需要结合其他信号综合判断。
  • 对于低频策略(如事件套利),因为交易次数少,短期收益波动大,需要用更长的滚动窗口(如6个月、12个月)来判断。

信号二:风险指标恶化

策略的风险指标(回撤、波动率、胜率、盈亏比)如果持续恶化,说明策略的稳定性在下降,可能正在失效。

具体指标

  • 最大回撤:最近3个月的最大回撤如果超过历史最大回撤的1.5倍,触发预警。
    • 比如历史最大回撤5%,最近3个月最大回撤8%,超过7.5%(5%×1.5),触发预警。
  • 年化波动率:最近3个月的年化波动率如果超过历史平均波动率的1.5倍,触发预警。
  • 胜率:最近20笔交易的胜率如果低于历史平均胜率的70%,触发预警。
    • 比如历史胜率70%,最近20笔胜率只有45%,低于49%(70%×70%),触发预警。
  • 盈亏比:最近20笔交易的盈亏比如果低于历史平均盈亏比的70%,触发预警。

注意事项

  • 单次大回撤不一定意味着失效,可能是黑天鹅事件。要看回撤是否在频繁发生,以及回撤后是否能恢复。
  • 胜率和盈亏比需要足够的样本量(至少20笔交易)才有统计意义,不要因为几笔交易就下结论。

信号三:交易机会减少

如果策略的交易频率持续下降,说明满足策略条件的机会越来越少,可能是因为市场效率提高、竞争加剧,或者收益来源消失。

具体指标

  • 交易频率:最近1个月的交易次数如果低于历史平均月交易次数的50%,触发预警。
    • 比如历史平均每月交易10次,最近1个月只有4次,低于5次(10×50%),触发预警。
  • 信号触发率:策略的信号触发次数(不一定都交易)如果持续下降,说明满足条件的市场状态在减少。
  • 平均持仓时间:如果平均持仓时间越来越长(因为开仓机会少,持仓后也难等到平仓机会),可能说明市场在变化。

注意事项

  • 交易机会减少可能是因为市场进入了低波动期,不一定是策略失效。需要看套利空间(价差、费率、基差等)是否也在缩小。
  • 对于事件驱动类策略,交易机会本来就不均匀,某些月份机会多、某些月份少,不能简单用月交易次数判断。

信号四:套利空间/收益来源萎缩

对于套利类策略,最核心的失效信号是套利空间本身在萎缩。如果价差、基差、费率等套利指标的平均值在持续缩小,说明套利机会的利润空间在下降,策略的收益必然会下降。

具体指标

  • 套利空间均值:最近1个月的平均套利空间(如平均跨所价差、平均期现基差、平均资金费率)如果低于历史平均的60%,触发预警。
    • 比如历史平均跨所价差0.3%,最近1个月平均只有0.15%,低于0.18%(0.3%×60%),触发预警。
  • 套利空间极值:历史上经常出现的高套利空间(如95%分位)现在很少出现了,说明大机会在减少。
  • 机会持续时间:套利机会从出现到消失的时间如果越来越短(如从5分钟缩短到1分钟),说明竞争在加剧,你越来越难抓住机会。

注意事项

  • 这是套利类策略最可靠的失效信号。如果套利空间本身在结构性萎缩,那么不管你怎么优化执行,收益都会下降。
  • 需要区分"周期性萎缩"和"结构性萎缩"。周期性萎缩(如低波动期价差缩小)是暂时的,市场恢复后价差会回来;结构性萎缩(如竞争加剧、市场效率提高)是永久的,策略需要调整或淘汰。

信号五:实盘vs回测差异持续扩大

如果策略的实盘表现跟回测表现的差异在持续扩大,说明策略在历史数据上有效的逻辑,在当前市场中越来越不有效了。

具体指标

  • 实盘/回测收益比:最近3个月实盘年化收益 / 同期回测年化收益,如果低于0.5,触发预警。
    • 比如同期回测年化20%,实盘只有8%,比值0.4,低于0.5,触发预警。
  • 实盘/回测回撤比:最近3个月实盘最大回撤 / 同期回测最大回撤,如果高于2.0,触发预警。
  • 信号准确率下降:实盘中策略信号的后续表现(如信号出现后价差收敛的概率)如果低于回测中的概率,说明市场规律在变化。

注意事项

  • 实盘跟回测有差异是正常的(因为成本、延迟、滑点),但如果差异在持续扩大,就需要警惕了。
  • 要确保回测是用跟实盘相同的逻辑和参数做的,否则对比没有意义。

信号六:市场结构发生重大变化

如果市场的制度、规则、结构发生了重大变化,可能直接导致策略的收益来源消失。这是最明确的失效信号,不需要等数据验证。

具体的市场结构变化事件

  • 交易所规则变化:如交易所调整手续费、上线/下线交易对、改变合约规则、限制API交易等。
  • 监管政策变化:如某国禁止加密货币交易、限制衍生品、要求KYC等,可能影响市场流动性和结构。
  • 重大技术变革:如某个交易所上线了自动套利工具、做市商算法升级,可能压缩套利空间。
  • 市场参与者结构变化:如大型机构进入、量化基金大量增加,可能提高市场效率。
  • 黑天鹅事件后的永久性变化:如某次暴雷后,市场对某类资产的定价逻辑永久改变。

注意事项

  • 当市场结构发生重大变化时,要立即重新评估策略的有效性,不要等数据确认。因为结构变化后的市场可能跟历史完全不同,回测已经没有参考意义了。
  • 有些结构变化是渐进的(如量化基金缓慢增加),需要通过前面的信号(套利空间萎缩、交易机会减少)来识别。

13.2.3 策略健康度评分系统

上面讲了六大预警信号,但每个信号只能反映一个侧面。为了更综合地判断策略的健康状况,我建立了一个策略健康度评分系统,把六大信号综合成一个0-100分的分数,直观地反映策略的健康状况。

评分规则

每个信号满分按权重分配,总分为100分:

信号 权重 评分规则
收益表现 25分 滚动3个月年化收益/历史平均年化收益×25,上限25分
风险指标 20分 基础20分,每触发一个风险预警扣5分,扣完为止
交易机会 15分 最近1月交易次数/历史平均月交易次数×15,上限15分
套利空间 20分 最近1月平均套利空间/历史平均套利空间×20,上限20分
实盘回测一致性 10分 实盘/回测收益比×10,上限10分(比值>1按1算)
市场结构稳定性 10分 基础10分,发生重大结构变化扣10分

健康度等级

分数 健康度等级 含义 应对策略
80-100分 健康 策略状态良好,正常运行 正常运营,持续优化
60-79分 亚健康 策略出现一些衰退迹象,需要关注 加强监控,分析原因,准备应对方案
40-59分 衰退 策略明显衰退,需要采取行动 降低仓位到50%以下,深入分析,决定调整或退出
0-39分 失效 策略基本失效,应该退出 逐步清仓,淘汰策略,资金分配到其他策略

使用方法

  1. 每周计算一次每个策略的健康度分数(可以用脚本自动计算)。
  2. 如果分数从80分以上降到60-79分,触发"关注"告警,开始分析原因。
  3. 如果分数降到40-59分,触发"衰退"告警,降低仓位,制定应对方案。
  4. 如果分数降到40分以下,触发"失效"告警,启动淘汰流程。
  5. 把健康度分数的变化趋势画成曲线,比单周的分数更有参考价值——如果分数连续3周下降,即使还在80分以上,也要开始关注。

我自己用这个评分系统管理我的策略库,每周一早上自动生成每个策略的健康度报告。这个系统帮我多次提前识别了策略的衰退,比如2023年有一个配对套利策略,健康度分数从85分连续4周降到62分,我及时分析发现是因为配对标的的协整关系在减弱,于是逐步降低了仓位,后来这个策略的协整关系彻底断裂,如果我当时没减仓,会亏不少。

13.2.4 失效识别的常见误区

最后,讲几个策略失效识别中常见的误区,避免你误判:

误区一:把短期波动当成策略失效

很多人看到策略连续1-2周收益不好,就觉得策略失效了,急着调整或淘汰。这是不对的。任何策略都有短期的波动,即使是非常好的策略,也可能连续几周不赚钱。判断策略是否失效,需要看趋势性的、持续的表现变化,而不是短期波动。

正确的做法:用滚动3个月甚至6个月的窗口来判断,至少需要20-30笔交易的样本量,才有统计意义。

误区二:把市场环境不适应当成策略失效

比如你的策略在震荡市表现好,遇到趋势市就表现差,这是策略的"风格"问题,不是策略失效。等市场回到震荡市,策略又会有效。如果你把它当成失效而淘汰,等市场回来后你就错过了。

正确的做法:分析策略在历史上类似的市场环境下是否也表现差。如果是,说明是环境问题,可以临时降低仓位,等环境恢复。只有当策略在它"应该"表现好的环境下也表现差时,才可能是失效。

误区三:只看收益,不看原因

很多人识别策略失效,只看"收益下降了",但不深入分析收益下降的原因。不同原因的应对方式完全不同——如果是暂时的环境问题,你减仓了就会错过恢复;如果是结构性的竞争加剧,你不减仓就会持续亏损。

正确的做法:发现收益下降后,必须深入分析原因(用13.1.5节讲的衰退原因分析框架),根据原因决定应对方式,而不是简单地"收益降了就减仓"。

误区四:过度优化,试图"拯救"已经失效的策略

当策略进入衰退期后,很多人会不断地调整参数、修改逻辑,试图让策略重新有效。但有时候策略的收益来源已经彻底消失了,再怎么优化也没用,只是浪费时间和精力。而且过度优化还可能导致过拟合,让策略在未来表现更差。

正确的做法:给策略设定一个"优化预算"——比如最多尝试3次优化,如果优化后仍然没有改善,就果断淘汰。不要在一个已经失效的策略上投入太多时间,把时间花在研发新策略上更有价值。

误区五:没有替代策略就不敢淘汰旧策略

很多人明明知道某个策略已经失效了,但因为没有新策略来替代,就继续用着,想着"总比空仓好"。但实际上,一个失效的策略可能不仅不赚钱,还会亏钱,而且占用你的资金和精力。空仓(把钱放在稳定币或逆回购里)至少不会亏钱,还能有一点利息。

正确的做法:如果策略确认失效,即使没有新策略,也要先淘汰,把资金放在安全的地方(如稳定币理财、国债逆回购),等研发出新策略再投入。不要为了"不浪费资金"而持有一个失效的策略。

策略失效识别是一项需要经验和耐心的工作。它不是精确的科学,更像是一种艺术——你需要综合数据、市场理解、经验来判断。但只要你建立了系统的监控和分析框架,就能大大提高识别的准确率,避免在失效的策略上亏钱。

在壹信量化平台上,a-sig.com提供了策略健康度监控工具,可以自动计算上述六大信号和健康度分数,生成每周健康度报告。intoquant.com可以帮你定制开发策略失效预警系统,跟你的实盘系统对接,实现自动化监控和告警。善用这些工具,能让你的策略失效识别更及时、更准确。


13.3 策略迭代优化:让好策略变得更好

13.3.1 为什么要迭代优化策略

一个策略上线后,不是一成不变的。市场在变、竞争在变、技术在变,你的策略也需要持续地迭代优化,才能保持竞争力,延长成熟期,延缓衰退。

我自己有一个很深的体会:一个策略上线时的表现,只能代表它的"起点",而不是它的"终点"。通过持续的迭代优化,一个策略的收益可以提高30%-50%,回撤可以降低30%-40%,生命周期可以延长1-2年

举个例子,我那个BTC期现套利策略,2021年刚上线时,年化收益22%,最大回撤7%。经过3年的持续优化,到2024年,虽然市场竞争加剧了,但年化收益仍然保持在20%左右,最大回撤降到了5%。如果没有这些优化,按照市场效率提高的速度,这个策略的年化收益可能已经降到了12%以下,最大回撤可能超过10%。

策略迭代优化跟"过拟合"是有本质区别的:

  • 过拟合是为了让历史回测表现更好,反复调整参数,结果策略只在历史数据上有效,实盘失效。
  • 迭代优化是基于实盘运行中发现的真实问题,有针对性地改进策略的执行、参数、逻辑,目标是让策略在未来的实盘中表现更好。

迭代优化的核心原则是:基于实盘数据和真实问题,做有逻辑支撑的、小步的、可验证的改进

这一节,我会讲策略迭代优化的方法论、常见的优化方向、优化的流程和注意事项。

13.3.2 策略迭代优化的五大方向

我把策略迭代优化的方向分成五大类,从易到难、从低风险到高风险排列。你可以按照这个顺序,逐步优化你的策略。

方向一:执行优化(降低成本,提高成交质量)

这是最基础、风险最低的优化方向。很多时候策略收益不高,不是因为逻辑不好,而是因为执行太差——滑点大、成交慢、成本高。优化执行能在不改变策略逻辑的情况下,直接提高收益。

具体的执行优化方法

  1. 下单算法优化

    • 从市价单改为限价单:限价单的手续费更低(maker费率),而且能控制成交价格,但可能成交不了。可以用"限价单+超时撤销+市价单兜底"的方式,兼顾成本和成交率。
    • 大单拆分为小单:如果你的订单较大,不要一次性下,拆分成多个小单逐步成交,能降低冲击成本。比如把100万U的订单拆成10个10万U的小单,每隔几秒下一个。
    • 使用冰山单/隐藏单:对于大单,可以使用交易所的冰山单功能,只显示一部分挂单,避免影响市场价格。
    • 智能路由:如果在多个交易所都有账户,可以比较各交易所的价格和深度,选择最优的交易所下单。
  2. 时机优化

    • 避开高波动时段下单:在数据发布、重大事件等波动大的时段,滑点会很大,可以稍微等一下,等波动平息后再下单。
    • 选择流动性好的时段:在交易量最大的时段(如欧美时段)下单,滑点更小。
    • 分批建仓/平仓:不要一次性建仓或平仓,分2-3批,间隔几分钟,能平均成交价格,降低单次滑点的影响。
  3. 成本优化

    • 提高交易所VIP等级:通过增加交易量或充值,提高VIP等级,降低手续费率。
    • 使用平台币抵扣手续费:很多交易所(如Binance的BNB、OKX的OKB)允许用平台币抵扣手续费,通常有25%的折扣。
    • 选择手续费低的交易所:不同交易所的手续费率不同,可以比较后选择。
    • 减少不必要的交易:优化信号过滤,减少低质量的交易,既能降低手续费,又能提高胜率。

执行优化的预期效果

  • 通常能降低滑点0.02%-0.05%(单边),降低手续费0.01%-0.02%(单边)
  • 对于高频策略(每天多次交易),每年能提高收益3%-8%
  • 对于低频策略,每年能提高收益1%-3%
  • 风险极低,几乎不会改变策略的风险特征

方向二:参数优化(适应市场变化,提高风险收益比)

参数优化是指在不改变策略核心逻辑的前提下,调整策略的参数(如阈值、周期、仓位比例等),让策略更适应当前的市场环境。

参数优化的方法

  1. 滚动参数优化

    • 不要用一次优化的参数用好几年。定期(如每季度)用最近1-2年的数据重新优化参数,让参数适应最新的市场环境。
    • 优化后要做样本外测试,确保新参数在最近的数据上也有效,而不是过拟合。
  2. 自适应参数

    • 让参数根据市场环境自动调整,而不是固定不变。比如:
      • 波动率高时,自动放宽套利阈值(因为波动大,价差更容易扩大)
      • 波动率低时,自动收紧套利阈值(因为波动小,需要更灵敏地捕捉小机会)
      • 趋势强时,自动降低网格仓位(因为网格在趋势市容易亏)
      • 震荡时,自动增加网格仓位
    • 自适应参数的好处是能让策略在不同市场环境下都有较好的表现,不需要人工频繁调整。
  3. 参数敏感性分析

    • 优化参数时,不要只找"最优参数",还要看参数附近的表现是否稳定。如果参数稍微变一点,收益就大幅下降,说明这个参数是过拟合的,不可靠。
    • 选择"参数平原"(parameter plateau)上的参数——在一个较大的参数范围内,表现都比较稳定的参数,这样的参数更鲁棒。
  4. 多参数组合优化

    • 策略通常有多个参数,不要一个个独立优化,要组合优化。因为参数之间可能有交互作用。
    • 可以用网格搜索、随机搜索、贝叶斯优化等方法,寻找最优的参数组合。
    • 但要注意,参数越多,过拟合的风险越大,所以要控制参数的数量(通常不超过3-5个核心参数)。

参数优化的预期效果

  • 通常能提高收益10%-20%,或者降低回撤10%-20%
  • 风险中等,如果优化不当可能导致过拟合,需要严格的样本外验证
  • 建议每季度做一次,不要太频繁(太频繁容易过拟合)

方向三:信号优化(提高信号质量,过滤低质量机会)

信号优化是指改进策略的信号生成逻辑,提高信号的准确率和盈利能力,过滤掉低质量的交易机会。

信号优化的方法

  1. 增加过滤条件

    • 在原始信号的基础上,增加额外的过滤条件,只交易质量最高的机会。比如:
      • 期现套利:只在基差超过历史90%分位时开仓(而不是固定阈值),过滤掉小机会
      • 配对套利:只在价差Z-Score超过2.0时开仓(而不是1.5),只做极端偏离
      • 网格套利:只在波动率处于历史中等水平时启动网格(高波动和低波动都不做)
    • 增加过滤条件会减少交易次数,但能提高胜率和盈亏比,总体收益可能更高。
  2. 多因子确认

    • 不要只用单一因子生成信号,用多个因子相互确认,提高信号的可靠性。比如:
      • 事件套利:不仅看事件类型,还要看事件的重要性、市场预期、当前估值、技术面等,多个维度都支持时才交易
      • 跨所套利:不仅看价差大小,还要看价差的持续性、两个交易所的流动性、转账是否顺畅等
    • 多因子确认能有效过滤掉假信号,提高策略的稳定性。
  3. 信号强度分级

    • 不要所有信号都用同样的仓位。根据信号的强度(如价差大小、Z-Score大小、事件重要性)分级,强信号用大仓位,弱信号用小仓位或不做。
    • 比如:价差在1%-2%时用50%仓位,2%-3%时用80%仓位,3%以上时用100%仓位。
    • 信号强度分级能让资金集中在最好的机会上,提高资金使用效率。
  4. 退出信号优化

    • 很多人只关注入场信号,忽略了退出信号。好的退出能大幅提高收益。
    • 优化退出逻辑:比如不要等到固定目标位才退出,可以根据价差收敛速度、时间衰减、波动率等动态调整退出点。
    • 增加止损和止盈的动态调整:比如浮盈达到一定程度后,移动止损到成本价,锁定利润。

信号优化的预期效果

  • 通常能提高胜率5%-15%,提高盈亏比10%-30%
  • 总体收益能提高15%-30%
  • 风险中等,需要确保优化后的逻辑有经济学支撑,不是单纯拟合历史数据

方向四:市场拓展(增加新的交易机会)

市场拓展是指在不改变策略核心逻辑的前提下,把策略应用到新的市场、新的标的、新的交易所,增加交易机会,提高资金使用效率。

市场拓展的方法

  1. 增加交易对/标的

    • 如果你的策略在BTC上有效,可以尝试扩展到ETH、SOL等其他主流币,甚至扩展到流动性好的山寨币。
    • 扩展前要做充分的回测和验证,确保策略在新标的上也有效(不同标的的波动特征、流动性、套利空间可能不同)。
    • 从流动性最好、跟原标的最相似的标的开始扩展,逐步拓展到更小众的标的。
  2. 增加交易所

    • 如果你的策略只在一个交易所运行,可以尝试扩展到其他交易所。
    • 对于跨所套利,增加交易所意味着更多的价差组合和更多的机会。
    • 对于单交易所策略,增加交易所能分散风险(避免单一交易所故障导致策略完全停摆),也能捕捉不同交易所的机会。
    • 扩展新交易所前,要了解该交易所的规则、手续费、API、流动性,做好充分的准备。
  3. 增加时间框架

    • 如果你的策略只在1小时周期上运行,可以尝试在15分钟、4小时等其他周期上运行。
    • 不同周期的策略相关性较低,同时运行能分散风险,增加收益来源。
    • 但要注意,不同周期的策略可能会有冲突(如15分钟信号跟4小时信号相反),需要做好仓位和冲突管理。
  4. 增加策略变体

    • 在核心策略的基础上,开发一些变体,比如:
      • 现货期现套利 → 合约期现套利、跨期套利
      • 现货网格 → 合约网格、双向网格
      • 简单配对 → 多配对组合、行业板块套利
    • 策略变体跟原策略相关性较低,能丰富策略组合,提高整体收益。

市场拓展的预期效果

  • 能增加交易机会30%-100%,提高资金利用率20%-50%
  • 总体收益能提高20%-50%
  • 风险中高,因为新市场/新标的的不确定性较大,需要充分验证
  • 建议逐步拓展,每次只增加1-2个新市场/新标的,验证有效后再继续

方向五:逻辑升级(改进策略的核心逻辑)

这是最高级、风险也最高的优化方向。当执行、参数、信号、市场拓展都做到极致后,如果还想进一步提高策略表现,就需要改进策略的核心逻辑了。

逻辑升级的方法

  1. 从简单模型到复杂模型

    • 比如从固定对冲比例升级到动态对冲比例(卡尔曼滤波)
    • 从简单的均线信号升级到多因子模型
    • 从规则驱动升级到机器学习辅助(但要注意可解释性)
  2. 增加新的收益来源

    • 在原有套利的基础上,叠加新的收益来源。比如:
      • 期现套利 + 资金费率套利(持有期现头寸的同时,赚取资金费率)
      • 网格套利 + 做市(在网格挂单的同时,赚取买卖价差)
      • 跨所套利 + 三角套利(在跨所的同时,利用交易所内的价差)
    • 叠加新收益来源能提高策略的整体收益,但也会增加复杂度和风险。
  3. 从单策略到策略组合

    • 把多个相关但不同的策略组合在一起,形成一个更强大的"超级策略"。比如把期现、资金费率、跨期三个套利策略组合成一个"固定收益套利组合",根据市场机会动态分配资金。
    • 策略组合能分散风险,提高资金使用效率,因为不同策略的机会在不同时间出现。
  4. 引入预测模型

    • 在套利策略中引入对价差/费率走势的预测,而不是被动等待均值回归。比如预测资金费率未来会上升,提前布局。
    • 预测模型能提高策略的前瞻性,但也增加了预测错误的风险,需要谨慎使用。

逻辑升级的预期效果

  • 如果成功,能提高收益30%-100%,或者大幅降低风险
  • 风险高,因为核心逻辑的改变可能引入新的未知风险,而且可能过拟合
  • 逻辑升级本质上相当于开发一个新策略,需要经过完整的研发期→成长期验证,不能直接在原策略上改了就用

五大优化方向的总结

优化方向 难度 风险 预期收益提升 建议优先级
执行优化 极低 1%-8%/年 最高,先做
参数优化 10%-20% 高,定期做
信号优化 中高 15%-30% 中,有数据支撑后做
市场拓展 中高 中高 20%-50% 中,逐步做
逻辑升级 30%-100% 低,作为新策略研发

建议按照从低到高的顺序优化你的策略。先把执行和参数这些基础的优化做好,再考虑信号和市场拓展,最后才是逻辑升级。很多时候,把基础优化做好,策略的表现已经能提升很多了,不需要急着做复杂的逻辑升级。

13.3.3 策略迭代优化的流程

讲完了优化方向,下面讲具体的优化流程。一个规范的优化流程能确保优化是有效的、可控的,而不是瞎改。

我自己的策略优化流程分为六步:

第一步:问题定义和数据收集

在优化之前,首先要明确:你要解决什么问题?是收益太低?回撤太大?交易机会太少?还是执行成本太高?

  • 明确问题后,收集相关的数据:策略的历史交易记录、表现数据、市场数据、执行数据等。
  • 用数据说话,不要凭感觉。比如你觉得"滑点太大",就要算出平均滑点是多少、跟行业对比如何、滑点对收益的影响有多大。
  • 这一步的产出是一份"问题分析报告",清楚地定义问题、量化问题的影响、分析问题的原因。

第二步:假设提出和方案设计

基于问题分析,提出优化的假设和方案:

  • 假设:比如"如果把市价单改为限价单,平均滑点能从0.08%降到0.04%,每年能提高收益2%"
  • 方案:具体怎么改?改哪些代码?参数怎么设?
  • 预期效果:优化后预期能提高多少收益、降低多少回撤?
  • 风险:这个优化可能有什么风险?(如限价单可能成交不了,导致错过机会)

一个问题可能有多个优化方案,要都列出来,评估每个方案的预期效果、实施难度、风险,选择最优的方案。

第三步:回测验证

在把优化应用到实盘之前,必须先用历史数据回测,验证优化是否真的有效。

  • 用相同的历史数据,回测优化前和优化后的策略,对比表现。
  • 要做样本外测试:用一部分数据优化参数/逻辑,用另一部分数据验证效果。
  • 要做敏感性分析:优化后的表现是否稳定?参数稍微变一点会不会效果就没了?
  • 要做压力测试:优化后的策略在极端行情下表现如何?风险有没有增加?

如果回测显示优化确实能提高收益/降低风险,而且效果稳定,进入下一步。如果回测显示优化没有效果,或者效果不稳定,或者增加了风险,回到第二步,重新设计方案。

第四步:模拟盘测试

回测通过后,在模拟盘中运行优化后的策略,跟实盘中的原策略并行运行(影子策略),对比表现。

  • 模拟盘运行至少2-4周,收集足够的交易样本。
  • 对比优化后策略跟原策略的实时表现:收益、回撤、交易次数、成交质量等。
  • 检查优化后的代码有没有bug,执行是否正常。
  • 如果模拟盘表现跟回测一致,优化确实有效,进入下一步。如果模拟盘表现跟回测差异大,分析原因,回到第二步或第三步。

第五步:小资金实盘A/B测试

模拟盘通过后,在实盘中做A/B测试:

  • 把策略的资金分成两部分,A部分用原策略,B部分用优化后的策略。
  • 运行2-4周,对比两部分的表现。
  • A/B测试能在真实的市场环境中验证优化的效果,排除回测和模拟盘的偏差。
  • 如果B部分(优化后)的表现显著好于A部分(原策略),而且风险没有增加,说明优化有效,可以全量切换。
  • 如果B部分表现跟A部分差不多,或者更差,说明优化无效,放弃这个优化,回到原策略。

第六步:全量上线和持续监控

A/B测试通过后,把优化后的策略全量上线,替换原策略。

  • 上线后密切监控1-2周,确保没有异常。
  • 记录优化的效果:实际提高了多少收益、降低了多少回撤,跟预期对比。
  • 把优化的内容、效果、经验写入策略文档,作为知识沉淀。
  • 如果优化后出现了预期之外的问题,及时回滚到原策略,分析原因。

优化流程的注意事项

  1. 一次只优化一个变量:不要同时改多个东西,否则你不知道是哪个改动起了作用(或者起了反作用)。一次只改一个变量,验证有效后再改下一个。

  2. 小步快跑,持续迭代:不要试图一次优化就把策略改到完美。每次做小的优化,验证有效后再继续。小步快跑的风险更低,也更容易定位问题。

  3. 保留回滚能力:任何优化都要有回滚方案——如果优化后出问题,能快速切回原策略。不要把原策略的代码删掉,保留至少2个版本。

  4. 不要过度优化:优化是有边际效益递减的。当策略已经比较成熟后,再优化可能只能带来很小的提升,却要花很多时间,还可能引入新风险。这时候不如把时间花在研发新策略上。

  5. 记录一切:每次优化的原因、方案、回测结果、模拟盘结果、A/B测试结果、实盘效果,都要详细记录。这些记录是你最宝贵的资产,能帮你在未来避免重复犯错,也能让你对策略的理解越来越深。

13.3.4 策略优化的常见误区

最后,讲几个策略优化中常见的误区:

误区一:为了优化而优化,没有明确的问题

很多人优化策略,不是因为发现了明确的问题,而是觉得"策略应该还能更好",于是就开始改参数、改逻辑。这种无目的的优化往往是无效的,甚至可能把好策略改坏。

正确的做法:每次优化前,先明确你要解决什么问题,用数据量化这个问题的影响。只有当问题足够重要、优化的预期收益大于成本时,才去优化。

误区二:只看回测,不做实盘验证

很多人优化策略,回测显示收益提高了20%,就直接在实盘改了,结果实盘不仅没提高,反而下降了。因为回测是理想化的,优化可能只是过拟合了历史数据,在实盘中无效。

正确的做法:严格按照"回测→模拟盘→小资金A/B测试→全量上线"的流程来,每一步都验证有效后再进入下一步。不要跳过任何一步。

误区三:同时优化多个变量

很多人优化策略时,同时改了参数、信号、下单逻辑好几个地方,结果实盘表现变好了,也不知道是哪个改动起的作用;如果表现变差了,也不知道是哪个改动导致的,无法回滚。

正确的做法:一次只优化一个变量,验证有效后再优化下一个。这样你能清楚地知道每个改动的效果,也能在出问题时快速定位和回滚。

误区四:过度拟合历史数据

这是最常见也最危险的误区。很多人优化参数时,反复调整,直到回测收益最高。但这样优化出来的参数只是完美拟合了历史数据,在未来实盘中会失效。这就是"参数拟合"或"过拟合"。

正确的做法:

  • 优化参数时,用样本内数据优化,用样本外数据验证。
  • 选择参数平原上的参数,而不是单点最优的参数。
  • 控制参数的数量,参数越多越容易过拟合。
  • 不要为了提高几个百分点的回测收益而把参数调到极端值。

误区五:忽略优化的风险

很多人只看到优化可能带来的收益提升,却忽略了优化可能引入的新风险。比如把止损改宽了,虽然提高了胜率,但也增加了单笔亏损的可能;把交易频率提高了,虽然增加了收益,但也增加了手续费和滑点的风险。

正确的做法:每次优化都要做风险评估——这个优化可能增加什么风险?在极端情况下会怎么样?要做压力测试,确保优化不会让策略的尾部风险大幅增加。

误区六:在策略衰退期试图通过优化"拯救"策略

当策略已经进入衰退期(收益来源消失、竞争加剧),很多人会不断地优化,试图让策略重新有效。但有时候策略的底层逻辑已经失效了,再怎么优化执行和参数都没用,只是浪费时间。

正确的做法:给策略设定一个"优化预算"(如最多3次优化尝试),如果优化后仍然没有改善,就果断淘汰,把时间和精力投入到新策略的研发上。

策略迭代优化是一项需要耐心和纪律的工作。它不是"改代码"那么简单,而是一个基于数据、假设、验证的科学过程。只要你遵循规范的流程,避免常见的误区,就能让你的策略持续进化,保持竞争力。

在壹信量化平台上,a-sig.com提供了策略优化工具,包括参数优化、敏感性分析、样本外验证、A/B测试分析等。intoquant.com可以帮你定制开发策略迭代优化系统,跟你的实盘系统对接,实现优化流程的自动化和规范化。善用这些工具,能让你的策略优化更高效、更可靠。


13.4 策略库管理与知识沉淀:构建你的量化"资产库"

13.4.1 为什么要管理策略库和沉淀知识

到目前为止,我们讲了策略的生命周期、失效识别、迭代优化。这些都是针对单个策略的。但当你做量化交易的时间长了,你会有很多个策略——有的在运行,有的在研发,有的已经淘汰。这些策略加在一起,构成了你的策略库(Strategy Portfolio)

很多量化交易者不重视策略库管理,结果:

  • 策略多了之后,记不清每个策略的逻辑、参数、表现,想调整的时候找不到资料
  • 重复研发——之前已经研究过并放弃的方向,过了半年又重新研究一遍,浪费时间
  • 经验流失——之前踩过的坑、学到的教训,没有记录下来,后来又踩同样的坑
  • 策略组合混乱——不知道每个策略的相关性、风险贡献、资金分配,组合管理全凭感觉
  • 新人接手困难——如果有团队,新人来了不知道之前的策略是怎么回事,上手很慢

我自己在这方面也踩过坑。2021年的时候,我同时运行了五六个策略,研发中的还有三四个。当时没有系统的管理,每个策略的代码、参数、文档都散落在不同的地方。有一次我想调整一个配对策略的参数,结果找了半天才找到代码,又花了一天才搞清楚当初为什么设这个参数。还有一次,我重新研究一个"新"策略,研究了两周才发现,半年前我已经研究过这个方向,当时因为数据问题放弃了,笔记写在一个角落里没看到。白白浪费了两周时间。

从那以后,我开始系统地管理策略库和沉淀知识。我建立了一个"量化资产库",把所有策略的代码、文档、数据、经验都系统化地管理起来。这个资产库让我的工作效率提高了很多——研发新策略时能快速复用之前的代码和经验,调整老策略时能快速找到相关资料,团队协作也顺畅了很多。

这一节,我就把策略库管理和知识沉淀的方法讲给你听。

13.4.2 策略库的组织和管理

首先讲策略库的组织和管理。一个好的策略库应该结构清晰、信息完整、易于检索。

策略库的分类

按照策略的生命周期阶段,把策略分成五类:

  1. 研发中(In Development):正在构思、开发、回测、模拟盘测试的策略,还没有实盘运行。
  2. 运行中(In Production):正在实盘运行的策略,包括成长期和成熟期的策略。
  3. 观察中(Under Observation):实盘表现出现衰退迹象,正在观察和评估的策略(健康度60分以下)。
  4. 已暂停(Paused):因为市场环境不适应或其他原因暂时暂停的策略,未来可能重新启动。
  5. 已淘汰(Retired):已经确认失效、停止运行的策略,但保留代码和文档作为参考。

每个策略都有明确的状态,状态变化时要记录变更原因和时间。

每个策略的档案

对于策略库中的每个策略,都应该有一份完整的"策略档案",包括以下内容:

  1. 基本信息

    • 策略名称、编号、类型(套利/趋势/事件等)、子类型
    • 创建日期、创建人、当前状态
    • 策略简介(一两句话说清楚策略做什么)
  2. 策略逻辑

    • 详细的策略逻辑描述(入场条件、出场条件、仓位管理、风控规则)
    • 策略的收益来源和经济学逻辑
    • 策略的适用市场环境和不适用环境
    • 参数列表和当前参数值,每个参数的含义和取值范围
  3. 回测记录

    • 回测的时间区间、数据来源、成本假设
    • 回测的核心指标(年化收益、最大回撤、夏普、卡玛、胜率、盈亏比等)
    • 回测的收益曲线和回撤曲线
    • 参数优化的记录和敏感性分析
    • 样本外测试和压力测试的结果
  4. 实盘记录

    • 实盘上线日期、初始资金、当前资金
    • 实盘的核心指标(跟回测同样的指标,方便对比)
    • 实盘的收益曲线和回撤曲线
    • 每次参数调整、逻辑变更的记录(时间、原因、内容、效果)
    • 重大事件和异常情况的记录(如极端行情下的表现、系统故障的影响)
    • 健康度评分的历史变化
  5. 技术文档

    • 代码仓库地址和版本
    • 系统架构图(数据流、模块划分、依赖关系)
    • 部署文档(服务器配置、依赖安装、启动命令、监控配置)
    • API文档(使用了哪些交易所API、数据接口)
    • 常见问题和故障排查指南
  6. 复盘和经验

    • 策略研发过程中的关键决策和原因
    • 实盘运行中遇到的问题和解决方案
    • 每次优化的效果评估
    • 从这个策略中学到的经验教训
    • 如果策略被淘汰,淘汰的原因和总结

策略档案的维护

策略档案不是创建了就不管了,要持续更新:

  • 每次调整参数或修改逻辑后,更新策略逻辑和实盘记录
  • 每周更新实盘表现数据和健康度评分
  • 每月做一次策略复盘,更新复盘和经验部分
  • 策略状态变更时(如从运行中变为观察中、从观察中变为已淘汰),记录变更原因和时间
  • 可以用一个简单的规则:任何对策略的修改,都必须在24小时内更新到策略档案中。否则时间长了就记不清了。

策略库的工具

管理策略库可以用不同的工具,根据你的需求和规模选择:

  1. 简单方案(个人交易者)

    • 用文件夹组织:每个策略一个文件夹,里面放代码、文档、数据
    • 用Markdown文件写策略档案(每个策略一个README.md)
    • 用Excel或Google Sheets做策略库总览(列出所有策略的基本信息和当前状态)
    • 用Git管理代码版本
  2. 中等方案(小团队)

    • 用Notion或飞书文档做策略知识库(每个策略一个页面,结构化的模板)
    • 用GitHub/GitLab管理代码,代码跟文档关联
    • 用自研的简单看板管理策略状态和研发进度
    • 用数据库存储实盘表现数据,自动生成报表
  3. 专业方案(中大型团队)

    • 自研或采购专业的量化策略管理平台(如intoquant.com提供的策略管理系统)
    • 统一的代码仓库、文档系统、数据平台、回测平台、实盘监控平台
    • 策略全生命周期管理(从研发到淘汰的流程化、自动化)
    • 权限管理、审计日志、团队协作功能

不管用什么工具,核心是信息完整、结构清晰、易于检索、持续更新。工具只是手段,养成良好的管理习惯才是关键。

13.4.3 策略组合管理

策略库管理不仅是管理单个策略的档案,更重要的是管理策略组合——多个策略如何配置、如何协同、如何控制整体风险。

在第11章我们已经详细讲了资金管理和策略组合配置,这里从策略库管理的角度,补充几个要点:

策略组合的定期评估

每月或每季度,对整个策略组合做一次全面评估:

  1. 组合表现评估

    • 组合整体的收益、回撤、夏普、卡玛等指标
    • 跟基准(如BTC持有、沪深300)对比,有没有超额收益
    • 跟目标对比,有没有达到预期的收益风险目标
  2. 策略贡献分析

    • 每个策略对组合收益的贡献(绝对贡献和相对贡献)
    • 每个策略对组合风险的贡献(波动率贡献、回撤贡献)
    • 每个策略的风险收益比(夏普、卡玛),有没有"拖后腿"的策略
    • 有没有策略虽然收益高,但风险贡献也高,性价比不高
  3. 相关性分析

    • 各策略之间的相关性矩阵,有没有相关性过高的策略(如两个策略本质上都是赌BTC上涨)
    • 组合的分散化效果如何(组合波动率 / 各策略波动率的平均值,比值越低说明分散化越好)
    • 在极端行情下,各策略的表现是否仍然分散(还是同涨同跌)
  4. 资金分配优化

    • 根据各策略的表现、风险、相关性,评估当前的资金分配是否合理
    • 有没有表现好但资金少的策略,需要增加资金?
    • 有没有表现差或风险高的策略,需要减少资金?
    • 有没有新的策略值得纳入组合?有没有旧的策略应该淘汰?
    • 用第11章讲的有效前沿方法,计算最优的资金分配,跟当前分配对比
  5. 组合再平衡

    • 根据评估结果,调整各策略的资金分配,进行再平衡
    • 再平衡的频率不要太高(通常每月或每季度一次),避免过度交易
    • 再平衡时要考虑交易成本和滑点,不要为了精确的比例而频繁调整

策略组合的准入和退出标准

为了避免随意地增加或减少策略,应该为策略组合设定明确的准入和退出标准:

准入标准(新策略纳入组合的条件)

  1. 通过了完整的研发期→成长期验证(回测、模拟盘、小资金实盘)
  2. 跟组合中现有策略的相关性低于0.5(确保分散化效果)
  3. 风险收益比达到组合的最低要求(如夏普>1.5,最大回撤<10%)
  4. 资金容量跟组合的资金规模匹配
  5. 有明确的风控规则和应急预案
  6. 策略档案完整,文档齐全

退出标准(策略从组合中移除的条件)

  1. 策略健康度评分连续4周低于40分,确认失效
  2. 策略的风险收益比持续低于组合平均,且经过优化后仍无改善
  3. 策略跟组合中其他策略的相关性过高(>0.7),且有更好的替代策略
  4. 策略的资金容量大幅下降,无法容纳有意义的资金量
  5. 市场结构发生重大变化,策略的收益来源彻底消失
  6. 策略出现重大风控失效,造成超出预期的大额亏损

有了明确的准入和退出标准,策略组合的管理就有章可循,不会凭感觉随意调整。

策略组合的压力测试

定期(每季度)对整个策略组合做压力测试,评估在极端情况下组合的表现:

  1. 历史极端行情测试:把组合放到2020年312、2021年519、2022年LUNA暴雷、2022年FTX暴雷等历史极端行情中,看组合的最大回撤是多少,会不会爆仓。

  2. 假设极端场景测试:设计一些假设的极端场景,如:

    • BTC单日跌30%
    • 某大交易所暂停提现48小时
    • 稳定币脱锚30%
    • 所有策略同时进入最大回撤
      看组合在这些场景下的表现。
  3. 相关性崩溃测试:在正常市场中,策略之间的相关性可能较低,但在极端行情中,相关性可能急剧上升(所有策略同时亏损)。测试相关性上升到0.8甚至1.0时,组合的最大回撤是多少。

  4. 流动性枯竭测试:测试在市场流动性枯竭(无法平仓、滑点暴增)时,组合的损失会有多大。

压力测试的目的不是预测未来,而是确保你对最坏的情况有准备,并且组合的风险在你的承受范围内。如果压力测试显示组合在某些场景下会爆仓或亏损超出承受范围,就要调整组合配置(如降低杠杆、增加低相关性策略、增加现金比例)。

13.4.4 知识沉淀:把经验变成可复用的资产

策略库管理的另一个重要方面是知识沉淀——把你在量化交易中积累的经验、教训、方法、认知,系统化地记录下来,变成可复用的资产。

知识沉淀的价值在于:

  1. 避免重复踩坑:把踩过的坑记录下来,以后就不会再犯同样的错误。
  2. 提高研发效率:把通用的方法、代码、模板沉淀下来,研发新策略时可以直接复用,不用从零开始。
  3. 加深市场理解:把对市场的观察、思考、认知记录下来,持续积累,你对市场的理解会越来越深。
  4. 方便团队协作:如果有团队,知识沉淀能让新人快速上手,也能让团队成员共享经验。
  5. 个人成长的记录:知识沉淀也是你个人成长的记录,回头看时能看到自己的进步。

知识沉淀的内容

我把量化交易的知识分成五大类:

  1. 策略知识

    • 各类策略的原理、逻辑、适用场景、优缺点
    • 策略研发的方法论和最佳实践
    • 策略回测、优化、验证的方法
    • 具体策略的研发记录和经验(每个策略的档案就是策略知识)
  2. 市场知识

    • 对加密货币市场结构、参与者、规则的理解
    • 各类市场异常现象的观察和分析(如资金费率异常、基差异常)
    • 重大历史事件的复盘(如LUNA暴雷、FTX暴雷)及对市场的影响
    • 市场规律和周期的总结(如牛熊周期、季节性规律)
  3. 技术知识

    • 交易所API的使用经验和坑点
    • 数据获取、清洗、存储的方法
    • 回测系统、实盘系统的架构和最佳实践
    • 性能优化、稳定性保障、故障排查的方法
    • 常用工具和库的使用经验
  4. 风控知识

    • 各类风险的识别、度量、应对方法
    • 风控系统的设计和实现
    • 极端行情的应急预案
    • 真实风险事件的复盘和教训
  5. 运营和管理知识

    • 实盘运营的流程和最佳实践
    • 策略库管理和组合管理的方法
    • 资金管理和仓位管理的经验
    • 团队协作和项目管理的方法
    • 个人心态管理和交易纪律

知识沉淀的方法

  1. 建立知识库

    • 用Notion、飞书文档、语雀等工具,建立一个结构化的知识库。
    • 按照上面的五大类组织内容,每类下面再细分小类。
    • 每个知识点一个页面,用统一的模板(标题、日期、标签、内容、参考链接)。
    • 建立标签体系,方便跨分类检索(如#BTC #套利 #风控 #2022年)。
  2. 养成记录的习惯

    • 随时记录:当你有一个想法、发现一个问题、学到一个经验时,立刻记下来(可以用手机备忘录或知识库的快速录入功能),不要等"以后再整理",以后你就忘了。
    • 定期整理:每周花30分钟,把这周随手记录的内容整理到知识库中,归类、补充、完善。
    • 事件驱动记录:每次重大事件(如策略大亏、系统故障、市场黑天鹅)后,写一篇详细的复盘,记录事件经过、原因分析、应对措施、经验教训。
    • 项目结束记录:每个策略研发结束(不管成功还是失败)后,写一篇项目复盘,记录研发过程、关键决策、最终结果、经验教训。
  3. 模板化和标准化

    • 为常见的文档类型建立模板,如策略档案模板、复盘模板、故障排查模板、会议纪要模板。
    • 模板能确保记录的完整性,也能提高效率(不用每次都想结构)。
    • 随着经验积累,持续优化模板,把新的最佳实践纳入模板。
  4. 代码和工具的复用

    • 把通用的代码(如数据获取、API封装、回测框架、风控模块、下单算法)整理成可复用的库,新项目直接引用。
    • 把常用的分析脚本、数据处理工具、监控工具整理成工具集。
    • 代码要有详细的注释和使用文档,确保未来的自己(或团队成员)能看懂、会用。
    • 用Git管理代码版本,每次重要的修改都写清楚commit message。
  5. 定期回顾和更新

    • 知识库不是写了就不管了,要定期回顾和更新。
    • 每月花1小时,回顾这个月新增的知识,看看有没有跟旧知识冲突的,有没有需要更新的。
    • 每季度花半天,系统性地回顾整个知识库,整理过时的内容,补充新的认知,优化结构。
    • 知识是会迭代的,你对市场的理解会不断深入,旧的认知可能被新的认知取代,要及时更新。

知识沉淀的常见误区

  1. 只记录不回顾:很多人记了很多笔记,但从来不去看,等于没记。知识沉淀的价值在于复用,要定期回顾,把知识真正内化。

  2. 记录太零散:随手记了很多碎片,但没有系统化地整理,需要的时候找不到。要定期整理,把碎片归类到知识库的结构中。

  3. 追求完美,迟迟不写:很多人觉得"等我想清楚了再写",结果永远想不清楚,永远不写。知识沉淀不需要完美,先写下来,再逐步完善。粗糙的记录也比没有记录好。

  4. 只记录成功,不记录失败:很多人只愿意记录成功的经验,不愿意记录失败的教训。但实际上,失败的教训比成功的经验更有价值——它能帮你避免未来犯同样的错误。要诚实地记录失败,深入分析原因。

  5. 知识只存在脑子里:很多人觉得"这些我都懂,不用写下来"。但人脑的记忆是有限的,时间长了会遗忘,细节会模糊。好记性不如烂笔头,把知识写下来,才能真正沉淀下来。

知识沉淀是一个长期的、持续的过程。它不会立刻给你带来收益,但随着时间的推移,你的知识库会越来越丰富,你的研发效率会越来越高,你踩的坑会越来越少,你对市场的理解会越来越深。这些最终都会转化为你的交易收益。

我自己的知识库现在已经有几百篇文档了,每次研发新策略时,我都会先搜索知识库,看看之前有没有相关的研究、有没有踩过类似的坑。这让我的研发速度比刚开始时快了好几倍,也避免了很多重复错误。我强烈建议你从现在开始,建立自己的知识库,持续沉淀。

在壹信量化平台上,intoquant.com可以帮你搭建专业的量化知识库和策略管理系统,包括策略档案模板、知识库结构、版本管理、团队协作等功能。a-sig.com提供了丰富的市场数据和策略研究资料,可以作为你知识库的重要补充。善用这些工具和资源,能让你的知识沉淀更高效、更系统。


量化专家笔记

笔记一:策略的生命周期比策略的短期收益更重要

这是我做了这么多年量化交易后,最深刻的体会之一:选择策略时,不要只看它的短期收益有多高,更要看它的生命周期有多长

一个年化收益50%但只能用6个月的策略,和一个年化收益20%但能用3年的策略,哪个更好?

让我们算一笔账:

  • 策略A:年化50%,用6个月,收益25%,然后失效,资金闲置或找新策略
  • 策略B:年化20%,用3年,复利收益1.2^3-1=72.8%

显然,策略B的总收益高得多。而且策略A失效后,你需要花时间和精力去研发新策略,新策略还不一定能成功,中间还有资金闲置的成本。而策略B能持续稳定地给你赚钱,你只需要做好日常运营就行。

我见过太多人,痴迷于寻找"高收益策略",找到一个就猛冲,结果策略几个月就失效了,然后又去找下一个,忙忙碌碌一整年,算下来总收益还不如那些老老实实持有一个稳健策略的人。

为什么高收益策略的生命周期通常更短?因为:

  1. 高收益往往来自于市场的无效性:比如某个套利空间很大,是因为市场还没注意到。但一旦很多人发现了这个机会,竞争会迅速压缩利润空间,收益就下降了。收益越高的机会,越容易吸引竞争者,生命周期越短。
  2. 高收益往往伴随着高风险:高收益策略通常承担了更高的风险(如尾部风险、流动性风险),这些风险在平时不显现,但一旦爆发,可能就直接终结了策略的生命。
  3. 高收益策略往往更复杂:复杂的策略更容易过拟合,也更容易因为市场结构的微小变化而失效。简单的策略(如期现套利)逻辑稳固,生命周期长。

而低收益但稳健的策略,往往:

  1. 收益来源更稳固:比如制度性的套利(期现、跨期),只要市场制度不变,机会就一直存在。
  2. 竞争已经充分:收益已经被压缩到合理水平,不会再有大量新进入者,反而比较稳定。
  3. 逻辑简单清晰:不容易过拟合,对市场变化的鲁棒性强。

当然,我不是说高收益策略就不能做。高收益策略在它的生命周期内确实能赚快钱,如果你能在它衰退前及时退出,也是很好的。但问题是,大多数人做不到及时退出——他们被高收益迷惑,在策略衰退期仍然满仓持有,结果把之前赚的钱又亏回去了。

所以,我的建议是:

  1. 把策略库的核心(70%-80%的资金)放在生命周期长、稳健的策略上,如套利、做市等。这些策略是你的"现金牛",能持续稳定地给你赚钱。
  2. 用小部分资金(20%-30%)去尝试高收益但可能生命周期短的策略,如事件驱动、新兴机会。这些策略是你的"增长引擎",如果成功了能带来超额收益,如果失败了损失也有限。
  3. 对于高收益策略,一定要密切监控生命周期信号,一旦发现衰退迹象,及时减仓退出,不要恋战。
  4. 不要把所有希望寄托在一个策略上,不管它看起来多好。永远要在研发新策略,因为老策略总有一天会衰退。

记住,量化交易是一场马拉松,不是百米冲刺。能在这场马拉松中持续跑到最后的,不是那些短期跑得最快的人,而是那些能保持稳定速度、不受伤、不停下来的人。策略也是一样,生命周期长的稳健策略,才是你最可靠的伙伴。

在评估一个新策略时,除了问"它能赚多少钱",还要问"它能赚多久"。把生命周期作为跟收益同等重要的评估维度,你的策略库会更健康,长期收益会更稳定。

笔记二:淘汰一个策略比开发一个新策略更需要勇气

这句话可能听起来有点奇怪,但这是我的真实体会。开发一个新策略是"做加法",是充满希望和期待的;而淘汰一个策略是"做减法",是承认失败、放弃投入,需要克服很多心理障碍。

我见过太多人,明明知道某个策略已经失效了,但就是舍不得淘汰,原因各种各样:

  • "这个策略我花了3个月开发,投入了很多精力,淘汰了太可惜了。"——这是沉没成本谬误。你过去投入的时间和精力已经是沉没成本,不应该影响你现在的决策。现在的决策应该基于"这个策略未来还能不能赚钱",而不是"我过去在它身上花了多少时间"。
  • "再等等看,说不定过段时间市场环境变了,它又有效了。"——这是侥幸心理。当然,有些策略确实是暂时不适应市场环境,等环境变了会恢复。但你要客观判断:这是暂时的环境问题,还是策略的逻辑已经永久失效了?如果是后者,等再久也没用。
  • "我已经在这个策略上亏了不少钱,现在淘汰了,亏损就实锤了。说不定再坚持一下能赚回来。"——这是亏损厌恶和报复性交易。因为想"回本"而继续持有一个失效的策略,往往会亏更多。及时止损,把资金和精力投入到更有希望的地方,才是理性的选择。
  • "淘汰了这个策略,我的策略库就少了一个,资金不知道往哪放。"——这是"为了持有而持有"。空仓(把钱放在稳定币或逆回购里)至少不会亏钱,还能有一点利息。持有一个失效的策略,不仅可能亏钱,还占用你的资金和精力。没有好策略的时候,空仓也是一种策略。

我自己也曾经在淘汰策略上犹豫过。2022年,我有一个山寨币轮动策略,在2021年牛市中表现非常好,年化收益超过100%。但进入2022年熊市后,这个策略表现很差,连续亏损。我当时很犹豫——这个策略曾经给我赚了很多钱,我对它有感情,总觉得"等牛市回来了它又能赚"。于是我继续持有,结果2022年这个策略又亏了20%。后来我终于下定决心淘汰了它,把资金分配到了套利策略上。现在回头看,如果我早半年淘汰它,能少亏10%以上。而且,就算2023-2024年市场回暖了,这个策略的表现也不如以前了——因为市场结构变了,山寨币的轮动规律跟2021年不一样了。我当初的"等牛市回来"的想法,只是一厢情愿。

从那以后,我给自己定了一条规则:当一个策略的健康度评分连续4周低于40分,并且经过分析确认是结构性失效(不是暂时的环境问题),必须在2周内完成淘汰,不允许拖延。这条规则帮我克服了心理障碍,避免了很多在失效策略上的额外亏损。

淘汰策略时,我会做几件事来让自己更理性:

  1. 写一份详细的淘汰复盘报告:客观分析策略的生命周期、累计收益、衰退原因、淘汰的必要性。把这些写下来,能让你从情绪中抽离出来,理性地看待这个决策。
  2. 计算"如果继续持有"的预期损失:根据策略衰退的速度,估算如果继续持有3个月、6个月,可能会亏多少钱。跟"现在淘汰,把资金放到其他策略的预期收益"对比,你会发现淘汰是更理性的选择。
  3. 把淘汰重新定义为"资源优化配置":不要把淘汰看成"失败",而要看成"把资金和精力从低效的地方释放出来,投入到更高效的地方"。淘汰一个失效的策略,跟卖出一个亏损的股票、辞掉一份没有前途的工作是一样的——是为了更好的未来。
  4. 保留策略的代码和文档:淘汰不是删除一切。保留策略的代码、数据、文档,作为知识沉淀。这个策略虽然失效了,但你从中学到的经验、开发的工具、对市场的理解,都是宝贵的资产,可以用于未来的策略研发。这样想,你会觉得淘汰不是"失去",而是"沉淀"。

记住,策略库的活力不在于你有多少个策略,而在于你有多少个"有效"的策略。及时淘汰失效的策略,把资源集中在有效的策略上,你的策略库才会健康。就像一个花园,你需要定期修剪枯萎的枝叶,才能让健康的花草茁壮成长。

淘汰一个策略确实需要勇气,但这种勇气是理性的、必要的。当你能果断地淘汰失效策略时,你就向成熟的量化交易者迈进了一大步。

笔记三:策略迭代的边际效益递减,知道何时停止比知道如何优化更重要

这一节我们讲了策略迭代优化的五大方向和完整流程。但我想在这里补充一个重要的观点:策略优化是有边际效益递减的,知道何时停止优化,比知道如何优化更重要

很多量化交易者(包括曾经的我)陷入了一个陷阱:过度优化(Over-optimization)。他们对一个策略反复打磨,改了又改,总觉得"还能再提高一点"。结果呢?

  • 花了大量时间在细节优化上,却没有时间去研发新策略,整体收益反而上不去。
  • 优化来优化去,把策略改得越来越复杂,越来越过拟合,实盘表现反而下降了。
  • 优化引入了新的bug和风险,某次优化后策略出现了异常亏损。
  • 策略的代码变得越来越臃肿,难以维护,后来想改都不敢改了。

我自己在一个期现套利策略上就犯过过度优化的错误。2021年这个策略刚上线时,年化收益22%,最大回撤7%,已经很不错了。但我总觉得还能更好,于是开始了漫长的优化之路:

  • 优化下单算法,从市价单改限价单,再改智能路由,收益提高了2%。
  • 优化参数,从固定阈值改自适应阈值,收益提高了1%。
  • 增加过滤条件,只做高确定性的机会,收益提高了1%。
  • 增加新的交易对,从BTC扩展到ETH、SOL,收益提高了2%。
  • 叠加资金费率套利,在期现头寸上同时赚资金费率,收益提高了2%。
  • 优化退出逻辑,动态调整止盈止损,收益提高了1%。

前前后后优化了大半年,收益从22%提高到了31%,看起来很不错。但问题是:

  1. 策略的代码从最初的500行变成了3000多行,逻辑非常复杂,只有我自己能看懂,维护起来很费劲。
  2. 因为太复杂,某次优化引入了一个bug,在极端行情下导致了一次3%的异常亏损(虽然后来修复了,但暴露了风险)。
  3. 我花了大半年时间优化这个策略,却没有时间去研发新策略。那段时间我的策略库只有这一个主力策略,集中度风险很高。
  4. 后来市场竞争加剧,这个策略的收益自然下降到了20%左右,我之前辛辛苦苦优化出来的10%超额收益,大部分被市场竞争吃掉了。如果我当时把优化的时间用来研发2-3个新策略,策略组合的整体收益可能比单策略优化高得多。

从那以后,我深刻认识到了过度优化的危害,也建立了自己的"优化停止准则":

我的优化停止准则

  1. 收益提升低于1%/年时,停止优化:当进一步优化预期能带来的年化收益提升低于1%时,就不值得再花时间了。因为优化有风险,可能引入bug或过拟合,1%的收益提升不足以覆盖这些风险。把时间花在研发新策略上,一个新策略成功了能带来10%以上的组合收益提升,性价比高得多。

  2. 连续3次优化没有显著效果时,停止优化:如果你尝试了3次不同的优化方向,都没有带来显著的收益提升或风险降低,说明这个策略已经接近它的"潜力上限"了。再优化下去只是边际效益递减,甚至可能起反作用。这时候应该停止优化,接受策略当前的表现。

  3. 策略代码复杂度超过你的维护能力时,停止优化:每个策略都有一个"复杂度上限",超过这个上限,你就难以完全理解和维护它了。当你发现自己已经记不清策略的所有细节、改一个地方要担心影响另一个地方、新人根本看不懂时,说明策略已经太复杂了。这时候应该停止增加新功能,甚至考虑简化策略。

  4. 优化开始"为了优化而优化"时,停止优化:当你优化的动机不再是"解决一个明确的问题",而是"觉得应该还能更好"时,说明你已经陷入了过度优化的陷阱。这时候停下来,问自己:我到底在解决什么问题?这个问题值得解决吗?如果答案不明确,就停止。

  5. 有更重要的事情(如新策略研发)时,暂停优化:策略优化是"维护性工作",新策略研发是"增长性工作"。当你有好的新策略想法时,应该优先做新策略研发,把老策略的优化暂停。老策略已经在赚钱了,优化只是锦上添花;而新策略如果成功了,能带来新的收益来源,是雪中送炭。

正确的策略管理心态

  • 接受"足够好":不要追求完美。一个年化20%、最大回撤7%的策略已经非常好了,不需要非要优化到年化30%、最大回撤5%。"足够好"的策略,加上好的资金管理和组合分散,长期下来已经能给你带来非常可观的财富。
  • 把策略当成"产品"而不是"作品":作品是追求完美的,产品是追求"够用、稳定、可维护"的。你的策略是用来赚钱的产品,不是用来炫耀的作品。产品的核心是稳定可靠,而不是功能多复杂、收益多极致。
  • 关注组合整体,而不是单个策略:不要盯着单个策略的收益,要关注整个策略组合的表现。一个策略从20%优化到22%,对组合的贡献可能只有0.5%(如果这个策略占组合的25%);而增加一个新策略,可能让组合整体收益提高3%-5%。哪个更有价值,一目了然。
  • 定期"修剪"策略:就像花园需要定期修剪一样,策略也需要定期简化。每半年回顾一下策略的代码和逻辑,看看有没有冗余的功能、过时的参数、可以简化的地方。保持策略的简洁,比不断增加功能更重要。

记住,策略优化的目的是让策略更好地为你赚钱,而不是满足你"追求完美"的心理。当优化的边际效益已经很低时,勇敢地停下来,把时间和精力投入到更有价值的地方(如新策略研发、知识沉淀、身心健康)。知道何时停止,是一种智慧,也是一种成熟。

在壹信量化平台上,a-sig.com的策略分析工具能帮你评估策略的"优化空间"——通过分析策略的收益来源、成本结构、风险特征,告诉你还有多少优化空间,哪些方向可能有效。intoquant.com的策略咨询服务可以帮你判断一个策略是否已经过度优化,是否需要简化。善用这些工具和服务,能帮你避免过度优化的陷阱,把时间花在最有价值的地方。

笔记四:你的知识库和策略库,才是你真正的"护城河"

最后这条笔记,我想跟你聊一个更本质的问题:在量化交易中,你的核心竞争力到底是什么?

很多人以为,核心竞争力是"找到一个别人不知道的高收益策略"。但实际上,在信息传播如此迅速的今天,任何一个有效的策略,用不了多久就会被别人发现,竞争会迅速压缩利润空间。靠一个"秘密策略"长期赚钱,越来越难了。

也有人以为,核心竞争力是"更快的速度、更低的延迟"。对于高频交易来说,速度确实重要,但对于大多数中低频的套利和趋势策略来说,几毫秒的延迟差异并不是决定性的。而且,追求极致速度需要大量的资金投入(服务器、托管、专线),个人交易者很难跟机构竞争。

还有人以为,核心竞争力是"更复杂的模型、更先进的技术"。但实际上,复杂的模型不一定比简单的模型更有效,反而更容易过拟合。很多长期稳定盈利的策略,逻辑都非常简单(如期现套利、网格)。技术是工具,不是目的。

那么,真正的核心竞争力是什么?我认为,是你的知识库和策略库——你对市场的深刻理解、你积累的经验教训、你研发和管理策略的体系、你持续进化的能力。这些才是别人偷不走、学不去的"护城河"。

为什么这么说?

  1. 策略会失效,但知识不会:任何一个具体的策略,都有生命周期,最终都会失效。但你从这个策略中获得的对市场的理解、研发的方法、踩过的坑,会沉淀下来,成为你研发下一个策略的基础。你的知识越多,研发新策略的速度就越快,成功率就越高。这是一个正向循环。

  2. 单个策略会被竞争,但策略库不会:别人可以复制你的某一个策略,但很难复制你的整个策略库——因为你的策略库是你长期积累的结果,包含了很多不同类型、不同周期、不同市场的策略,它们之间的组合和配置也是基于你对市场的理解。别人就算复制了其中一两个,也无法复制整个组合的分散化效果和稳健性。

  3. 技术可以买,但体系买不来:你可以花钱买服务器、买数据、买代码,但你买不来一套成熟的策略研发和管理体系——怎么发现机会、怎么验证策略、怎么控制风险、怎么管理组合、怎么迭代优化。这些体系是你在长期实践中摸索出来的,是你最宝贵的资产。有了这套体系,你能持续地研发出新策略,淘汰旧策略,让你的策略库保持活力。

  4. 别人能看到你的结果,但看不到你的过程:别人可能看到你某个策略赚了钱,但他们看不到你研发这个策略过程中试了多少错、调整了多少次、积累了多少细节经验。这些"过程中的知识"才是最难复制的。同样一个策略,你用能赚钱,别人用可能就亏钱,因为你掌握了那些细节和经验,而别人没有。

我自己的体会是,做量化交易的前2年,我主要是在"学策略"——学习各种策略的原理和方法,模仿别人的策略。那时候我觉得,只要找到一个好策略就能赚钱。但做了3-4年之后,我发现真正让我稳定盈利的,不是某一个具体的策略,而是我积累的一整套"研发-验证-上线-运营-迭代-淘汰"的体系,以及在这个过程中沉淀的对市场的深刻理解。有了这套体系和理解,我能持续地找到新机会、研发新策略,即使老策略失效了,我也能很快用新策略补上。这才是真正的安全感。

所以,我想给你的建议是:

  1. 不要只盯着"赚钱",要盯着"成长":每做一个策略,不管成功还是失败,都要问自己:我从中学到了什么?这个经验能用于未来吗?把每一次实践都当成积累知识和能力的机会。长期来看,你的能力增长了,赚钱是自然而然的结果。

  2. 建立你的"双库":策略库+知识库:策略库管理你的所有策略(研发中、运行中、已淘汰),知识库沉淀你的所有经验(策略知识、市场知识、技术知识、风控知识、运营知识)。这两个库是你最核心的资产,要持续投入时间去建设和维护。

  3. 把"研发体系"当成一个产品来打磨:不要只打磨单个策略,要打磨你的整个研发体系——怎么发现机会、怎么做回测、怎么验证、怎么上线、怎么监控、怎么迭代、怎么淘汰。把这个体系流程化、标准化、工具化,让它能持续高效地产出好策略。一个好的体系,比一个好的策略更有价值。

  4. 保持学习和开放的心态:市场在变,技术在变,你的知识也要持续更新。不要固步自封,觉得"我这套方法已经够用了"。要持续学习新的策略、新的技术、新的市场,把新的认知纳入你的知识库。同时,要跟同行交流,分享经验,互相学习。一个人的视野是有限的,交流能让你看到自己看不到的东西。

  5. 耐心积累,相信复利的力量:知识库和策略库的建设,跟资金的复利一样,是一个缓慢但加速的过程。前1-2年,你可能觉得积累很慢,效果不明显。但3-5年之后,你会发现你的知识和经验已经形成了一个强大的网络,研发新策略越来越快,踩坑越来越少,整体收益越来越稳定。这就是知识的复利。不要急于求成,耐心积累,时间会给你丰厚的回报。

最后,我想说:量化交易不是一场关于"谁的策略更厉害"的竞赛,而是一场关于"谁能持续学习、持续进化、持续生存"的修行。你的知识库和策略库,就是你在这场修行中积累的道行。道行深了,自然能在市场的风云变幻中游刃有余。

在壹信量化平台上,a-sig.com和intoquant.com不仅提供工具和服务,更重要的是,它们是你积累知识和策略的"基础设施"——a-sig.com帮你积累市场数据和策略研究成果,intoquant.com帮你管理代码、系统和策略库。善用这些基础设施,把你的知识和策略系统化地沉淀下来,构建属于你自己的"护城河"。这,才是量化交易的长期制胜之道。

⚠️ 风险提示:本书内容仅为量化研究与知识分享,不构成任何投资建议。套利交易存在基差、费率、流动性、平台与极端行情等风险,历史表现不代表未来收益。投资有风险,入市需谨慎,请自主决策、量力而行。

💡 键盘 ←/→ 翻章 · T 键切换目录