第12章 实盘落地:从回测到上线的全流程

164页 · 预计12

开篇故事:那个回测年化200%、实盘3个月亏30%的策略

2022年初,我在壹信量化平台的社群里认识了一个朋友,叫阿杰。阿杰是计算机专业毕业的,编程能力很强,但刚接触量化交易不久。他花了1个月时间,写了一个"高频跨所套利"策略,回测结果非常漂亮——2021年全年回测年化收益200%,最大回撤只有5%,夏普比率4.2。

阿杰非常兴奋,觉得自己找到了"印钞机"。他把自己工作3年攒的20万U全部投了进去,还加了2倍杠杆,开始实盘运行。

结果呢?实盘第1个月,策略赚了8%,阿杰更加信心满满,觉得回测果然靠谱。第2个月,策略开始不对劲——收益只有1%,而且出现了几次异常亏损。阿杰检查了代码,没发现问题,觉得只是暂时的,继续运行。第3个月,灾难来了:因为一次交易所API限流,策略的下单延迟了3秒,等订单成交时,价差已经消失了,不仅没赚到套利收益,还因为滑点亏了2%。更糟糕的是,因为杠杆,这次亏损被放大了。接下来的一周,又连续出现了3次类似的执行问题,3个月下来,阿杰的账户亏了30%,20万U变成了14万U。

阿杰非常困惑,来找我复盘。我帮他仔细检查了策略和实盘记录,发现了几个致命的问题:

  1. 回测时没有考虑滑点和手续费:阿杰的回测假设能以中间价成交,手续费为0。但实盘中,跨所套利的滑点通常在0.05%-0.2%,手续费0.02%-0.1%,加起来每次交易成本0.1%-0.3%。而他的策略平均每次套利收益只有0.15%,扣除成本后根本不赚钱,甚至亏钱。

  2. 回测时没有考虑API延迟和限流:回测假设下单瞬间成交,但实盘中,从发现价差到下单成交,通常有0.5-3秒的延迟。跨所套利的价差往往在1-2秒内就消失了,等你的订单成交时,价差已经没了。

  3. 回测时用的是1分钟K线收盘价,但实盘价格是实时波动的:回测时假设能在1分钟K线收盘价成交,但实盘中,你看到价格时,价格可能已经变了。特别是在波动大的时候,1分钟内价格可能变化0.5%以上。

  4. 资金分配不合理:阿杰把20万U全部放在一个策略上,还加了2倍杠杆。跨所套利需要在多个交易所布局资金,单一策略的资金容量有限,20万U已经超出了这个策略的舒适区,导致很多时候因为某个交易所资金不足而无法执行套利。

  5. 没有应急预案:当API限流、下单延迟等问题出现时,策略没有相应的处理机制,只是继续尝试下单,导致重复下单、超额亏损。

阿杰的案例不是个例。我见过太多量化交易者,回测做得很漂亮,年化百分之几百,夏普比率四五,但一上实盘就亏,有的甚至几个月就爆仓。他们的问题不是策略逻辑不好,而是忽略了从回测到实盘的"最后一公里"——回测是理想环境,实盘是真实环境,两者之间有巨大的鸿沟,如果你不认真对待这个鸿沟,回测的收益就只是纸上富贵。

这一章,我就把实盘落地的完整流程讲给你听。从回测的正确姿势,到模拟盘测试,到小资金实盘验证,到正式上线的全流程,到实盘中常见的坑和应对方法,再到实盘运营的日常工作,全部拆透。我希望你读完这一章后,能避免阿杰的错误,让你的策略从回测到实盘平稳落地,真正赚到钱。


12.1 回测的正确姿势:避免"回测幻觉"的七大准则

12.1.1 什么是"回测幻觉"

在讲回测的正确方法之前,先讲一个概念:回测幻觉(Backtest Overfitting Illusion)

回测幻觉是指:你的策略在历史回测中表现非常好(高收益、低回撤、高夏普),但一到实盘就表现很差,甚至亏损。这是因为你的策略在回测中"过拟合"了历史数据——它记住了历史数据中的特定模式,但这些模式在未来不会重复出现。或者,你的回测方法有缺陷,没有考虑实盘中的各种成本和限制,导致回测收益被高估。

回测幻觉是量化交易中最常见、最致命的陷阱。据我观察,80%以上的个人量化交易者都曾经陷入过回测幻觉——他们以为自己找到了好策略,实际上只是过拟合了历史数据,实盘一塌糊涂。

回测幻觉的产生原因主要有三个:

  1. 过拟合:策略参数太多,或者反复调整参数以适应历史数据,导致策略在历史数据上表现完美,但在新数据上失效。
  2. 前视偏差(Look-ahead Bias):回测时使用了当时还不可获得的数据(比如用当天的收盘价做决策,但收盘价在收盘前是不知道的),导致回测收益虚高。
  3. 忽略交易成本和限制:回测时没有考虑手续费、滑点、API延迟、资金限制、涨跌停等实盘因素,导致回测收益远高于实盘可能的收益。

下面我讲七条准则,帮助你避免回测幻觉,让回测结果尽可能接近实盘表现。

12.1.2 准则一:充分考虑交易成本(手续费+滑点+冲击成本)

这是最基本也最重要的一条。实盘中,每一笔交易都有成本,这些成本会侵蚀你的利润,特别是对于高频交易策略(如跨所套利、高频做市),成本可能是决定策略盈亏的关键。

交易成本包括三个部分:

  1. 手续费(Commission/Fee):交易所收取的交易手续费。现货交易通常是0.05%-0.1%(挂单maker更低,0.02%-0.04%),期货交易通常是0.02%-0.05%。如果你是VIP用户,手续费可以更低。
  2. 滑点(Slippage):你下单的价格和实际成交价格的差异。滑点的大小取决于订单簿深度、你的订单大小、市场波动率。小单(<1万U)滑点通常在0.01%-0.05%,大单(>10万U)滑点可能在0.1%-0.5%。
  3. 冲击成本(Market Impact):你的大额订单对市场价格的影响。比如你要卖1000个ETH,卖一价只有100个,你吃掉卖一到卖十后,价格可能被砸下去0.5%,这就是冲击成本。冲击成本跟订单大小和市场深度有关,大单必须考虑。

回测时的成本设置建议

策略类型 建议手续费(单边) 建议滑点(单边) 合计(单边)
低频策略(持仓>1天) 0.05% 0.05% 0.1%
中频策略(持仓几小时) 0.04% 0.08% 0.12%
高频策略(持仓几分钟) 0.03% 0.1% 0.13%
超高频策略(持仓几秒) 0.02% 0.15% 0.17%

注意:这是单边成本,一次完整的交易(买+卖)成本是单边的2倍。比如中频策略一次完整交易成本是0.24%。如果你的策略平均每次收益只有0.2%,扣除成本后就亏钱了。

我的建议:回测时,把成本设得比实际高一点(比如高50%),做"压力测试"。如果在高成本假设下策略仍然盈利,那么实盘中大概率也能盈利。如果只有在零成本假设下才盈利,那这个策略实盘大概率亏钱。

在a-sig.com上回测策略时,平台默认会扣除手续费和滑点,你也可以自定义成本参数。我建议你用默认参数或更高的参数回测,不要用零成本。

12.1.3 准则二:避免前视偏差,严格使用"当时可获得"的数据

前视偏差是指回测时使用了在决策时点还不可获得的数据,导致回测结果虚高。这是回测中最隐蔽也最常见的错误之一。

前视偏差的常见表现:

  1. 用当天收盘价做决策:比如你的策略逻辑是"如果当天收盘价高于20日均线,就买入"。但在实盘中,收盘价要到收盘时才知道,你不可能在收盘前就用收盘价做决策并以收盘价成交。正确的做法是:用前一天的收盘价计算信号,第二天开盘价成交。

  2. 用未来数据计算指标:比如计算移动平均线时,用了未来的数据;或者用整个回测区间的数据做标准化(Z-Score),但实盘中你只能用过去的数据做标准化。

  3. 用事件发生后的数据做事件套利决策:比如事件套利中,你用事件公告后的价格数据计算入场信号,但实盘中公告是在某个时间点发布的,你只能在公告后才能知道并操作。

  4. 幸存者偏差:回测时只使用了现在还存在的币种/交易所,忽略了那些已经退市/暴雷的币种/交易所。比如你回测2021年的山寨币策略,只选了2024年还在交易的山寨币,但2021年有很多山寨币后来归零了,如果你当时买了那些币,会亏很多。

避免前视偏差的方法

  1. 严格的时间点对齐:回测时,每一个决策都只能使用该决策时点之前(含该时点)的数据。比如,在t时刻做决策,只能用t时刻及之前的数据,不能用t时刻之后的数据。
  2. 用开盘价成交:如果信号是基于前一天的数据计算的,那么用第二天的开盘价成交,而不是用前一天的收盘价。
  3. 滚动计算指标:所有指标(均线、Z-Score、协整关系等)都用滚动窗口计算,只用过去的数据,不用未来的数据。
  4. 考虑事件公告时间:事件套利回测时,严格按照公告时间点,公告前不能用公告后的信息。
  5. 包含退市/暴雷标的:回测时要包含那些已经退市或暴雷的标的,模拟真实的投资环境。

我自己在写回测代码时,会做一个"时间点检查"——在每一个决策点,打印出当时使用的所有数据和时间戳,确认没有使用未来数据。这个检查虽然繁琐,但能有效避免前视偏差。

12.1.4 准则三:样本外测试(Walk-Forward Analysis),避免过拟合

过拟合是指策略在历史数据上表现完美,但在新数据上表现很差。这是因为策略的参数或规则被调整得过于适应历史数据中的特定模式,而这些模式在未来不会重复。

避免过拟合最有效的方法是样本外测试(Out-of-Sample Testing)滚动前向分析(Walk-Forward Analysis)

样本外测试

把历史数据分成两部分:

  • 样本内(In-Sample):用于策略开发和参数优化(比如2020-2022年的数据)
  • 样本外(Out-of-Sample):用于测试策略表现,不参与参数优化(比如2023年的数据)

如果策略在样本内表现很好,但在样本外表现大幅下降(比如收益下降50%以上),说明策略过拟合了,需要简化或放弃。如果策略在样本内和样本外表现接近,说明策略比较稳健。

滚动前向分析(Walk-Forward Analysis)

这是比简单样本外测试更严格的方法。它的流程是:

  1. 用过去N个月的数据(训练窗口)优化策略参数
  2. 用接下来M个月的数据(测试窗口)测试策略表现
  3. 把训练窗口和测试窗口都向前滚动M个月,重复步骤1-2
  4. 把所有测试窗口的表现拼接起来,得到策略的"滚动前向"表现

比如,用6个月训练,2个月测试,滚动前进:

  • 训练2021.1-2021.6,测试2021.7-2021.8
  • 训练2021.3-2021.8,测试2021.9-2021.10
  • 训练2021.5-2021.10,测试2021.11-2021.12
  • ...以此类推

滚动前向分析的好处是:它模拟了实盘中你会做的事情——定期用最新数据优化参数,然后用新参数交易。如果策略在滚动前向分析中表现稳定,说明它在实盘中也大概率表现稳定。

我的回测流程

  1. 先用2020-2022年的数据做策略开发和参数优化(样本内)
  2. 用2023年的数据做样本外测试,如果表现下降不超过30%,进入下一步
  3. 做滚动前向分析(6个月训练,2个月测试,覆盖2021-2024年),如果滚动表现稳定,进入下一步
  4. 用更高的交易成本(实际成本的1.5倍)做压力测试,如果仍然盈利,进入下一步
  5. 模拟盘测试1个月
  6. 小资金实盘测试1-3个月
  7. 正式上线

