Skip to content

策略实盘注意事项

引言

很多量化新手都有过这样的经历:回测年化收益率 40%,夏普比 2.0,最大回撤不到 10%——一切看起来完美无缺。然而一旦投入实盘,收益却远不如预期,甚至出现持续亏损。这不是个例,而是量化投资中几乎每个人都会经历的"回测-实盘鸿沟"。

回测是基于历史数据的"理想实验",而实盘是在真实市场中"真刀真枪"的博弈。两者之间的差距,来源于交易成本、市场微观结构、流动性约束、心理因素等多个维度。本文将系统性地梳理从回测到实盘需要注意的核心问题,帮助你在踏入实盘之前做好充分准备。


一、滑点:回测中容易被低估的"隐形杀手"

1.1 什么是滑点

滑点(Slippage)是指你下单时期望的价格与实际成交价格之间的差距。在回测中,我们通常假设以收盘价或次日开盘价精确成交,但实盘中这几乎不可能实现。

举个例子:你的策略在盘中发出买入信号,目标价格为 10.00 元。然而当你提交限价单时,市场价格已经波动到 10.05 元;如果你用市价单,成交价可能更高。这 0.05 元的差距就是滑点。

1.2 滑点的构成

滑点主要由以下几部分组成:

  • 买卖价差(Bid-Ask Spread):买一价和卖一价之间的差额。A 股主流股票的价差通常在 0.01 元(一档)左右,但对于流动性较差的小盘股,价差可能更大。
  • 市场冲击(Market Impact):你的订单本身会推动价格变动。买入量越大,成交均价越高;卖出量越大,成交均价越低。
  • 延迟滑点:从信号产生到订单提交再到成交,存在时间延迟。在这段延迟中,价格已经发生了变化。
  • 波动性滑点:在市场剧烈波动时(如开盘、收盘、重大公告发布),滑点会显著放大。

1.3 回测中如何更准确地模拟滑点

在回测中加入滑点模拟,是缩小回测与实盘差距的第一步。以下是几个实用建议:

固定滑点模型:每笔交易固定加一个滑点成本,比如买入价加 0.1%,卖出价减 0.1%。这是最简单的方式,适合初步评估。

百分比滑点模型:按成交金额的一定比例扣除滑点成本。A 股实盘中,对于中等流动性的股票,建议至少设置 0.1%~0.2% 的滑点成本。

成交量比例模型:更精细的做法是根据你的订单量占当日成交量的比例来估算冲击成本。如果你的买单量超过该股票日成交量的 1%,冲击成本就会开始变得显著;超过 5% 时,冲击成本可能达到 0.5% 甚至更高。

1.4 减少实盘滑点的技巧

  • 尽量选择流动性好的标的,日均成交额至少在 5000 万元以上。
  • 避免在开盘和收盘前 5 分钟进行大额交易,此时市场波动最大。
  • 使用 TWAP(时间加权平均价格)或 VWAP(成交量加权平均价格)算法拆分大单,降低市场冲击。
  • 对于中低频策略,可以考虑使用限价单而非市价单,以牺牲一定的成交概率换取更好的价格。

二、流动性风险:想买买不到,想卖卖不出

2.1 流动性不足的表现

在回测中,你可以假设在任何价位买入或卖出任意数量的股票。但实盘中,流动性是一个硬约束:

  • 涨停/跌停无法成交:A股有涨跌停限制,当股票涨停时买入困难,跌停时卖出困难。如果你的策略恰好需要在这些时刻交易,回测结果将严重失真。
  • 停牌:股票可能因各种原因停牌,停牌期间无法交易。回测中如果不处理停牌,会高估策略的可执行性。
  • 成交量不足:小盘股的日成交量可能只有几十万元,你的策略如果需要买入数百万元,根本无法在合理价格范围内完成。
  • 涨跌停板附近的流动性枯竭:当股价接近涨跌停板时,挂单量可能急剧减少,流动性瞬间枯竭。

2.2 回测中如何处理流动性问题

