等时 vs 成交量降采样:你的策略该选哪一种?

随机森林之外
98504-09 13:28

作者:随机森林之外

题图:随机森林之外微信公众号


同一个策略,同一段数据,只改变降采样方式,结果天差地别。这几乎是每个做过tick回测的人都见过的现象。

是否想过,降采样到底在做什么?

大多数时候,我们只是把它当作数据预处理的第一步,像煮饭前要淘米一样自然。然而,降采样不是在“准备数据”,而是在“定义数据”。它决定了价格以什么节奏进入我们的模型,也决定了哪些波动被保留、哪些被抹平。

换个采样频率,看到的可能是完全不同的市场。

不同的降采样方式,对应着不同的观测逻辑,也暗含对市场运动的不同假设。

图片

为什么要降采样?

直接用原始 tick 回测,代价高,且不一定有用。

首先算力就是硬约束。一个月的数据几亿行,即便 C++ 也得精心设计,Python 基本跑不动。一次回测等一夜,能尝试的想法就少了很多。

更麻烦的是信噪比。买卖价差反弹、离散报价、延迟推送这些微观结构噪声,在高频区域常常盖过价格信号本身。Bandi和Russell(2008)指出,在噪声存在下,基于高频收益平方和的已实现方差并不等于真实波动率,高频数据自带的噪声会系统性地扭曲统计量。也就是说,我们在 tick 上算出的波动率,相当一部分是噪声的贡献,并不是市场的真实运动。

还有策略的天然尺度。如果决策周期在秒级以上(比如日内趋势、统计套利、均值回归),alpha 很少来自 tick 级别。tick 级的变化,大概率只是噪声。如果保留所有细节,反而给模型提供了过拟合的温床——更容易记住噪音。

所以降采样是共识,但难点是,该怎么做。大多数做法只完成了对信息的压缩,却没有思考“信息筛选”。

降采样是一个低通滤波器

如果我们把降采样看作低通滤波器,很多选择就有了依据。

采样周期决定了滤波器的截止频率。固定时间间隔的降采样,本质上是把原始信号中变化快于半个采样周期的高频成分直接扔掉。假设我们用 1 秒 K 线,周期小于 0.5 秒的价格波动都会被抹掉。所以如果策略捕捉的是 0.2 秒级别的反转,那么 1 秒降采样就等于失效。采样周期太短会丢失信号,太长又会引入噪声。

因此选取一个合适的周期,直接关系到策略能否有效捕捉信号。

1. 如何确定采样频率

要确定采样周期,需要同时考虑微观噪声的特征时间和信号的记忆长度。

微观噪声的特征时间,可以通过计算相邻 tick 价格差分的绝对值序列,观察其自相关衰减到某个阈值(比如 0.5)所需的滞后得到。流动性越差的品种,这个值越大。

而对于信号记忆长度,可以用 tick 价格的自相关函数来估计。自相关衡量价格记忆的持久性,数值越高说明过去价格对当前的影响越长。观察它衰减到同一阈值所需的时间,就是信号的记忆长度。

采样周期要比这个记忆长度短,否则会丢失价格结构。同时,它又要比微观噪声的特征时间长,否则噪声主导。

因此,采样周期应介于噪声特征时间和信号记忆长度之间。

对于流动性较好的品种,信号记忆长度通常在 0.5-2 秒之间。由于采样周期需要大于噪声特征时间(约 0.2 秒),下限取 1 秒左右可兼顾噪声过滤;同时为保留日内精细结构,上限不宜超过 5 秒。所以 1-5 秒是一个常见的经验起点。这只是一个起点,不是绝对标准。低于 1 秒噪声偏大,高于 5 秒可能丢失日内精细结构。需要用自己的策略和品种验证。

Bandi和Russell(2008)进一步指出,在微观结构噪声存在下,极高频采样产生的噪声偏差与高频采样带来的方差降低之间存在一个最优权衡点,可以通过均方误差最小化来求解。与其机械地选择采样频率,不如在噪声偏差和估计方差之间找一个最优解。也就是说,存在一个“最佳”采样频率,它取决于我们的品种、时段和策略。

图片

2. 频率的陷阱

选频率时还有一个反直觉的地方:中频采样反而最危险。

很多人可能认为,频率越高越容易过拟合,于是刻意选 1 分钟数据来规避风险。而实际情况恰恰相反。