只有通过了以上所有步骤的策略,我才会用正式资金运行。这个流程虽然繁琐,但能有效过滤掉过拟合的策略,避免实盘亏损。

在a-sig.com上,提供了样本外测试和滚动前向分析的工具,你可以一键完成这些测试,不需要自己写代码。我强烈建议你在策略上线前,用这些工具做严格的测试。

12.1.5 准则四:考虑资金容量和流动性约束

很多策略在小资金时表现很好,但资金量大了之后表现就下降了。这是因为策略有**资金容量(Capacity)**的限制——当你的资金量超过市场能承受的范围时,你的订单会对市场产生冲击,滑点和冲击成本会大幅上升,侵蚀利润。

不同策略的资金容量差异很大:

策略类型 单交易所资金容量 多交易所合计 说明
期现套利 500万-2000万U 2000万-1亿U 容量大,BTC/ETH期现深度好
资金费率套利 300万-1000万U 1000万-5000万U 容量中等,受合约持仓限制
跨所套利 100万-500万U 500万-2000万U 容量中等,受小交易所深度限制
配对统计套利 50万-200万U 200万-1000万U 容量较小,受配对标的深度限制
网格套利 100万-500万U 500万-2000万U 容量中等,受标的深度限制
事件驱动套利 10万-100万U 50万-500万U 容量小,事件机会有限且窗口期短
高频做市/套利 10万-50万U 50万-200万U 容量很小,对延迟和成本极度敏感

(以上是大致估计,实际容量取决于具体标的、交易所、市场环境)

回测时考虑资金容量的方法

  1. 按实际资金量回测:不要用1万U回测一个你打算投100万U的策略。要用实际打算投入的资金量回测,这样才能反映真实的滑点和冲击成本。
  2. 模拟订单簿成交:高级的回测应该模拟订单簿——你的订单会吃掉买卖盘的挂单,成交价格取决于订单簿深度和你的订单大小。而不是简单地用收盘价或中间价成交。
  3. 分档成交模型:如果没有订单簿数据,可以用一个简化的分档成交模型——假设你的订单N%在卖一价成交,N%在卖二价成交,以此类推,模拟冲击成本。
  4. 容量测试:用不同的资金量(10万、50万、100万、500万U)回测同一个策略,看收益随资金量增加而下降的曲线。找到收益开始明显下降的拐点,那个拐点就是策略的舒适容量。实盘资金不要超过舒适容量的80%。

阿杰的案例中,他的高频跨所策略舒适容量大约是5万U,但他投了20万U,远超容量,导致滑点和冲击成本大幅上升,这是他亏损的重要原因之一。

12.1.6 准则五:极端行情压力测试

正常市场环境下表现好的策略,在极端行情下可能会大亏。回测时,必须专门测试策略在极端行情下的表现,确保你能承受最坏的情况。

需要测试的极端行情场景

  1. 2020年3月12日(312暴跌):BTC单日跌50%,市场流动性枯竭,期货大幅贴水。
  2. 2021年5月19日(519暴跌):BTC单日跌30%,全网爆仓数百亿。
  3. 2022年5月(LUNA暴雷):LUNA和UST归零,BTC一周跌35%,山寨币普遍跌50%以上。
  4. 2022年11月(FTX暴雷):FTT暴跌90%,BTC一周跌25%,交易所信任危机。
  5. 2023年3月(硅谷银行倒闭):USDC短暂脱锚到0.87,BTC波动加剧。
  6. 自定义极端场景:比如BTC单日跌30%、某交易所暂停提现、稳定币脱锚20%等。

压力测试的方法

  1. 历史极端行情回测:把策略放到上述历史极端行情时间段中运行,看最大回撤是多少、是否会爆仓、止损是否有效。
  2. 蒙特卡洛模拟:随机生成数千种不同的价格路径(包括极端波动),测试策略在各种路径下的表现,计算最坏情况下的最大回撤和爆仓概率。
  3. 参数敏感性测试:把策略的参数在合理范围内变动(比如±20%),看策略表现是否稳定。如果参数稍微一变收益就大幅下降,说明策略过拟合或对参数敏感,实盘风险大。
  4. 故障注入测试:模拟各种技术故障(API延迟3秒、下单失败、数据错误、交易所宕机1小时),看策略在故障情况下的表现,是否会产生异常亏损。

我的压力测试标准

  • 策略在任何历史极端行情下的最大回撤不超过20%
  • 蒙特卡洛模拟中,99%的路径下最大回撤不超过25%,爆仓概率为0
  • 参数变动±20%时,年化收益下降不超过30%
  • 故障注入测试中,任何单一故障导致的亏损不超过总资金的2%

只有通过了这些压力测试的策略,我才会考虑上线。因为我知道,在加密货币市场,极端行情不是"会不会发生"的问题,而是"什么时候发生"的问题。你必须为最坏的情况做好准备。

12.1.7 准则六:策略逻辑的可解释性

最后一条准则,也是很多人忽略的:策略的逻辑必须是可解释的

什么意思?就是你必须能说清楚:这个策略为什么能赚钱?它的收益来源是什么?市场为什么会给你这个套利机会?这个机会为什么会持续存在?

如果一个策略回测表现很好,但你说不清楚它为什么能赚钱,那它很可能是过拟合了历史数据——它只是碰巧在历史数据上表现好,但没有真实的经济学或市场学逻辑支撑,未来不会持续。

我见过很多"黑箱策略"——用机器学习、神经网络等方法,把一堆数据喂进去,输出一个交易信号,回测表现很好,但没人说得清它为什么能赚钱。这种策略我一般不敢用,因为你不知道它什么时候会失效,也不知道它在什么情况下会大亏。

可解释性的检查清单

  1. 收益来源明确:这个策略赚的是什么钱?是制度性价差(期现、跨所)、是市场情绪偏差(事件、网格)、是统计规律(配对)、还是信息优势?
  2. 市场微观结构支撑:这个机会为什么会存在?是因为市场分割(不同交易所)、投资者行为偏差(追涨杀跌)、制度限制(不能做空、T+1)、还是信息不对称?
  3. 可持续性分析:这个机会为什么会持续存在?会不会因为越来越多人参与而消失?如果会消失,大概能持续多久?
  4. 失效条件明确:在什么情况下这个策略会失效?比如市场结构变化、监管政策变化、竞争对手增加等。你有没有监控这些失效条件?
  5. 跟已知的市场规律一致:策略的表现是否符合已知的市场规律?比如牛市中做多策略应该表现好,熊市中中性策略应该表现好。如果一个策略在所有市场环境下都表现完美,那很可能是过拟合了。

我自己在评估一个新策略时,首先会问自己这五个问题。如果有任何一个问题答不上来,或者答案很牵强,我就会放弃这个策略,不管回测表现有多好。

比如,阿杰的高频跨所策略,我问他:"这个策略的收益来源是什么?为什么跨所价差会持续存在?为什么你能在价差消失前成交?"他答不上来,只是说"回测显示能赚钱"。后来的实盘证明,这个策略的回测收益主要来自忽略滑点和延迟,真实的收益来源并不存在,所以实盘亏损是必然的。

记住,在量化交易中,理解比聪明更重要。一个你能理解的、逻辑清晰的简单策略,远比一个你不理解的、回测完美的复杂策略更可靠。

12.1.8 回测准则总结

最后,把七条准则总结成一个检查清单,你在每次回测后都可以对照检查:

序号 准则 检查要点
1 充分考虑交易成本 手续费+滑点+冲击成本,设得比实际高50%做压力测试
2 避免前视偏差 严格时间点对齐,用开盘价成交,滚动计算指标,包含退市标的
3 样本外测试和滚动前向分析 样本内+样本外+滚动前向,表现下降不超过30%
4 考虑资金容量和流动性 用实际资金量回测,模拟订单簿成交,做容量测试
5 极端行情压力测试 历史极端行情+蒙特卡洛+参数敏感性+故障注入
6 策略逻辑可解释 收益来源、市场微观结构、可持续性、失效条件都要清晰
7 多市场环境验证 在牛市、熊市、震荡市都测试,表现符合预期

如果你的策略通过了以上所有检查,那么它在实盘中大概率也能有不错的表现。如果有任何一项没通过,都要谨慎对待,不要急于上线。

在壹信量化平台上,a-sig.com提供了完整的回测工具链,包括成本模拟、前视偏差检查、样本外测试、滚动前向分析、压力测试等。intoquant.com可以帮你定制开发符合以上准则的回测框架。善用这些工具,能让你的回测更严谨,避免回测幻觉。


12.2 模拟盘测试:用虚拟资金发现真实问题

12.2.1 为什么必须做模拟盘测试

通过了严格的回测之后,下一步不是直接上实盘,而是先做模拟盘测试(Paper Trading / Backtesting with Live Data)

模拟盘测试是指:用真实的市场行情数据,但用虚拟资金运行策略,不进行真实的下单和资金划转。策略的逻辑、信号生成、下单逻辑都跟实盘一样,只是订单不真正成交,而是模拟成交。

为什么必须做模拟盘测试?因为回测跟实盘之间还有一个巨大的鸿沟——回测用的是历史数据,而实盘面对的是实时变化的市场和各种技术限制。模拟盘测试就是在真实的市场环境中(但用虚拟资金)运行策略,发现那些在回测中发现不了的问题。

模拟盘测试能发现的典型问题:

  1. API连接和稳定性问题:回测时你用的是历史数据文件,不需要连接交易所API。模拟盘时你需要实时连接交易所API获取行情、下单,这时候会发现API限流、连接断开、数据延迟、返回格式异常等问题。
  2. 实时数据处理问题:回测时数据是完整的、干净的。模拟盘时实时数据可能有缺失、重复、异常值,你的数据处理逻辑是否能应对?
  3. 下单和成交逻辑问题:回测时假设下单瞬间成交。模拟盘时你会发现下单需要时间、订单可能部分成交、可能撤单失败、可能因为价格波动导致订单无法成交等。
  4. 策略逻辑的实时性问题:回测时你是按固定周期(如1分钟)计算信号。模拟盘时你会发现,在实时环境中,信号计算的时机、数据更新的频率、下单的时机都会影响策略表现。
  5. 资金和仓位管理问题:回测时资金是虚拟的、无限的。模拟盘时你会发现,资金在不同交易所/账户之间的分配、可用余额的计算、保证金的管理都可能出问题。
  6. 风控和异常处理问题:回测时很少遇到异常情况。模拟盘时你会遇到各种异常(价格跳空、订单异常、API错误),你的风控和异常处理逻辑是否有效?

我自己的经验是:任何一个新策略,在模拟盘测试中都会发现至少3-5个在回测中没有发现的问题。这些问题如果直接上实盘,每个都可能导致亏损。模拟盘测试就是用虚拟资金把这些问题提前暴露出来,修复后再上实盘,这样实盘的成功率会大大提高。

12.2.2 模拟盘测试的环境搭建

模拟盘测试需要搭建一个跟实盘尽可能接近的环境。下面是我自己的模拟盘环境搭建方案:

1. 交易所模拟盘(Testnet / Demo Account)

很多交易所提供模拟盘/测试网服务:

  • Binance:提供现货和合约的模拟盘(Testnet),有独立的API端点和测试资金
  • OKX:提供模拟盘交易,API跟实盘兼容
  • Bybit:提供Testnet测试网
  • 其他交易所:大部分头部交易所都有模拟盘或测试网