设置成交量过滤条件:在选股时加入最低成交量或最低成交额的筛选条件。例如,只选择过去 20 个交易日日均成交额大于 5000 万元的股票。

限制单只股票的持仓比例:规定单只股票的买入量不超过该股票日均成交量的某个百分比(比如 2%~5%),超过的部分需要分多日建仓。

处理涨跌停和停牌:在回测中,如果目标股票处于涨停状态,应假设无法买入;处于跌停状态,应假设无法卖出。停牌期间应跳过交易。

使用真实的历史成交量数据:确保回测使用的成交量数据是真实的复权后数据,而非经过调整的数据。

2.3 盘口冲击成本

盘口冲击成本是流动性风险的直接体现。当你提交一笔大额买单时,你会"吃掉"卖一到卖五甚至更远档位的挂单,导致实际成交均价远高于买一价。

举例来说,假设某只股票的卖盘如下:

档位价格挂单量
卖五10.045000股
卖四10.038000股
卖三10.0212000股
卖二10.0120000股
卖一10.0030000股

如果你要买入 80000 股,你需要"吃掉"卖一到卖五的全部挂单(共 75000 股),还会继续向上成交。最终成交均价约为 10.02 元,比卖一价高出 0.02 元,这就是盘口冲击成本。

对于资金量较大的策略,盘口冲击成本可能远超佣金和印花税,成为最主要的交易成本之一。


三、策略容量:规模是一把双刃剑

3.1 什么是策略容量

策略容量(Capacity)是指一个策略在不显著影响收益的前提下,能够管理的最大资金规模。每个策略都有其容量上限,超过这个上限后,策略的收益率会显著下降。

3.2 为什么策略有容量上限

策略容量受限的根本原因是市场冲击成本。当你的资金规模增大时,你的交易量也相应增大,对市场价格的冲击也随之增大。

具体来说,容量受限的原因包括:

  • 市场冲击成本非线性增长:当你的交易量从日成交量的 1% 增长到 5% 时,冲击成本可能从 0.1% 增长到 0.5%;当增长到 10% 时,冲击成本可能飙升到 1% 以上。
  • 流动性有限:市场中流动性好的标的数量有限,资金规模增大后不得不选择流动性较差的标的,进一步增加交易成本。
  • 策略同质化:当多个资金方使用相同或相似的策略时,会出现"抢跑"现象,导致策略收益被稀释。
  • 信号衰减:部分策略的 alpha 信号本身就只对一定规模的资金有效,超过某个阈值后信号的有效性会下降。

3.3 如何估算策略容量

估算策略容量需要考虑以下因素:

基于成交量的估算:假设你的策略每天换手率为 R,持仓股票数量为 N,每只股票的仓位相同。那么每只股票的日均交易量约为(总资金 x R / N)/ 2(买卖各一半)。为了保证冲击成本可控,这个交易量不应超过该股票日均成交量的 2%~5%。

基于冲击成本的估算:通过回测或实盘数据,绘制资金规模与冲击成本的关系曲线,找到冲击成本开始急剧上升的拐点。这个拐点对应的资金规模就是策略的近似容量。

经验法则:对于 A 股的中低频日级策略(换手率 10%~30%),管理资金规模通常在数百万元到数千万元之间,具体取决于策略的持仓集中度和标的流动性。对于高频策略,容量可能只有几十万元到数百万元。

3.4 资金规模增长后的应对策略

  • 扩展标的池:将选股范围从沪深300扩展到中证500,甚至中证1000,增加可交易的标的数量。
  • 降低换手率:调整策略参数,延长持仓周期,减少交易频率,降低冲击成本。
  • 使用更复杂的执行算法:采用算法交易来拆分大单,减少对市场的冲击。
  • 多策略组合:不要把所有资金放在一个策略上,组合多个低相关性的策略,分散资金压力。
  • 接受规模递减的现实:理性看待资金规模增长后收益率的下降,这是正常的市场规律。

四、实盘监控:让策略在掌控之中