过拟合风险随采样频率的变化大致呈倒 U 型。最高频(原始 tick)时,信噪比过低,模型很难学到稳定规律,实际是欠拟合。中频(10 秒到 1 分钟)时,样本量足够多,结构又足够清晰,模型极易记住该频率下的伪模式,过拟合风险最高。而低频(日线)时,样本相对较少,模型无法过度记忆,过拟合风险反而降低。

这意味着用 1 分钟数据训练的策略,过拟合风险可能比用 tick 数据还高。因此,中频采样很容易在验证集上看起来不错,一旦换了采样频率就原形毕露。

这就是数据窥探偏误(data snooping bias):用同一套数据反复尝试不同的参数组合,总有机会碰上看起来有效的假象。Bajgrowicz和Scaillet(2012)指出,在特定采样频率和参数组合上反复测试策略,即使没有真实预测能力,也可能偶然发现“有效”策略。降采样频率的选择本身就是这种搜索空间的一个维度。

如何判断自己的策略是否陷入了这个陷阱?

我们可以固定模型结构和超参数,只改变降采样频率(如 10 秒、30 秒、1 分钟、5 分钟),然后观察表现是否稳定。如果只有某个中频表现突出,有可能模型只是记住了该频率下的伪结构。真正稳健的策略,应该在合理范围内对不同频率都有一定稳定性(允许波动,但不该天差地别)。

能否做到这一点,很大程度上取决于策略类型与降采样方式的匹配。

你的策略该选哪种降采样?

1. 从策略逻辑出发

看信号依赖什么。有些策略依赖价格变动的顺序,比如订单流不平衡,关心主动买卖方向的序列。如果做等时降采样,顺序就被打乱了。这类策略要么不降采样,要么用事件采样(比如按成交笔数)并保留方向标签。还有些策略依赖价格数值(如突破阈值),可以降采样,但还需要进一步判断。

然后是决策周期。决策周期的长短,决定了采样方式是否匹配。如果每 5 分钟判断一次开仓,等时降采样很自然——决策网格和采样网格对齐。如果是每次价格变动后重新评估(比如做市、高频统计套利策略),按事件驱动的采样(如成交量、笔数)更匹配。

最后看策略对时间均匀性的敏感度。趋势和突破策略通常依赖严格的时间窗口,比如突破过去 5 分钟高点。如果换成成交量采样,活跃时段采样过密、清淡时段采样过疏,会扭曲时间窗口的含义。这类策略更适合等时降采样。

而配对交易、统计套利等策略需要的,不是均匀时间,而是对齐信息量——两个品种的成交量采样可以保证每根K线代表相近的成交密度。

这里为什么固定时间降采样反而会出问题?

2. 固定时间降采样与成交量降采样

固定时间降采样会掩盖真实的流动性分布,制造流动性均匀的假象。

很多策略回测滑点很小,实盘滑点却大得离谱。原因在于,固定时间降采样把分散在一个时间窗口内的几笔交易压缩进一根 K 线,让人误以为流动性很均匀。实盘时,可能连续几百毫秒也找不到对手盘——而回测中却假设能在 K 线的任意价格成交。时间降采样越细,这个问题越严重,因为单根 K 线内的成交笔数更少,流动性看起来更均匀,但实际流动性并没有变。

因此,对于滑点敏感的策略,改用成交量降采样(比如每 500 股或每 1000 手)是直接有效的改进。通过成交量降采样,它直接展示真实的成交密度,不会看到均匀的流动性。Epps(1979)很早就发现,采样频率越高,不同资产的相关系数会系统性变小。如果再用前向填充把异步数据强行对齐,这种偏差会被进一步放大。而成交量降采样,天然避免了这一问题。

3. 与策略匹配

不同策略类型,适合的降采样方式也不一样。具体来看:

假设用两个流动性差异较大的品种做价差套利,1 秒 K 线回测表现不错,实盘却亏。主要因为,两个品种流动性差异大,而前向填充生成 1 秒数据导致价差序列出现大量的平坦段,在这些段里信号被虚假触发。按照前面的逻辑,这类策略更适合改用成交量降采样。

如果是突破策略,比如 5 分钟高点突破,在 1 秒 K 线表现一般,换成成交量采样反而更差。因为成交量采样在交易活跃时段过密、清淡时段过疏,扭曲了时间窗口。这类策略对时间均匀性敏感,改用等时降采样效果或许更好。