使用交易所模拟盘的好处是:API跟实盘完全一样,订单撮合也跟实盘一样(用真实的市场行情撮合模拟订单),能最大程度模拟实盘环境。

2. 自研模拟撮合引擎

如果交易所模拟盘不满足需求(比如需要测试跨所套利、需要自定义撮合规则),可以自己开发一个模拟撮合引擎。它的工作原理是:

  • 实时获取各交易所的真实行情数据(订单簿、成交数据)
  • 当策略下单时,用真实的订单簿数据模拟成交——如果是买单,看卖一到卖N的挂单量,按价格优先顺序成交;如果是卖单,看买一到买N
  • 模拟手续费、滑点、部分成交、撤单等
  • 维护模拟账户的余额、持仓、盈亏

自研模拟撮合引擎的好处是灵活,可以测试各种复杂策略;缺点是开发成本高,而且撮合逻辑可能跟真实交易所有差异。

3. 模拟盘测试的技术架构

我的模拟盘系统架构跟实盘几乎一样,只是把"真实下单模块"换成了"模拟下单模块":

行情数据(真实WebSocket) → 数据处理模块 → 策略逻辑模块 → 信号生成模块
                                                          ↓
风控模块 ← 仓位/资金管理(模拟账户) ← 模拟下单/撮合模块
                                                          ↓
                                                    模拟成交记录
                                                          ↓
                                                    绩效统计和报告

关键是:除了下单和成交是模拟的,其他所有模块(数据处理、策略逻辑、风控、资金管理)都跟实盘完全一样。这样才能真正发现实盘中可能遇到的问题。

12.2.3 模拟盘测试的内容和标准

模拟盘测试不是随便跑一跑就行,要有明确的测试内容和通过标准。我自己的模拟盘测试包括以下内容:

测试一:功能完整性测试

目的:验证策略的所有功能是否正常工作。

测试项:

  • 行情数据是否正常接收、处理、存储
  • 策略信号是否正确生成(跟回测的信号对比,在相同数据下应该一致)
  • 下单逻辑是否正确(方向、数量、价格、订单类型)
  • 订单状态管理是否正确(待成交、部分成交、完全成交、已撤销、已拒绝)
  • 撤单逻辑是否正确
  • 仓位和资金计算是否正确(可用余额、冻结资金、持仓数量、浮动盈亏、已实现盈亏)
  • 风控规则是否正确触发(止损、减仓、暂停开仓)
  • 异常处理是否有效(API错误、数据缺失、网络中断、订单异常)
  • 日志和告警是否正常

通过标准:所有功能正常工作,没有bug;异常情况能正确处理,不会导致程序崩溃或资金计算错误。

测试二:性能和稳定性测试

目的:验证系统在长时间运行下的性能和稳定性。

测试项:

  • 系统连续运行7×24小时是否稳定(不崩溃、不内存泄漏、不性能下降)
  • API调用频率是否在交易所限制范围内,是否会被限流
  • 数据处理延迟是否在可接受范围内(从行情接收到信号生成的时间)
  • 下单延迟是否在可接受范围内(从信号生成到订单提交的时间)
  • 系统资源使用是否正常(CPU、内存、网络带宽)
  • 在高波动行情下(如BTC 5分钟涨5%)系统是否能正常处理

通过标准:连续运行2周以上无崩溃;API不限流;数据处理延迟<1秒,下单延迟<500毫秒;高波动行情下正常工作。

测试三:策略表现验证

目的:验证策略在实时行情下的表现是否跟回测一致。

测试项:

  • 模拟盘的收益率、最大回撤、夏普比率等指标是否跟回测在相同时期的表现接近(允许20%以内的差异,因为模拟盘有成本和延迟)
  • 策略的交易频率、持仓时间、盈亏分布是否跟回测一致
  • 在不同市场环境(上涨、下跌、震荡)下的表现是否符合预期
  • 策略的最大单笔亏损、连续亏损次数是否在可接受范围内

通过标准:模拟盘表现跟回测表现差异不超过30%;最大回撤在预期范围内;没有异常的大额亏损。

测试四:极端场景测试

目的:验证策略在极端场景下的表现。

测试项:

  • 模拟API限流、连接断开、返回错误数据时,策略是否能正确处理
  • 模拟价格跳空、涨跌停、流动性枯竭时,策略的止损是否有效
  • 模拟交易所宕机1小时,策略是否能正确处理(暂停下单、恢复后同步状态)
  • 模拟账户资金不足、保证金不足时,策略是否能正确处理(拒绝下单、减仓)
  • 模拟策略逻辑出现异常信号(如连续开仓、仓位超标)时,风控是否能拦截

通过标准:任何极端场景下,策略不会产生超过总资金2%的异常亏损;系统能从异常中恢复,不需要人工干预(或只需要简单的人工干预)。

12.2.4 模拟盘测试的时间和流程

模拟盘测试的时间

我建议模拟盘测试至少运行2周,最好是1个月。原因:

  • 2周时间能覆盖至少2个周末和不同的市场环境(工作日/周末、高波动/低波动)
  • 1个月时间能更充分地验证策略的稳定性和表现
  • 如果策略是低频策略(持仓周期几天到几周),模拟盘时间需要更长(2-3个月),因为交易次数少,需要足够的样本量

模拟盘测试的流程

  1. 第1-3天:功能测试

    • 重点测试功能完整性,发现并修复bug
    • 可以手动触发各种场景(如下单、撤单、止损)测试
    • 不关注策略表现,只关注功能是否正常
  2. 第4-7天:稳定性测试

    • 让系统连续运行,观察稳定性和性能
    • 模拟一些异常场景(断网、API错误)测试异常处理
    • 修复发现的稳定性问题
  3. 第8-21天:表现验证

    • 系统稳定运行后,开始记录策略表现
    • 每天检查策略的交易记录、盈亏、风险指标
    • 跟回测在相同时期的表现对比,分析差异原因
    • 如果发现策略表现跟回测差异太大,分析原因(是成本问题、延迟问题、还是策略逻辑问题),必要时修改策略
  4. 第22-30天:极端场景测试和最终评估

    • 主动模拟一些极端场景,测试策略的风控和应急能力
    • 汇总整个模拟盘期间的所有数据,做最终评估
    • 填写模拟盘测试报告,决定是否进入小资金实盘测试

模拟盘测试报告模板

每次模拟盘测试结束后,我会写一份详细的报告,包括:

  • 测试时间、测试环境、测试人员
  • 策略概述和参数
  • 功能测试结果(通过/不通过,发现的bug及修复情况)
  • 稳定性测试结果(运行时长、崩溃次数、API错误率、延迟数据)
  • 策略表现数据(收益率、最大回撤、夏普、交易次数、胜率、盈亏比等)
  • 跟回测表现的对比分析(差异及原因)
  • 极端场景测试结果
  • 发现的问题和改进建议
  • 最终结论:通过/不通过,是否进入小资金实盘

只有模拟盘测试报告结论为"通过"的策略,才会进入下一步。

12.2.5 模拟盘测试的常见误区

最后,指出几个模拟盘测试中常见的误区:

误区一:模拟盘随便跑跑,不认真记录和分析

很多人做模拟盘,就是把策略挂上去跑,偶尔看一眼,跑了两周觉得"好像没出大问题"就上实盘了。这是不对的。模拟盘的价值在于发现问题,如果你不认真记录每一笔交易、不分析每天的表现、不对比回测差异,你就发现不了那些隐藏的问题,上实盘后还是会踩坑。

正确的做法是:像对待实盘一样对待模拟盘,每天检查、记录、分析,写测试报告。

误区二:模拟盘用的资金量跟实盘不一样

比如你打算实盘投100万U,但模拟盘只投10万U。这样模拟盘的滑点、冲击成本、资金管理都跟实盘不一样,发现不了大资金下的问题。模拟盘的资金量应该跟你打算实盘投入的资金量一致(至少是同一数量级)。

误区三:模拟盘环境跟实盘环境不一样

比如模拟盘用的是你自己的电脑,实盘打算用云服务器;模拟盘用的是免费API,实盘打算用付费的低延迟API。环境不一样,模拟盘的结果就不能代表实盘。模拟盘的环境(服务器、网络、API、系统配置)应该跟实盘尽可能一致。

误区四:模拟盘表现好就直接大资金实盘

模拟盘表现好,不代表实盘一定表现好。模拟盘毕竟还是模拟,跟真实成交还有差异(比如模拟盘假设你的订单不会影响市场,但实盘会;模拟盘的撮合跟真实交易所有差异)。所以模拟盘通过后,还要经过小资金实盘测试,才能逐步加大资金。

误区五:只测正常行情,不测极端行情

很多人模拟盘跑了两周,刚好遇到平稳行情,策略表现很好,就觉得没问题了。但加密货币市场经常有极端行情,你必须在模拟盘中主动测试极端场景(API故障、价格跳空、流动性枯竭),确保策略在最坏情况下也不会大亏。

记住,模拟盘测试是你用虚拟资金"交学费"的最后机会。在这个阶段发现的问题越多,实盘亏损的概率就越小。认真对待模拟盘,它会给你丰厚的回报。

在壹信量化平台上,intoquant.com可以帮你搭建跟实盘环境一致的模拟盘测试系统,包括交易所模拟盘对接、自研撮合引擎、自动化测试和报告生成等。a-sig.com提供模拟盘绩效分析工具,帮你对比模拟盘和回测的表现差异。善用这些工具,能让你的模拟盘测试更专业、更高效。


12.3 小资金实盘验证:从1万U开始的渐进式上线

12.3.1 为什么要从小资金开始

通过了模拟盘测试之后,下一步是小资金实盘验证。很多人觉得模拟盘都通过了,直接上大资金就行了,为什么还要小资金实盘?因为模拟盘跟真实实盘之间还有最后一道鸿沟——真实的成交和资金划转

模拟盘即使再逼真,也跟真实成交有差异:

  • 模拟盘的撮合是理想化的,真实交易所的撮合有更复杂的规则(如价格优先、时间优先、大单拆分、做市商优先等)
  • 模拟盘不会真正触发交易所的风控规则(如异常交易检测、限仓、强制平仓),实盘会
  • 模拟盘的资金是虚拟的,实盘的资金划转、充值提现、手续费扣除都是真实的,可能遇到各种问题
  • 模拟盘没有心理压力,实盘有真实的盈亏,你的心态和决策可能会受影响

小资金实盘验证就是用真实的小资金(通常是你打算投入资金的5%-10%)运行策略,在真实的市场环境中验证策略的表现,发现模拟盘发现不了的问题,同时也验证你自己在真实盈亏下的心态和执行能力。

我自己的原则是:任何新策略,都必须经过至少1个月的小资金实盘验证,表现符合预期后,才能逐步加大资金。这个原则帮我避免了很多次可能的大亏——有些策略在模拟盘表现很好,但小资金实盘就暴露了问题(如真实滑点比模拟大、交易所风控限制了交易频率、真实成交延迟更高),如果直接大资金上线,就会亏很多。

12.3.2 小资金实盘的资金量和时间

资金量的确定

小资金实盘的资金量应该是你打算最终投入该策略的资金量的5%-10%。比如:

  • 如果你打算最终投100万U做期现套利,小资金实盘就投5-10万U
  • 如果你打算最终投20万U做事件套利,小资金实盘就投1-2万U
  • 如果你是新手,总资金只有5万U,小资金实盘可以投5000-10000U