4.1 净值跟踪

实盘上线后,首先要建立的就是净值跟踪系统。需要跟踪的指标包括:

  • 每日净值:记录策略每日的单位净值和累计净值,绘制净值曲线。
  • 基准比较:将策略净值与基准指数(如沪深300、中证500)进行对比,计算超额收益。
  • 回撤监控:实时监控策略的最大回撤、当前回撤幅度,以及回撤持续时间。
  • 收益归因:分析收益来源——是来自选股 alpha、行业配置还是市场 beta。

建议使用 Python 编写自动化的净值跟踪脚本,每天收盘后自动计算各项指标并生成报告。可以使用 matplotlib 或 plotly 绘制净值曲线图,直观展示策略表现。

4.2 指标预警系统

建立预警系统,当策略表现偏离预期时及时发出警报。常见的预警指标包括:

风险类预警

  • 最大回撤超过历史回测的 1.5 倍:可能意味着市场环境发生了重大变化,策略已不再适用。
  • 单日亏损超过历史最大单日亏损的 1.2 倍:需要检查是否有异常事件或系统错误。
  • 连续亏损天数超过历史最长连亏天数:策略可能进入了不适应的市场阶段。
  • 波动率突然增大:可能是市场环境变化或策略失效的信号。

交易类预警

  • 成交率异常下降:如果大量订单无法成交,可能是流动性不足或交易系统故障。
  • 滑点异常增大:实际滑点远超预期,需要检查执行逻辑或市场微观结构是否发生变化。
  • 持仓偏离目标:实际持仓与策略目标持仓之间的偏差超过阈值,需要手动调整。

运行类预警

  • 数据源异常:行情数据延迟、缺失或错误。
  • 交易系统故障:下单失败、连接中断等。
  • 策略程序异常:代码报错、内存溢出等。

预警方式可以包括邮件通知、微信/钉钉消息、短信等,确保你能在第一时间发现问题。

4.3 日常运维检查清单

实盘运行期间,建议每天进行以下检查:

  • 确认行情数据是否正常接收,有无缺失或异常值。
  • 确认策略信号是否正常生成,交易指令是否正常发送。
  • 确认订单是否全部成交,未成交订单是否需要撤单重挂。
  • 核对持仓数据,确保实际持仓与策略目标一致。
  • 检查资金账户余额和可用资金。
  • 查看当日盈亏,与策略预期进行对比。
  • 检查系统日志,排查潜在问题。

五、策略迭代:保持竞争力的关键

5.1 为什么要定期迭代

市场是不断进化的。一个在今天有效的策略,可能在未来几个月或几年内逐渐失效。原因包括:

  • 市场效率提升:随着越来越多量化资金进入市场,alpha 机会被更快地发现和消化。
  • 市场结构变化:交易制度变革(如注册制改革)、投资者结构变化(机构占比提升)等,都会影响策略的有效性。
  • 宏观环境变化:不同的经济周期、货币政策环境下,因子的表现可能截然不同。
  • 竞争加剧:其他量化基金可能使用相似的策略,导致 alpha 被稀释。

因此,策略需要定期回顾和优化,以适应不断变化的市场环境。

5.2 策略回顾的频率和内容

建议按照以下频率进行策略回顾:

每周回顾

  • 本周策略收益与预期收益的对比。
  • 主要盈亏来源分析。
  • 是否触发任何预警指标。
  • 市场环境是否有明显变化。

每月回顾

  • 月度收益归因分析。
  • 主要因子的表现评估。
  • 策略参数的稳健性检查。
  • 与同类策略的横向对比。

每季度回顾

  • 全面的策略有效性评估。
  • 回测与实盘的差异分析。
  • 是否需要调整策略参数或逻辑。
  • 策略容量的重新评估。

每年回顾

  • 年度总结报告,包括收益、风险、成本等全方位评估。
  • 策略是否仍然符合投资逻辑和市场环境。
  • 是否需要开发新策略或淘汰旧策略。
  • 技术基础设施的升级需求。