图片

(不同策略类型的降采样方式)

还有一种更灵活的做法:自适应价格变动采样。它不再固定“每 N 股采样一次”,而是设定一个价格变动阈值,比如 0.5 倍买卖价差,每次价格变化超过这个阈值时就记录一个采样点。价格静止时不产生冗余数据,价格快速变动时密集采样,天然适应市场状态。有案例表明,某些突破策略从 1 秒 K 线切换到自适应采样后,夏普显著提升。

实现逻辑并不复杂。我们可以维护上一个采样点的价格,每来一笔 tick,比较当前价格与采样点价格的绝对差值,超过阈值就记录新采样点。这种方法对需要严格均匀时间参考的趋势策略可能容易失真;而价格变动敏感的中高频策略用它往往更有效。

图片

构造信号的常见偏差

降采样方式确定之后,我们通常会用K线的价格(如收盘价、最高价、最低价)来构造交易信号。这个过程看似直接,但有两个隐蔽的偏差,可能让信号在回测中有效,实盘却失效。

1. 用哪个价格来算信号?

同样是 1 秒 K 线,我们可以用收盘价、VWAP、(高 + 低 + 收) / 3、或者中价(买卖价差的中间点)来构造信号。不同选择,回测结果可能天差地别。举例来说,同一个策略,用收盘价跑出夏普 1.0,用中价却能跑到 1.5。差别在于,收盘价容易被最后一笔偶然交易带偏(比如一笔小单打在奇怪的价格上),而中价反映的是流动性中心,更稳定。如果策略对微小价格变动敏感,至少应对比两种构建方式,可以优先考虑中价或 VWAP。

2. 前向偏差——你是否已经看了未来?

前向偏差是回测中最隐蔽的错误之一。看看代码里有没有类似逻辑:if high > prev_high then buy,这里的high是当前 K 线的最高价。回测中默认知道了这根 K 线内部的最高点才触发信号,但实盘不可能预知未来。同样,用当前 K 线的 VWAP 作为执行价格也是前向偏差。这意味着,信号只能用上一根已完成 K 线。如果必须用实时数据(如高频策略),需要逐笔模拟实时计算,不能简化。

降采样:从调参到设计

归根到底,降采样的合理性,最终要回到策略本身。降采样不是中性的数据压缩。它决定了我们能看到什么样的市场,也决定了策略能否有效捕捉信号。

理解了噪声与记忆的权衡,避开了中频过拟合的陷阱,再根据策略类型选择匹配的采样方式,最后留意信号构造中的偏差。这一整套逻辑,才是降采样应有的思考方式。

把它当成参数去调,意外常常不期而至;把它当成设计去做,它才能成为策略的一部分。

市场不会按照我们的采样频率运动,但我们可以选择如何观察它。

免责声明:
您在阅读本内容或附件时,即表明您已事先接受以下“免责声明”之所载条款:
1、本文内容源于作者对于所获取数据的研究分析,本网站对这些信息的准确性和完整性不作任何保证,对由于该等问题产生的一切责任,本网站概不承担;阅读与私募基金相关内容前,请确认您符合私募基金合格投资者条件。
2、文件中所提供的信息尽可能保证可靠、准确和完整,但并不保证报告所述信息的准确性和完整性;亦不能作为投资决策的依据,不能作为道义的、责任的和法律的依据或者凭证。
3、对于本文以及文件中所提供信息所导致的任何直接的或者间接的投资盈亏后果不承担任何责任;本文以及文件发送对象仅限持有相关产品的客户使用,未经授权,请勿对该材料复制或传播。侵删!
4、所有阅读并从本文相关链接中下载文件的行为,均视为当事人无异议接受上述免责条款,并主动放弃所有与本文和文件中所有相关人员的一切追诉权。

0
好投汇
第一时间获取行业新鲜资讯和深度商业分析,请在微信公众账号中搜索「好投汇」,或用手机扫描左方二维码,即可获得好投汇每日精华内容推送和最优搜索体验,并参与编辑活动。

推荐阅读

0
0

评论

你来谈谈?
发表

联系我们

邮箱 :help@haotouxt.com
电话 :0592-5588692
地址 :福建省厦门市湖里区航空商务广场7号楼10F
好投汇微信订阅号
扫一扫
关注好投汇微信订阅号
Copyright © 2017-2026, All Rights Reserved 闽ICP备19018471号-6