资金量不能太小(如只有几百U),因为:

  • 太小的资金无法反映真实的滑点和冲击成本(几百U的订单滑点几乎为0,但几十万U的订单滑点可能很大)
  • 太小的资金无法测试资金管理(如多交易所资金分配、保证金管理)
  • 太小的资金产生的盈亏绝对值太小,你不会有真实的心理压力,无法验证心态

资金量也不能太大(如超过最终投入的20%),因为:

  • 小资金实盘的目的是"验证",不是"赚钱",如果资金太大,一旦策略有问题,亏损会超出可接受范围
  • 小资金实盘阶段你还在学习和调整,需要有试错的空间

时间的确定

小资金实盘的时间至少1个月,最好是2-3个月。原因:

  • 1个月时间能覆盖至少20个交易日,不同的市场环境
  • 策略需要足够的交易次数来验证表现(高频策略至少50笔交易,中频策略至少20笔,低频策略至少10笔)
  • 你需要时间适应真实的盈亏和操作节奏
  • 如果遇到特殊市场环境(如极端行情),需要更长时间验证策略在各种环境下的表现

如果策略是低频策略(如事件套利,一个月只有几次交易),小资金实盘时间需要更长(3-6个月),因为交易次数少,需要足够的样本量才能判断策略是否有效。

12.3.3 小资金实盘的操作流程

小资金实盘不是把钱投进去就不管了,而是有一个严谨的操作流程。我自己的流程如下:

第一阶段:准备期(第1周)

  1. 开设实盘账户:在目标交易所开设实盘账户,完成KYC认证,设置好安全验证(2FA、提现白名单等)。
  2. API密钥配置:创建API密钥,设置好权限(通常只需要交易权限,不需要提现权限),配置好IP白名单。
  3. 充值小资金:充值小资金到交易所,记录充值金额和时间。
  4. 系统部署:把策略系统部署到实盘服务器(跟模拟盘同一套系统,只是切换到实盘API端点)。
  5. 最终检查:检查所有配置(API密钥、交易对、参数、资金量、风控规则),确认跟计划一致。
  6. 手动测试下单:用极小金额(如10U)手动下一笔单,确认API连接正常、下单成交正常、资金扣减正确,然后立即平仓。

第二阶段:试运行期(第2周)

  1. 启动策略:启动策略,开始自动交易。
  2. 每日监控:每天至少检查3次(早上、下午、晚上),关注:
    • 策略是否正常运行(没有崩溃、没有异常告警)
    • 订单是否正常成交(成交价格、数量、手续费是否合理)
    • 仓位和资金是否正确(持仓数量、可用余额、浮动盈亏)
    • 策略表现是否跟预期一致(当天盈亏、交易次数)
  3. 问题修复:如果发现问题(如bug、异常成交、风控误触发),立即暂停策略,修复后重新启动。记录所有问题和修复过程。
  4. 不调整参数:试运行期内不调整策略参数(除非发现明显的bug),让策略在原始参数下运行,收集真实数据。

第三阶段:数据收集期(第3-6周)

  1. 策略正常运行:策略继续自动运行,收集交易数据。
  2. 每周复盘:每周做一次复盘,分析:
    • 本周策略表现(收益率、最大回撤、交易次数、胜率、盈亏比)
    • 跟回测和模拟盘在相同时期的表现对比
    • 有没有异常交易或异常亏损
    • 策略的资金使用效率(资金利用率、平均持仓)
  3. 参数微调(可选):如果发现策略表现跟预期有系统性偏差(如滑点比预期大很多导致收益偏低),可以做小幅参数调整(如调整下单方式、降低交易频率),但不要大幅调整核心逻辑。调整后继续观察。
  4. 风控检查:每周检查风控规则是否有效,有没有需要调整的风控阈值。

第四阶段:评估期(第7-8周)

  1. 汇总数据:汇总整个小资金实盘期间的所有交易数据和表现指标。
  2. 跟回测/模拟盘对比:详细对比小资金实盘跟回测、模拟盘的表现差异,分析差异原因(成本、延迟、市场环境、策略逻辑等)。
  3. 问题总结:总结小资金实盘期间发现的所有问题(技术问题、执行问题、策略问题、心态问题),以及解决情况。
  4. 撰写实盘验证报告:撰写详细的小资金实盘验证报告,包括:
    • 实盘时间、资金量、交易所、策略参数
    • 实盘表现数据(收益率、最大回撤、夏普、交易统计等)
    • 跟回测/模拟盘的对比分析
    • 发现的问题及解决情况
    • 策略的优势和不足
    • 最终结论:通过/不通过,是否可以加大资金
  5. 决策:根据报告决定下一步:
    • 如果表现符合预期(跟回测差异<30%,最大回撤在预期内,没有重大问题),通过验证,可以逐步加大资金
    • 如果表现不符合预期,但问题可以修复,修复后继续小资金实盘1个月
    • 如果表现严重不符合预期,且问题无法修复(如策略逻辑在实盘中不成立),放弃该策略

12.3.4 小资金实盘的通过标准

什么样的小资金实盘表现算"通过"?我自己的标准如下:

1. 表现一致性标准

  • 小资金实盘的年化收益率不低于回测年化收益率的70%(比如回测年化30%,实盘年化不低于21%)
  • 小资金实盘的最大回撤不超过回测最大回撤的1.5倍(比如回测最大回撤8%,实盘不超过12%)
  • 交易频率、持仓周期、盈亏分布等跟回测基本一致

允许实盘表现比回测差一些,因为实盘有真实的滑点、延迟、成本,而且实盘的市场环境可能跟回测不同。但如果差异太大(如实盘收益只有回测的30%),说明策略有问题,不能通过。

2. 稳定性标准

  • 实盘期间系统连续运行,没有重大崩溃(如需要人工重启超过2次)
  • API错误率<1%,没有因为API问题导致的异常亏损
  • 没有因为策略bug导致的异常交易或异常亏损
  • 风控规则正常触发,没有出现风控失效的情况

3. 风险控制标准

  • 单笔最大亏损不超过总资金的2%
  • 单日最大亏损不超过总资金的3%
  • 最大回撤在策略预期范围内
  • 没有爆仓、强平、穿仓等严重风险事件

4. 可扩展性标准

  • 策略的资金利用率合理(不是大部分资金闲置)
  • 当前资金量下的滑点和冲击成本在可接受范围内
  • 评估如果资金量增加5-10倍,策略表现可能下降多少(通过订单簿分析和容量测试)
  • 如果资金量增加后预期收益仍然为正,说明策略有可扩展性,可以加大资金

只有同时满足以上四个标准的策略,才算通过小资金实盘验证,可以进入正式上线阶段。

12.3.5 从小资金到大资金的渐进式加仓

通过小资金实盘验证后,不要一下子把资金加到目标量,而是要渐进式加仓。我自己的加仓节奏是:

阶段 资金量 运行时间 观察重点
小资金验证 目标量的5%-10% 1-2个月 策略表现、系统稳定性、风控有效性
第一次加仓 目标量的20% 2-4周 资金量增加后的滑点和冲击成本、资金管理
第二次加仓 目标量的50% 2-4周 更大资金量下的策略表现、交易所风控限制
第三次加仓 目标量的80% 2-4周 接近目标资金量下的表现、容量瓶颈
满仓运行 目标量的100% 长期 持续监控和优化

每次加仓后,都要观察2-4周,确认策略表现没有因为资金量增加而明显下降(如下降不超过20%),才能进行下一次加仓。如果某次加仓后策略表现明显下降,说明可能接近了资金容量上限,要停止加仓,甚至减仓到合适的水平。

渐进式加仓的好处是:

  1. 控制风险:即使策略在大资金下有问题,亏损也有限(因为是逐步加仓的)
  2. 发现容量瓶颈:逐步增加资金,能准确找到策略的舒适容量上限,避免一次性大资金导致的大幅滑点亏损
  3. 适应节奏:你和你的系统都需要时间适应更大资金量的操作节奏,渐进式加仓给了你适应的时间
  4. 建立信心:每次加仓后表现都稳定,会逐步建立你对策略的信心,让你在后续的波动中能坚定持有

我见过很多人,小资金实盘表现很好,就迫不及待地把全部资金投进去,结果因为资金量太大,滑点和冲击成本大幅上升,策略从盈利变成亏损。渐进式加仓能有效避免这种情况。

12.3.6 小资金实盘的心态管理

最后,讲一下小资金实盘阶段的心态管理。很多人在小资金实盘阶段会出现心态问题,影响策略的正常运行和客观评估。

常见的心态问题

  1. 因为资金小而不重视:觉得"反正只有这点钱,亏了也无所谓",于是不认真监控、不记录数据、不分析问题。这种心态会让你浪费小资金实盘的价值——你是来验证策略的,不是来随便玩玩的。即使资金小,也要像对待大资金一样认真。

  2. 因为资金小而过度交易:觉得"钱少,多交易几次也没关系",于是随意修改策略参数、增加交易频率、做计划外的交易。这会让小资金实盘的数据失真,无法真实反映策略的表现。小资金实盘阶段必须严格按照策略规则交易,不要随意干预。

  3. 小赚就兴奋,小亏就焦虑:虽然资金小,但真实的盈亏还是会影响情绪。赚了几百U就觉得策略是"印钞机",想马上加大资金;亏了几百U就觉得策略不行,想放弃。这种情绪化的反应会让你无法客观评估策略。记住,小资金实盘的样本量有限,短期的盈亏不代表策略的真实水平,要看长期的、整体的表现。

  4. 跟回测/模拟盘过度对比:每天都拿实盘表现跟回测比,差一点就焦虑。要知道,实盘跟回测有差异是正常的(成本、延迟、市场环境都不同),不要因为短期的差异就怀疑策略。要看长期的、整体的差异,以及差异的原因是否合理。

心态管理的方法

  1. 明确目标:小资金实盘的目标是"验证策略",不是"赚钱"。把注意力放在策略是否正常运行、数据是否收集完整、问题是否被发现上,而不是每天的盈亏上。
  2. 固定复盘节奏:每天简单检查,每周详细复盘,不要每时每刻都盯着账户看。看得越频繁,情绪越容易受影响。
  3. 写交易日志:记录每天的操作、想法、情绪,定期回顾。这能帮你发现自己的情绪问题,也能积累经验。
  4. 接受波动:接受策略会有亏损期、会有回撤,这是正常的。不要因为短期亏损就否定策略,也不要因为短期盈利就过度乐观。
  5. 严格执行纪律:不管情绪如何,都严格按照策略规则和操作流程执行。纪律是对抗情绪的最好武器。

记住,小资金实盘阶段不仅是验证策略的过程,也是验证你自己的过程——验证你能否在真实盈亏下保持理性、严格执行纪律。如果小资金时你都无法控制情绪、严格执行,那么大资金时你更做不到,最终一定会因为心态问题而亏损。

在壹信量化平台上,intoquant.com可以帮你搭建从小资金到满仓的渐进式上线管理系统,包括资金量管理、加仓规则、表现监控、自动报告等。a-sig.com提供实盘跟回测的对比分析工具,帮你客观评估策略表现。善用这些工具,能让你的实盘落地更平稳、更理性。


12.4 实盘运营日常:监控、复盘、优化的闭环

12.4.1 实盘运营不是"挂上去就不管了"

很多人以为,策略通过了小资金实盘验证、加满资金之后,就可以"挂上去不管了",每天等着收钱。这是大错特错的。

策略上线只是开始,实盘运营是一个持续的、长期的工作。市场在变、策略在变、你的资金在变,你需要持续地监控策略表现、发现问题、优化调整,才能让策略长期稳定盈利。