5.3 策略优化的注意事项

在进行策略优化时,要特别注意以下几点:

避免过度拟合:这是策略优化中最常见、也最危险的陷阱。过度拟合的典型表现是:回测表现极好,但实盘表现很差。防止过度拟合的方法包括:

  • 使用样本外数据进行验证。将数据分为训练集和测试集,策略只在训练集上优化,在测试集上验证。
  • 保持策略逻辑的简洁性。策略的参数越少越好,逻辑越简单越好。如果一个策略需要 20 个参数才能工作,那很可能是过度拟合。
  • 使用交叉验证。将数据分成多段,在不同时间段上分别测试策略表现。
  • 要求策略在经济逻辑上说得通。如果一个因子在回测中有效,但无法用经济或金融理论解释其有效性,就要格外小心。

参数调整要谨慎:小幅调整参数通常不会带来实质性的改善,大幅调整参数则可能引入过度拟合。如果策略对参数非常敏感(参数变化 10% 就导致收益从正变负),说明策略的稳健性很差,需要从根本上重新思考策略逻辑。

增量改进优于革命性重写:与其推倒重来,不如在现有策略基础上做增量改进。每次只改一个方面,观察改进效果,这样更容易定位问题。

5.4 如何判断策略是否失效

策略失效的信号包括:

  • 连续 3 个月以上跑输基准。
  • 最大回撤超过历史最大回测回撤的 2 倍。
  • 夏普比率持续下降,连续 6 个月低于 0.5。
  • 策略的核心逻辑在市场中不再成立(例如,某个因子长期失效)。
  • 策略的收益波动模式发生根本性变化。

当出现以上信号时,应该暂时停止策略运行,进行深入分析和诊断。如果确认策略已失效,应该果断止损,而不是抱着"总会回来"的侥幸心理继续运行。


六、实盘前的最后检查

在正式投入实盘资金之前,建议完成以下检查清单:

  • 回测验证:在至少 3 年的历史数据上进行回测,确保策略在不同市场环境下都有合理表现。
  • 样本外测试:保留最近 6~12 个月的数据不参与策略开发,仅用于最终验证。
  • 敏感性分析:测试策略在参数变化、交易成本变化等条件下的稳健性。
  • 模拟盘运行:在模拟交易环境中运行至少 1 个月,验证交易系统的稳定性和策略的可行性。
  • 小资金实盘:先用少量资金(比如你计划投入总额的 10%~20%)实盘运行 1~3 个月,观察实盘表现与回测的一致性。
  • 交易系统测试:确保行情数据源、交易接口、风控模块、预警系统等全部正常运行。
  • 应急预案:准备好各种异常情况下的应急处理方案,包括网络中断、数据异常、系统崩溃等。
  • 心理准备:接受实盘可能会有连续亏损期,不要在亏损时恐慌性调整策略,也不要在盈利时盲目加大资金。

七、总结

从回测到实盘,是一个从"理想世界"走向"真实世界"的过程。在这个过程中,你需要面对滑点、流动性、策略容量、运维监控等一系列实际问题。这些问题中的每一个,都可能让你的策略在实盘中的表现大打折扣。

记住以下核心原则:

  1. 保守估计回测收益:在回测收益的基础上扣除至少 30%~50% 的摩擦成本,得到的结果更接近实盘预期。
  2. 始终敬畏市场:不要认为你的策略可以"战胜"市场的微观结构。市场比你聪明,比你有更多的资源。
  3. 从小做起:先用小资金验证,再逐步放大。宁可慢一点,也不要一次性投入全部资金。
  4. 持续监控和迭代:策略不是一劳永逸的,需要持续监控和定期迭代,才能在竞争激烈的市场中保持优势。
  5. 风控优先:在任何时候,风险控制都应该放在收益追求之前。活下来,才有机会盈利。

量化投资的实盘之路充满挑战,但只要你做足了准备,保持谨慎和学习的态度,就能在这条路上走得更远、更稳。

仅供学习交流,不构成任何投资建议