我见过太多人,策略上线后就不管了,结果:

  • 策略因为市场环境变化而失效,连续亏损几个月才发现
  • 系统因为API变更、服务器故障而停止运行,几天都没发现,错过了大量交易机会
  • 风控规则因为参数过时而失效,一次极端行情就亏了很多
  • 交易所规则变更(如手续费调整、上线/下线交易对),策略没有及时调整,导致异常亏损

这些都是因为"挂上去不管了"导致的。专业的量化交易者,每天都会花时间做运营工作——监控、复盘、优化,形成一个持续改进的闭环。

我自己的实盘运营工作,每天大约花1-2小时,每周花3-4小时做周复盘,每月花半天做月复盘。这些时间投入,能让我及时发现问题、避免大亏、持续优化策略,长期来看是非常值得的。

下面我把实盘运营的日常工作详细讲给你听。

12.4.2 每日监控清单

每天(特别是工作日),我会按照一个固定的清单检查策略和系统的运行状况。这个清单大约需要15-30分钟完成。

每日监控清单

1. 系统状态检查(5分钟)

  • 所有策略进程是否在运行(没有崩溃、没有异常退出)
  • 服务器CPU、内存、磁盘使用是否正常
  • 网络连接是否正常(API连接、数据库连接)
  • 有没有未处理的告警(系统告警、风控告警、API错误告警)
  • 日志中有没有异常错误(如连续API失败、数据异常、下单失败)

2. 账户和资金检查(5分钟)

  • 各交易所账户余额是否正确(可用余额、冻结资金、总资产)
  • 各策略的仓位是否正常(持仓数量、方向、成本价)
  • 各策略的浮动盈亏和已实现盈亏是否合理
  • 资金在各交易所/策略之间的分布是否符合计划
  • 有没有异常的资金变动(如未预期的充值/提现、异常的手续费扣除)

3. 交易执行检查(5分钟)

  • 昨天/今天的订单是否正常成交(成交价格、数量、时间)
  • 有没有异常订单(如超额下单、重复下单、价格异常的订单)
  • 有没有未成交的挂单需要处理(如长期未成交的订单、价格偏离的订单)
  • 滑点是否在正常范围内(平均滑点、最大滑点)
  • 手续费是否符合预期(有没有因为交易所规则变化导致手续费异常)

4. 策略表现检查(5分钟)

  • 各策略当天的盈亏情况(有没有异常大额亏损)
  • 各策略当天的交易次数、持仓时间是否符合策略特征
  • 组合整体当天的盈亏和回撤
  • 有没有策略连续亏损超过3天(需要关注)
  • 有没有策略的表现跟预期出现系统性偏差(如连续1周收益远低于预期)

5. 市场环境检查(5分钟)

  • BTC、ETH等主流币的价格和波动率是否正常
  • 有没有重大事件或消息(监管、交易所公告、宏观数据)可能影响市场
  • 资金费率、基差、跨所价差等套利指标是否在正常范围
  • 市场情绪(恐慌贪婪指数)有没有极端变化
  • 有没有交易所出现异常(宕机、提现限制、API故障)

6. 当日操作决策(5分钟)

  • 根据以上检查结果,决定当天是否需要操作:
    • 如果一切正常,不操作,让策略自动运行
    • 如果发现小问题(如某个挂单需要撤销、某个参数需要微调),及时处理
    • 如果发现大问题(如策略异常亏损、系统故障),立即暂停相关策略,深入排查
  • 记录当天的检查结果和操作,写入运营日志

这个清单看起来繁琐,但熟练之后15-30分钟就能完成。关键是每天坚持做,不要偷懒。很多大问题都是从小问题积累起来的,如果每天检查,就能在小问题阶段发现并解决,避免演变成大亏损。

在壹信量化平台上,intoquant.com可以帮你搭建自动化的每日监控系统,自动检查以上所有项目,发现异常自动告警,并生成每日运营报告。a-sig.com提供市场环境监控和套利指标监控工具。善用这些工具,能大大减少你每天的手动监控时间,同时提高监控的准确性。

12.4.3 每周复盘流程

除了每日监控,每周我会做一次更深入的复盘,通常在周末(周六或周日),花2-3小时。周复盘的目的是总结一周的表现,发现趋势性问题,制定下周的计划。

每周复盘流程

第一步:数据汇总(30分钟)

  • 汇总本周各策略的表现数据:
    • 周收益率、累计收益率、年化收益率
    • 周最大回撤、累计最大回撤
    • 夏普比率、卡玛比率
    • 交易次数、胜率、平均盈利、平均亏损、盈亏比
    • 平均持仓时间、资金利用率
  • 汇总组合整体的表现数据
  • 汇总本周的市场环境数据(BTC涨跌幅、波动率、重大事件)
  • 跟上周、上月、历史平均水平对比

第二步:表现分析(45分钟)

  • 分析各策略本周表现的原因:
    • 表现好的策略:是因为市场环境适合?还是策略优化见效?还是运气?
    • 表现差的策略:是因为市场环境不适合?还是策略有问题?还是执行有问题?
  • 分析组合整体表现:
    • 组合的收益是否符合预期?
    • 组合的风险(回撤、波动率)是否在可控范围内?
    • 策略之间的分散效果如何(有没有策略同涨同跌)?
  • 跟回测/基准对比:
    • 实盘表现跟回测在相同时期的表现差异是否合理?
    • 跟基准(如BTC持有、沪深300)相比,策略是否有超额收益?

第三步:问题排查(45分钟)

  • 排查本周发现的所有问题:
    • 技术问题:系统崩溃、API错误、数据异常、下单失败等
    • 执行问题:滑点过大、成交延迟、资金调度不及时等
    • 策略问题:信号异常、风控误触发、表现跟预期偏差大等
    • 操作问题:手动干预失误、参数调整错误等
  • 分析每个问题的根本原因(不是表面原因,而是深层原因)
  • 评估每个问题的影响(导致了多少亏损、错过了多少收益)
  • 制定改进措施(如何修复、如何预防再次发生)

第四步:下周计划(30分钟)

  • 根据本周表现和问题分析,制定下周的计划:
    • 策略调整:哪些策略需要调整参数?哪些需要暂停?哪些需要增加资金?
    • 系统优化:需要修复哪些bug?需要增加哪些监控/告警?
    • 风控调整:哪些风控阈值需要调整?需要增加哪些风控规则?
    • 学习研究:需要研究哪些新策略/新市场/新工具?
  • 明确下周的重点关注事项(如重大事件、可能的市场变化)
  • 把计划写入运营文档,下周执行

第五步:撰写周复盘报告(30分钟)

  • 把以上所有内容整理成一份周复盘报告,包括:
    • 本周市场环境概述
    • 各策略和组合表现数据
    • 表现分析和原因总结
    • 发现的问题和改进措施
    • 下周计划
  • 报告存档,作为后续回顾和策略迭代的依据

周复盘是实盘运营中最重要的环节之一。通过周复盘,你能及时发现策略的趋势性变化(如策略开始失效)、系统的潜在问题、运营的改进空间。坚持每周复盘,你的策略和系统会持续进化,表现会越来越好。

12.4.4 每月深度复盘和季度战略复盘

除了每日监控和每周复盘,我还会做每月深度复盘和季度战略复盘,从更长的时间维度审视策略和组合。

每月深度复盘(每月最后1天,半天)

月复盘比周复盘更深入,重点关注趋势性和系统性的问题:

  1. 策略生命周期评估

    • 每个策略本月的表现跟历史平均对比,是否有趋势性下降?
    • 策略的收益来源是否仍然有效?(如跨所价差是否在缩小、费率是否在降低)
    • 策略是否进入了衰退期?是否需要降低资金或淘汰?
    • 有没有新的策略机会值得研究?
  2. 组合配置评估

    • 当前的策略组合配置是否合理?是否需要调整各策略的资金比例?
    • 组合的风险收益比是否在优化?(夏普、卡玛是否在提升)
    • 有没有策略之间的相关性在上升?需要调整吗?
    • 资金分层(安全垫/主力/机动)的比例是否需要调整?
  3. 市场环境和趋势判断

    • 本月市场环境的主要特征是什么?(牛市/熊市/震荡市,高波动/低波动)
    • 未来1-3个月市场可能如何演变?有哪些重大事件/风险?
    • 根据市场环境判断,是否需要调整组合配置(如11.3节讲的动态调整)?
  4. 系统和运营评估

    • 本月系统的稳定性如何?(崩溃次数、API错误率、平均延迟)
    • 运营流程有没有需要优化的地方?(监控、复盘、告警)
    • 风控体系有没有漏洞?有没有需要新增的风控规则?
    • 本月的运营成本(服务器、API、手续费)是否合理?
  5. 个人成长和学习

    • 本月学到了什么?(新策略、新技术、新市场认知)
    • 犯了什么错误?有什么教训?
    • 下个月的学习重点是什么?

季度战略复盘(每季度末,1天)

季度复盘是从战略层面审视整个量化交易业务:

  1. 整体业绩回顾

    • 本季度组合的收益率、最大回撤、夏普等核心指标
    • 跟年初目标对比,完成度如何?
    • 跟行业基准/同类策略对比,表现如何?
    • 过去4个季度的业绩趋势是上升、平稳还是下降?
  2. 战略方向评估

    • 当前的策略组合方向是否正确?(是继续深耕套利,还是拓展其他类型策略)
    • 资金规模是否合适?需要增加还是减少?
    • 技术架构是否需要升级?(如从单机到分布式、从自研到使用专业平台)
    • 团队建设(如果有团队)是否需要调整?
  3. 市场和行业趋势

    • 加密货币市场的长期趋势如何?(监管、技术、机构化)
    • 量化交易行业的竞争格局如何?(机会在增加还是减少)
    • 有哪些新的市场/策略/技术值得关注?(如DeFi、期权、AI量化)
    • 有哪些长期风险需要防范?(如监管收紧、套利空间收窄)
  4. 下季度战略计划

    • 下季度的业绩目标是什么?
    • 下季度的重点工作是什么?(策略研发、系统升级、风控优化)
    • 需要投入多少资源(资金、时间、人力)?
    • 可能的风险和应对措施是什么?

月复盘和季度复盘能让你从日常的琐碎操作中跳出来,从更高的维度审视自己的交易业务。很多人每天忙忙碌碌,但从来不想想"方向对不对""有没有更好的路",结果努力了很久,发现方向错了,白费功夫。定期的深度复盘能帮你避免这种情况。

12.4.5 实盘运营的常见问题和应对

最后,讲几个实盘运营中常见的问题和应对方法:

问题一:策略表现持续下降,怎么办?

表现:策略连续2-4周收益低于预期,或者最大回撤超过历史平均。

应对:

  1. 首先判断是市场环境原因还是策略本身原因:
    • 如果是市场环境原因(如震荡市策略遇到趋势市),可以耐心等待市场环境恢复,或者临时降低仓位
    • 如果是策略本身原因(如收益来源消失、逻辑失效),需要深入分析
  2. 深入分析策略的交易记录,看亏损主要来自哪里:
    • 是滑点/成本上升导致的?→ 优化下单方式、降低交易频率
    • 是信号准确率下降导致的?→ 优化信号逻辑、调整参数
    • 是风控误触发导致的?→ 调整风控阈值
    • 是市场结构变化导致的?→ 策略可能需要大改或淘汰
  3. 如果分析后发现策略逻辑仍然有效,只是暂时不适应市场,可以降低仓位继续观察;如果发现策略逻辑已经失效(如套利空间消失),果断暂停或淘汰该策略,把资金分配到其他有效策略。

问题二:系统频繁出问题,怎么办?

表现:系统经常崩溃、API错误、数据异常,影响策略正常运行。

应对:

  1. 建立完善的监控和告警系统,第一时间发现问题
  2. 对常见问题(API限流、网络中断、数据异常)建立自动恢复机制(如自动重连、自动重试、切换备用数据源)
  3. 定期做系统稳定性测试和故障注入测试,发现潜在问题
  4. 如果系统架构太老旧、问题太多,考虑重构或使用专业的量化平台(如intoquant.com提供的系统)
  5. 关键系统做冗余部署(主备服务器、多交易所API、多数据源),单点故障不影响整体运行

问题三:实盘表现跟回测差异很大,怎么办?

表现:实盘收益远低于回测,或者回撤远大于回测。

应对:

  1. 首先确认回测是否有问题(如前视偏差、忽略成本、过拟合),如果回测本身有问题,重新做严谨的回测
  2. 对比实盘和回测的每一笔交易,找出差异来源:
    • 是成交价格差异(滑点)?→ 优化下单、降低资金量
    • 是成交时间差异(延迟)?→ 优化系统、降低延迟
    • 是交易机会差异(实盘没有回测中的机会)?→ 回测可能有前视偏差
    • 是市场环境差异(实盘的市场跟回测不同)?→ 正常现象,耐心等待
  3. 如果差异主要来自成本和延迟(这是最常见的),可以通过优化下单算法、降低交易频率、选择流动性更好的标的来改善
  4. 如果差异主要来自回测缺陷(如前视偏差、过拟合),说明策略的真实表现可能就是实盘这样,需要重新评估策略是否值得继续

问题四:手动干预太多,影响策略表现,怎么办?

表现:经常忍不住手动干预策略(提前平仓、追涨杀跌、随意改参数),导致策略表现不如自动运行。

应对:

  1. 明确策略的规则和边界,什么情况下可以手动干预(如系统故障、极端黑天鹅),什么情况下绝对不能干预(如正常的波动、正常的回撤)
  2. 把策略规则写下来,贴在显眼的地方,时刻提醒自己
  3. 减少看盘时间,不要每时每刻盯着账户,看得越多越容易想干预
  4. 如果实在控制不住,可以把策略系统部署在远程服务器上,不给自己留手动干预的接口(或需要复杂的验证才能干预)
  5. 记录每次手动干预的原因和结果,定期回顾,你会发现大部分手动干预都是错误的,长期下来会让你更信任策略、减少干预

问题五:策略越来越多,管理不过来,怎么办?

表现:同时运行的策略超过5-6个,每天监控和复盘的时间太长,顾此失彼。

应对:

  1. 精简策略,只保留表现最好、相关性最低的4-6个策略,淘汰表现差或重复的策略
  2. 提高自动化程度,用工具(如intoquant.com的系统)自动完成监控、告警、报告等工作,减少手动操作
  3. 建立标准化的运营流程(如每日监控清单、每周复盘模板),提高效率
  4. 如果资金量足够大,可以考虑组建团队,分工协作(有人负责策略、有人负责技术、有人负责运营)
  5. 使用专业的量化管理平台,把所有策略的监控、复盘、报告集中在一个平台上,提高管理效率

实盘运营是一个持续学习和改进的过程。你会遇到各种各样的问题,但只要你坚持监控、复盘、优化的闭环,你的运营能力会越来越强,策略的表现也会越来越稳定。记住,量化交易不是一劳永逸的,而是一个持续进化的过程

在壹信量化平台上,a-sig.com和intoquant.com提供了完整的实盘运营工具链,包括自动化监控、告警、每日/每周/每月报告生成、策略表现分析、问题诊断等。善用这些工具,能让你的实盘运营更轻松、更专业、更高效。


12.5 实盘案例:一个期现套利策略从回测到盈利的完整落地

12.5.1 案例背景

为了让你更直观地理解实盘落地的完整流程,我用一个真实的案例来展示:一个BTC期现套利策略,从回测到模拟盘到小资金实盘到正式上线,再到实盘运营的完整过程。

这个案例基于我自己在2023年开发和上线的一个期现套利策略(经过脱敏处理)。

策略概述

  • 策略名称:BTC动态基差期现套利策略
  • 策略逻辑:当BTC期货和现货的基差(期货价格-现货价格)扩大到一定阈值时,做多现货+做空期货,等基差收敛后平仓获利;基差为负时反向操作。基差阈值根据历史波动率动态调整。
  • 交易标的:BTC/USDT现货 + BTC/USDT永续合约(Binance)
  • 预期年化:20%-25%
  • 预期最大回撤:5%-8%
  • 目标资金量:50万U

12.5.2 第一阶段:回测(2023年1月,2周)

回测设置

  • 回测区间:2021年1月1日 - 2022年12月31日(2年)
  • 数据:Binance BTC/USDT现货和永续合约的1分钟K线数据
  • 成本设置:手续费0.03%(单边,挂单),滑点0.05%(单边),合计单边0.08%,一次完整交易0.16%
  • 初始资金:50万U
  • 杠杆:1倍(现货全额+期货1倍杠杆,实际是无杠杆套利)

回测结果

指标 数值
累计收益率 48.5%(2年)
年化收益率 22.3%
最大回撤 6.2%
年化波动率 4.8%
夏普比率 3.8
卡玛比率 3.6
交易次数 186次(平均每3-4天一次)
胜率 72%
盈亏比 1.8
平均持仓时间 2.3天

回测中的关键测试

  1. 成本敏感性测试:把成本从0.08%(单边)提高到0.12%(单边),年化收益从22.3%降到18.5%,仍然盈利。说明策略对成本不极端敏感,有一定的安全边际。

  2. 样本外测试:用2021-2022年数据优化参数(样本内),用2023年1月的数据做样本外测试。样本外年化收益20.1%,最大回撤5.5%,跟样本内表现接近,说明策略没有严重过拟合。

  3. 滚动前向分析:用6个月训练、2个月测试,滚动覆盖2021-2022年。滚动年化收益20.5%,最大回撤7.1%,表现稳定。

  4. 极端行情压力测试

    • 2021年519暴跌期间:最大回撤4.2%,止损有效,没有爆仓
    • 2022年LUNA暴雷期间:最大回撤5.8%,基差一度扩大到2%,但3天后收敛,策略最终盈利
    • 2022年FTX暴雷期间:最大回撤6.2%(历史最大),因为Binance期货贴水严重,基差收敛时间比预期长,但最终收敛
    • 蒙特卡洛模拟:99%的路径下最大回撤<10%,爆仓概率0
  5. 参数敏感性测试:把基差阈值参数在±20%范围内变动,年化收益在19%-25%之间,最大回撤在5%-8%之间,表现稳定,说明策略对参数不敏感。

  6. 资金容量测试:用10万、50万、100万、200万U分别回测:

    • 10万U:年化24.5%
    • 50万U:年化22.3%
    • 100万U:年化19.8%
    • 200万U:年化15.2%(开始明显下降)
      说明策略的舒适容量大约是100万U,50万U在舒适区内。

回测结论:策略通过了所有回测测试,表现稳健,风险可控,有可扩展性,可以进入模拟盘测试。

12.5.3 第二阶段:模拟盘测试(2023年2月,4周)

模拟盘环境

  • 交易所:Binance模拟盘(Testnet)
  • 资金:50万U(虚拟)
  • 系统:跟实盘相同的策略系统,只是切换到Testnet API端点
  • 行情:真实的Binance BTC现货和合约实时行情

模拟盘测试过程

第1周:功能测试

  • 发现的问题:
    1. API连接偶尔断开(Testnet的稳定性比主网差),增加了自动重连机制后解决
    2. 基差计算偶尔出现异常值(因为现货和合约的行情数据时间戳不同步),增加了数据同步和异常值过滤后解决
    3. 下单时偶尔出现"仓位不足"错误(因为模拟盘的资金更新有延迟),增加了下单前的资金检查和重试机制后解决
  • 修复以上问题后,功能测试通过

第2周:稳定性测试

  • 系统连续运行7天,没有崩溃
  • API错误率0.3%(主要是Testnet的问题,主网会更低)
  • 平均数据处理延迟200毫秒,平均下单延迟300毫秒,都在可接受范围内
  • 模拟了断网、API限流等异常场景,系统都能正确处理(自动重连、暂停下单、恢复后同步状态)
  • 稳定性测试通过

第3-4周:表现验证

  • 模拟盘2周(实际运行14天)的表现:
    • 收益率:1.8%(年化约47%,因为2周时间短,年化参考意义不大)
    • 最大回撤:1.2%
    • 交易次数:5次
    • 胜率:80%(4胜1负)
    • 平均滑点:0.04%(比回测假设的0.05%略低,因为Binance的BTC深度很好)
  • 跟回测在相同时期(2023年2月)的表现对比:回测同期收益1.6%,最大回撤1.0%,模拟盘表现跟回测基本一致,差异在合理范围内
  • 表现验证通过

模拟盘测试结论:策略通过了功能、稳定性、表现验证,没有发现重大问题,可以进入小资金实盘测试。

12.5.4 第三阶段:小资金实盘验证(2023年3月-4月,8周)

小资金实盘设置

  • 资金量:5万U(目标资金量50万U的10%)
  • 交易所:Binance主网
  • 时间:2023年3月1日 - 2023年4月25日(8周)

小资金实盘过程

第1周:准备和试运行

  • 3月1日:开设实盘账户,配置API密钥(只开通交易权限,不开通提现权限),充值5万U
  • 3月2日:部署系统到实盘服务器,最终检查所有配置
  • 3月3日:手动测试下单(100U),确认API连接、成交、资金扣减都正常,然后平仓
  • 3月4日:启动策略,开始自动交易
  • 第1周没有发现重大问题,系统运行稳定

第2-6周:数据收集

  • 策略正常运行,每天监控,每周复盘
  • 第3周(3月20日左右):遇到一次小问题——Binance API临时维护15分钟,策略在维护期间暂停下单,维护结束后自动恢复,没有造成亏损。这验证了异常处理机制的有效性。
  • 第5周(4月上旬):BTC从2.8万涨到3.0万,市场波动加大,基差波动也加大,策略交易频率上升(那一周交易了4次),表现仍然稳定,周收益0.8%
  • 整个小资金实盘期间,没有手动干预策略,完全自动运行

第7-8周:评估

  • 汇总8周的实盘数据:
指标 小资金实盘 回测(同期) 差异
累计收益率 3.2% 2.9% +0.3%
年化收益率 20.8% 18.9% +1.9%
最大回撤 2.1% 1.8% +0.3%
交易次数 19次 17次 +2次
胜率 74% 71% +3%
平均滑点 0.03% 0.05%(假设) -0.02%
  • 分析:小资金实盘表现跟回测非常接近,甚至略好于回测(主要因为实际滑点比回测假设的低)。差异在合理范围内,说明策略在实盘中有效。
  • 稳定性:8周内系统连续运行,没有崩溃,API错误率0.1%,没有因为技术问题导致的亏损
  • 风控:最大单笔亏损0.3%,最大单日亏损0.5%,都在风控范围内,风控规则正常触发
  • 可扩展性:5万U资金下平均滑点0.03%,非常低。通过订单簿分析,评估50万U资金下滑点大约0.05%-0.08%,仍然在可接受范围内,策略有可扩展性

小资金实盘结论:策略通过了小资金实盘验证,表现符合预期,可以逐步加大资金。

12.5.5 第四阶段:渐进式加仓(2023年5月-6月,8周)

按照渐进式加仓计划,逐步把资金从5万U加到50万U:

第一次加仓(5月1日):5万U → 10万U(目标量的20%)

  • 加仓后运行2周,表现:
    • 收益率:0.9%
    • 最大回撤:0.8%
    • 平均滑点:0.04%(比5万U时略高,但仍然很低)
  • 表现稳定,没有因为资金量增加而明显下降,可以继续加仓

第二次加仓(5月15日):10万U → 25万U(目标量的50%)

  • 加仓后运行2周,表现:
    • 收益率:1.1%
    • 最大回撤:1.0%
    • 平均滑点:0.05%
    • 遇到一次基差大幅波动(5月20日左右,BTC 1小时涨3%),策略最大浮亏1.2%,但2天后基差收敛,最终盈利0.5%
  • 表现稳定,25万U资金下滑点仍然可控,可以继续加仓

第三次加仓(6月1日):25万U → 40万U(目标量的80%)

  • 加仓后运行2周,表现:
    • 收益率:0.8%
    • 最大回撤:1.3%
    • 平均滑点:0.06%
    • 6月5日SEC起诉Binance,市场波动加大,BTC当天跌5%,基差一度扩大到1.5%,策略浮亏1.8%,但3天后收敛,最终该笔交易盈利0.3%
  • 表现仍然稳定,40万U资金下滑点0.06%,在可接受范围内,可以加满

满仓运行(6月15日):40万U → 50万U(目标量的100%)

  • 加满资金后,策略正式进入满仓运行阶段

加仓阶段总结

  • 从5万U到50万U,资金量增加了10倍,平均滑点从0.03%增加到0.06%,仍然在可接受范围内
  • 各阶段的收益率和最大回撤都跟小资金时接近,没有因为资金量增加而明显恶化
  • 渐进式加仓顺利完成,策略在50万U资金量下表现稳定

12.5.6 第五阶段:正式上线和实盘运营(2023年7月至今)

策略满仓运行后,进入正式的实盘运营阶段。下面是2023年7月到2024年6月(1年)的实盘表现:

年度实盘表现

指标 数值 回测预期 评价
年度收益率 21.5% 20%-25% 达标
最大回撤 5.8% 5%-8% 优秀
年化波动率 4.2% - 优秀
夏普比率 4.1 - 优秀
卡玛比率 3.7 - 优秀
交易次数 112次 - 正常
胜率 73% - 正常
盈亏比 1.9 - 正常
平均持仓时间 2.1天 - 正常
平均滑点 0.06% - 正常

最大回撤发生在2023年8月:某公链暴雷引发市场恐慌,BTC一周跌12%,期现基差一度扩大到2.5%,策略浮亏5.8%。但因为策略是现货+期货对冲,没有爆仓风险,5天后基差收敛,策略恢复盈利。这次回撤验证了策略在极端行情下的韧性。

实盘运营中的优化

在1年的实盘运营中,我对策略做了几次小的优化:

  1. 2023年9月:优化下单算法,从市价单改为限价单+超时撤销,平均滑点从0.07%降到0.05%,每年大约增加1.5%的收益。

  2. 2023年11月:增加基差波动率的自适应调整——在高波动时期自动放宽基差阈值,减少交易频率,降低滑点成本;在低波动时期自动收紧阈值,增加交易频率。优化后策略在不同波动环境下的表现更稳定。

  3. 2024年1月:增加跨所套利机会的捕捉——当Binance的基差机会不足时,自动在OKX寻找机会,提高资金利用率。优化后资金利用率从65%提升到80%,年化收益增加约2%。

  4. 2024年3月:优化风控规则,增加"基差极端值"的应急处理——当基差超过历史99%分位时,自动降低仓位50%,等基差回归正常后恢复。这个优化在2024年3月的一次极端行情中避免了更大的回撤。

实盘运营中的问题和解决

  1. 2023年10月:Binance API一次升级导致策略的订单状态查询接口返回格式变化,策略出现了2小时的异常(无法正确识别订单状态)。发现后立即暂停策略,修复接口适配,2小时后恢复。这次异常没有造成亏损(因为暂停期间没有开新仓,已有仓位正常),但暴露了API变更的风险。后来增加了API返回格式的校验和异常告警,类似问题能在5分钟内发现。

  2. 2024年2月:策略连续2周收益偏低(0.1%),分析原因是市场波动率太低,基差波动太小,套利机会少。这是市场环境原因,不是策略问题。降低了该策略的资金比例(从50万U降到35万U),把15万U临时分配到事件套利策略(当时事件机会多)。等3月市场波动率回升后,恢复了50万U的资金。

  3. 2024年5月:服务器一次故障(磁盘满)导致策略进程崩溃,停了6小时才发现(因为告警短信被手机拦截了)。发现后立即重启策略,清理磁盘,增加磁盘使用率告警,并把告警渠道从单一短信改为短信+Telegram+邮件三重告警。这次故障导致错过了2次交易机会,大约少赚0.2%,没有造成亏损。但暴露了监控和告警的漏洞,后来做了全面的监控系统升级。

12.5.7 案例总结和经验教训

这个期现套利策略从回测到正式上线,再到1年的实盘运营,整体表现符合预期,年化收益21.5%,最大回撤5.8%,是一个成功的实盘落地案例。

总结这个案例的经验和教训:

成功的经验

  1. 严格的回测流程:回测时充分考虑了成本、前视偏差、过拟合、资金容量、极端行情等因素,确保回测结果接近实盘。这是策略成功的基础。

  2. 充分的模拟盘和小资金实盘验证:没有急于上大资金,而是经过了1个月模拟盘+2个月小资金实盘的充分验证,发现并修复了多个技术问题,确保策略在真实环境中有效。

  3. 渐进式加仓:从5万U到50万U,分4次逐步加仓,每次加仓后观察2周,确认表现稳定才继续。这有效控制了资金量增加带来的风险,也准确找到了策略的舒适容量。

  4. 持续的实盘运营和优化:策略上线后不是不管了,而是坚持每日监控、每周复盘、每月优化,持续改进策略的下单算法、参数、风控,让策略表现越来越好。

  5. 完善的风控和应急预案:策略有明确的风控规则和异常处理机制,在多次极端行情(SEC起诉、公链暴雷、API故障)中都能有效控制风险,没有造成重大亏损。

需要改进的教训

  1. 监控和告警系统还不够完善:2024年2月的服务器故障导致策略停了6小时才发现,说明告警系统有漏洞。后来做了升级,但应该更早建立完善的多重告警机制。

  2. 对市场环境变化的响应可以更快:2024年2月市场波动率下降时,策略收益偏低,过了2周才调整资金分配。如果能更早识别市场环境变化并调整,资金使用效率会更高。

  3. 跨所布局可以更早:策略最初只在Binance运行,2024年1月才增加OKX的机会。如果更早做跨所布局,资金利用率和收益会更高。

  4. 文档和知识沉淀可以更好:策略开发和运营过程中的很多经验教训,最初没有及时记录,后来复盘时有些细节已经记不清了。应该建立更完善的文档体系,及时记录每一个问题和解决方案。

这个案例展示了一个策略从回测到实盘盈利的完整落地过程。它不是一蹴而就的,而是经过了严格的测试、充分的验证、渐进的加仓、持续的运营,才最终成为一个稳定盈利的策略。希望这个案例能给你启发,让你的策略也能顺利落地、稳定盈利。

在壹信量化平台上,a-sig.com提供了从回测到实盘的全流程工具,包括严谨的回测框架、模拟盘对接、实盘表现分析、问题诊断等。intoquant.com可以帮你定制开发和部署策略系统,提供从策略开发到实盘运营的全流程服务。如果你想让自己的策略顺利落地,善用这些工具和服务,能大大提高成功率。


量化专家笔记

笔记一:回测收益打五折,才是你实盘可能拿到的真实收益

这是我用无数次亏损换来的一条经验:当你看一个策略的回测收益时,先打个五折,那才是你实盘可能拿到的真实收益

为什么?因为回测跟实盘之间有太多的"损耗",这些损耗会把回测收益一点点吃掉:

  1. 手续费和滑点:很多人回测时用零成本或极低的成本,实盘中手续费+滑点可能吃掉20%-50%的收益,特别是高频策略。
  2. API延迟和执行延迟:回测假设瞬间成交,实盘中从发现信号到成交有0.5-3秒延迟,对于快进快出的策略,这段时间价格可能已经变了,收益大幅下降。
  3. 资金利用率不足:回测假设100%资金一直在工作,实盘中资金可能在不同交易所/账户之间调度,有闲置时间,实际资金利用率可能只有60%-80%。
  4. 极端行情下的损耗:回测中极端行情是平滑的,实盘中极端行情下流动性枯竭、滑点暴增、止损无法触发,实际亏损可能比回测大很多。
  5. 过拟合:回测参数是针对历史数据优化的,实盘中未来不会完全重复历史,策略表现会自然衰减。
  6. 人为干预:回测中策略严格执行,实盘中你可能因为恐惧、贪婪、犹豫而手动干预,大部分干预会降低收益。
  7. 系统故障:回测中系统永远正常,实盘中API错误、网络中断、服务器崩溃都会导致错过交易或异常亏损。

把这些损耗加起来,回测收益打五折真的不是夸张。我见过太多策略回测年化50%,实盘年化只有20%;回测年化100%,实盘年化只有30%甚至亏损。

所以,当你评估一个策略时,不要被回测的高收益迷惑。你要问自己:

  • 这个策略的回测收益打五折后,我还能接受吗?
  • 如果打五折后收益只有10%,值得我投入时间和资金吗?
  • 这个策略的最大回撤打1.5倍后,我能承受吗?

如果打五折后的收益和打1.5倍后的回撤你都能接受,那么这个策略才值得去实盘验证。如果只有在回测的理想假设下才看起来好,那实盘大概率会让你失望。

我自己在评估策略时,会用一个"保守估计":回测年化收益×0.5,回测最大回撤×1.5。如果这个保守估计仍然满足我的要求(年化>15%,最大回撤<12%),我才会进入下一步。用这个标准筛选,能过滤掉大部分看起来很美但实盘不行的策略。

记住,在量化交易中,保守不是胆小,而是智慧。对回测收益保守一点,对实盘风险多考虑一点,你才能在这个市场活得久、赚得多。

笔记二:模拟盘和小资金实盘是免费的学费,不要急着交昂贵的学费

很多人做量化,最容易犯的错误就是"急"——回测看起来不错,就急着上大资金实盘,想快点赚钱。结果因为各种在回测和模拟中没有发现的问题,亏了一大笔钱,交了昂贵的"学费"。

我自己刚开始做量化时也犯过这个错误。2020年,我写了一个网格策略,回测年化60%,最大回撤10%,看起来非常好。我没做模拟盘,也没做小资金实盘,直接投了10万U进去。结果实盘第1个月就遇到了BTC单边下跌,网格不断接飞刀,1个月亏了15%。后来我仔细分析,发现回测时我用的是2019年的震荡市数据,而2020年3月是单边暴跌,策略在单边市表现很差。如果我当时先做模拟盘或小资金实盘,就能在小资金下发现这个问题,不会亏10万U那么多。

从那以后,我给自己定了一条铁律:任何新策略,必须经过至少1个月模拟盘+1个月小资金实盘,才能上正式资金。这条铁律帮我避免了很多次可能的大亏。

模拟盘和小资金实盘就像是"免费的学费"——你用虚拟资金或很小的真实资金,就能发现策略在真实环境中的各种问题,成本极低。而如果你跳过这一步,直接上大资金,那你交的就是"昂贵的学费"——一次亏损可能就是几万甚至几十万U。

很多人觉得模拟盘和小资金实盘"浪费时间",想快点赚钱。但实际上,这一步一点都不浪费时间——它能帮你避免大亏损,而避免一次大亏损,可能比你赚好几次小收益都重要。而且,在模拟盘和小资金实盘中发现的问题,你可以在小成本下修复,等上大资金时策略已经很完善了,反而能更快赚钱。

我见过太多人,急着上大资金,亏了钱,然后才开始认真做模拟盘和小资金实盘,最后花了更多的时间和钱才把策略做成熟。如果他们一开始就不急,先做模拟盘和小资金,反而能更早实现稳定盈利。

所以,不要急。把模拟盘和小资金实盘当作是"免费的学费",认真去交,你会发现这是你在量化交易中最划算的一笔投资。等你通过了这些验证,再上大资金,你会更有信心,也更有可能成功。

记住,在量化交易中,慢就是快。前期慢一点,把基础打牢,把问题在小成本下解决,后期才能快起来,稳定地赚钱。

笔记三:实盘中80%的问题,在回测中根本发现不了

这是一条非常重要的经验:实盘中遇到的问题,80%在回测中根本发现不了。回测只能验证策略逻辑在历史数据上是否有效,但实盘中的很多问题,跟策略逻辑无关,而是跟执行、系统、环境、心态有关。

让我列举一下实盘中常见但回测中发现不了的问题:

1. 技术执行类问题

  • API限流:回测中你想下多少单就下多少单,实盘中交易所API有频率限制,超过就会被封禁
  • 下单延迟:回测中瞬间成交,实盘中从信号到成交有几百毫秒到几秒的延迟
  • 订单部分成交:回测中假设订单全部成交,实盘中大额订单可能只成交一部分
  • 撤单失败:回测中撤单瞬间完成,实盘中撤单可能失败或延迟
  • 数据延迟/缺失:回测中数据是完整干净的,实盘中实时数据可能延迟、缺失、有异常值
  • 交易所系统维护:回测中交易所永远正常,实盘中交易所会定期维护,期间无法交易
  • API接口变更:回测中接口永远不变,实盘中交易所会不定期更新API,导致你的程序出错

2. 资金和账户类问题

  • 资金调度延迟:回测中资金瞬间在不同交易所/账户间转移,实盘中充值提币需要时间(几分钟到几小时)
  • 保证金不足:回测中保证金永远足够,实盘中可能因为价格波动导致保证金不足,被强平
  • 交易所风控限制:回测中没有限制,实盘中交易所可能对你的账户实施限仓、限制交易等
  • 手续费等级变化:回测中手续费固定,实盘中你的交易量变化会导致手续费等级变化
  • 资金利用率不足:回测中100%资金利用,实盘中总有一部分资金在途、在保证金中、闲置

3. 市场微观结构类问题

  • 订单簿深度变化:回测中假设深度固定,实盘中深度随时变化,特别是极端行情下深度会急剧变薄
  • 隐藏的大单/冰山单:回测中看不到,实盘中可能有隐藏的大单影响成交
  • 做市商行为:回测中不考虑,实盘中做市商的报价和撤单行为会影响你的成交
  • 其他套利者的竞争:回测中只有你一个人,实盘中有很多人在做同样的套利,竞争会压缩利润空间

4. 心态和操作类问题

  • 恐惧和贪婪:回测中你没有情绪,实盘中真实的盈亏会让你恐惧或贪婪,导致手动干预
  • 犹豫和延迟:回测中信号出现就执行,实盘中你可能犹豫"再等等看",错过最佳时机
  • 过度交易:回测中严格按信号交易,实盘中你可能因为无聊或兴奋而做计划外的交易
  • 亏损后的报复性交易:回测中亏损了就继续按规则来,实盘中亏损后你可能想"赚回来",导致非理性操作

以上这些问题,每一个都可能让你的实盘表现远不如回测。而它们在回测中几乎都发现不了,因为回测是一个理想化的环境,假设一切都完美运行。

这就是为什么模拟盘和小资金实盘如此重要——只有在真实的环境中,你才能发现这些问题。也这是为什么实盘运营如此重要——即使策略上线了,你仍然需要持续监控和优化,因为实盘中的问题是层出不穷的。

所以,当你的策略实盘表现不如回测时,不要第一反应就是"策略不行"。先排查一下是不是上面这些非策略逻辑的问题导致的。很多时候,策略逻辑是好的,只是执行和运营出了问题,把这些问题解决了,策略表现就会上来。

记住,回测只是起点,实盘才是真正的考场。实盘中你会遇到各种各样回测中想不到的问题,要有耐心去发现和解决。能在实盘中持续解决问题、优化策略的人,才是最终能稳定盈利的人。

笔记四:实盘盈利的策略,往往不是回测最好的那个,而是最稳健的那个

这是我观察了很多量化交易者(包括我自己)的策略后总结出的一条规律:最终能在实盘中长期稳定盈利的策略,往往不是回测收益最高的那个,而是回测表现最稳健、最不依赖特定环境的那个

为什么?因为回测收益高的策略,往往有以下特点:

  1. 参数优化过度:为了在历史数据上取得最高收益,把参数调到了极致,结果过拟合了历史数据,实盘中表现大幅下降。
  2. 依赖特定市场环境:在某段特定的历史行情中表现极好(如2021年的牛市),但在其他环境下表现很差,实盘中遇到不适应的环境就大亏。
  3. 交易频率极高:靠大量交易累积高收益,但对成本和延迟极度敏感,实盘中成本和延迟会吃掉大部分收益。
  4. 小资金容量:在小资金下回测收益极高,但资金量稍大就因为滑点而收益骤降,实盘中根本无法容纳有意义的资金量。
  5. 隐藏的尾部风险:平时表现极好,收益曲线平滑,但在极端行情下会出现毁灭性的亏损(如做空波动率的策略),回测中可能刚好没遇到最极端的情况。

而回测表现稳健的策略,往往有以下特点:

  1. 参数不敏感:参数在合理范围内变动,收益变化不大,说明没有过拟合。
  2. 多环境适应:在牛市、熊市、震荡市都能盈利,虽然收益不是最高,但不会在某个环境下大亏。
  3. 交易频率适中:对成本和延迟不极端敏感,实盘中成本对收益的影响有限。
  4. 资金容量合理:能容纳有意义的资金量(如几十万到几百万U),资金量增加后收益不会骤降。
  5. 尾部风险可控:在极端行情下有明确的风控,最大回撤可控,不会出现毁灭性亏损。

在实盘中,稳健策略的这些特点会让它的表现远好于高收益但脆弱的策略。因为实盘中有成本、延迟、竞争、市场环境变化、极端行情等各种"损耗"和"意外",脆弱的策略在这些因素面前会迅速失效,而稳健的策略能抵抗这些冲击,持续盈利。

我自己的策略库中,曾经有一个回测年化80%的高频跨所套利策略,和一个回测年化25%的期现套利策略。当时我觉得高频跨所策略收益高,重点投入了资金。结果实盘中,高频跨所策略因为API延迟和竞争,年化只有10%,而且在一次交易所宕机中亏了5%;而期现套利策略实盘年化22%,最大回撤6%,非常稳定。2年下来,期现策略的累计收益远高于高频跨所策略。

从那以后,我评估策略时,不再把回测收益作为第一标准,而是把稳健性作为第一标准:

  • 参数是否不敏感?
  • 是否在多种市场环境下都盈利?
  • 资金容量是否足够?
  • 极端行情下回撤是否可控?
  • 对成本和延迟是否不敏感?

只有通过了稳健性测试的策略,我才会考虑回测收益。如果一个策略回测收益很高但不稳健,我直接放弃;如果一个策略回测收益中等但非常稳健,我会重点投入。

记住,实盘是一场马拉松,不是百米冲刺。回测收益高但脆弱的策略,就像百米冲刺选手,跑得快但跑不远;回测收益中等但稳健的策略,就像马拉松选手,速度不快但能跑完全程。在实盘这场马拉松中,最终胜出的一定是稳健的选手。

在评估策略时,把稳健性放在第一位,你会少走很多弯路。

笔记五:实盘运营的核心是"不出大问题",而不是"追求最高收益"

最后这条笔记,想跟你聊聊实盘运营的心态。很多人做实盘运营,满脑子想的都是"怎么让收益更高""怎么优化策略多赚一点",但我认为,实盘运营的核心不是追求最高收益,而是**"不出大问题"**。

为什么?因为在量化交易中,一次大问题(如策略爆仓、系统故障导致大额亏损、风控失效导致穿仓)造成的损失,可能需要你用几个月甚至几年的正常收益去弥补。而如果你能做到不出大问题,让策略稳定运行,正常的收益累积起来已经非常可观了。

让我算一笔账:假设你的策略年化收益20%,最大回撤5%,每年稳定运行。10年后你的资金会变成1.2^10=6.2倍,20年后变成38倍,30年后变成237倍。这个收益已经足够惊人了,对不对?而你需要做的只是"不出大问题",让策略稳定运行。

但如果你为了追求更高收益,把年化提到30%,但因为冒了更大的风险,每3年遇到一次大问题亏30%。那么30年后你的资金会变成(1.3^2×0.7)^10=(1.183)^10=5.4倍,远低于稳定20%的237倍。

你看,追求高收益但偶尔出大问题,长期下来远不如收益中等但不出大问题。这就是复利的力量,也是"不出大问题"的价值。

我自己的实盘运营,80%的精力都放在"不出大问题"上:

  • 每天监控系统状态,确保没有崩溃、没有异常
  • 每天检查账户和仓位,确保没有异常交易、没有超额风险
  • 每周复盘,发现小问题及时解决,不让小问题演变成大问题
  • 定期做压力测试和故障演练,确保极端情况下也能控制风险
  • 持续优化风控系统,确保任何情况下都不会出现不可控的亏损

而只有20%的精力放在"提高收益"上:

  • 偶尔优化一下下单算法,降低滑点
  • 偶尔研究一下新策略,丰富策略组合
  • 偶尔调整一下参数,适应市场变化

这些优化能带来的收益提升可能只有每年2%-5%,但它们是锦上添花,不是核心。核心是"不出大问题",让基础收益稳定地复利下去。

我见过太多人,把90%的精力放在研究怎么提高收益上,却忽略了风控和系统稳定性,结果一次大问题就把之前所有的收益都亏回去了。他们本末倒置了。

当然,"不出大问题"不是说你就不要优化、不要进步了。而是说,你要把"不出大问题"作为底线和优先级,在确保不出大问题的基础上,再去追求更高的收益。如果一个优化可能提高收益但也可能增加大问题的风险,那我宁愿不要这个优化。

实盘运营就像开飞机——飞行员的核心职责不是"把飞机开得最快",而是"把飞机安全开到目的地"。在安全的基础上,你可以稍微开快一点,但如果为了快而牺牲安全,那就是犯罪。

把"不出大问题"作为实盘运营的核心,你的量化交易事业才能行稳致远。

在壹信量化平台上,a-sig.com和intoquant.com的很多工具和服务,核心都是帮你"不出大问题"——风控监控、异常告警、压力测试、故障演练、自动化运维等。善用这些工具,把基础打牢,让你的策略稳定运行,时间会给你丰厚的回报。

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

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