- Published on
Resampling Filter Pack [DW]
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
策略解读
在传统技术分析中,我们习惯使用固定周期的K线,比如5分钟、1小时、日线。这些K线本身是一种“采样”方式,但它的粒度是固定的。当我们想观察更平滑的价格走势,往往只能通过调整均线周期或改变图表周期来实现。而“重采样过滤器包”提供了一种更底层的思路:不改变图表显示,而是对原始价格数据重新划分“样本”的密度和边界,再在此基础上计算过滤值。
所谓“重采样”,就好比我们原来每隔5分钟记录一次路况,现在改成每隔10分钟记录一次,或者改成每看见5辆车记录一次。前一种按时间固定间隔,后一种按事件数量固定间隔。无论哪种方式,我们得到的都是一条新的、更平滑或更聚焦的价格曲线。这个“过滤器包”正是干这件事的。
核心流程是这样的:首先,用户指定一个“采样率”,例如每个样本包含10根原始K线,或者每2倍当前图周期取一次样。然后,还需要设定一个“周期偏移”,意思是采样的起始点从哪里开始。举个例子,把一天分成24个小时,如果你从第0分钟开始采样,那么第0-59分钟是一个小时;如果你从第30分钟开始采样,那么第30-89分钟就是一个小时,这会导致最终的过滤值曲线整体平移。
为什么要这么做?因为固定的起始点有时会错过重要的市场拐点。比如,某些事件发生在上午10:15,但如果你的采样窗口是从10:00开始,10:15的数据就被平摊到两个窗口中。通过调整偏移,你可以让采样窗口对齐到事件附近,从而更敏感地捕捉转折。
三种重采样方法中,BPS(Bars Per Sample)是“按K线根数采样”,它不关心时间长短。设定BPS=20,那么无论这20根K线是1分钟还是1天,都会被合并成一个样本。这种方式的好处是:在市场活跃时,样本更新速度快;在市场冷清时,样本更新慢。这天然适应了不同时段的波动节奏。
第二种方法Interval是按“当前图表周期的整数倍”来采样。比如你当前图表是5分钟,设定Interval=2,那么每隔10分钟采一个样本。这种方法保证了采样间隔在时间上完全均匀,适合做严格时间序列分析。它和BPS恰好是相反的思路。
第三种方法在原文中被截断了,但结合“网格/区间”这一标签,通常可以推测是基于“价格区间”的重采样,即每波动固定价格幅度才生成一个新样本,类似于“点数图”。这种方法把无波动的横向盘整过滤掉,只保留有意义的运动,非常适用于网格交易和区间突破策略。
“过滤器”这个字眼也很关键。重采样本身只是换了一种视角,真正的过滤值还需要用一个函数去计算,比如样本的平均值、中位数、线性回归值等。这个包的作者强调它是“实验性”的,意味着用户可以根据自己的策略需要,把采样后的数据接到任何后续交易逻辑中。
总体上,这个工具解决了传统技术指标“一根均线打天下”的僵化问题。它允许你在同一个图表下,自由切换多种采样粒度,从而让趋势判断、支撑阻力识别、网格分位数计算等变得更加灵活。
名词解释
-
重采样(Resampling): 将原始价格序列按照新的规则重新划分的过程。例如,把每5根分钟K线合成一个样本,或者把每固定时间间隔的数据打包成一个新样本。重采样后得到的新序列可以改变原始数据的密度和特征,是构建多尺度分析的基础。
-
采样率(Sample Rate): 指每个输出样本所对应的原始数据量或时间长度。采样率越高,表示每个样本包含的原始数据越少,过滤曲线越灵敏;采样率越低,曲线越平滑,但反应越迟钝。
-
过滤器(Filter): 在技术分析中,过滤器是一种数学变换,用于提取价格趋势或平滑噪声。常见的过滤器包括简单移动平均、中位数滤波、卡尔曼滤波等。本文中的“过滤值”就是在重采样后计算出的平滑结果。
-
BPS(每样本K线数,Bars Per Sample): 一种采样方式,直接指定每个样本由多少根K线组成。比如BPS=15,意味着每15根K线计算一个输出值。该方法只关心K线根数,不关心实际时间跨度。
-
周期偏移(Cycle Offset): 在重采样时,采样的起点在原始周期中的位置偏移量。例如,在每小时周期里,偏移量0表示从整点开始,偏移量0.5表示从第30分钟开始。周期偏移可改变过滤曲线的相位,用于消除因起点固定带来的信号时滞。
-
价格区间重采样(Range-based Resampling): 一种按固定价格波动幅度生成样本的方法。每当价格从上一个采样点起波动了设定值(如10美元),便产生一个新样本。这种方法能自动压缩无波动时段,突出价格的重要变动。
策略思路讲解
这个“重采样过滤器包”不直接给出买卖信号,而是提供了一套“预处理工具”。它的逻辑可以拆解为三层。
第一层是数据重构。原始K线是离散的,且受制于固定周期。如果我们想观察“平均持仓成本”或“市场情绪温度”,固定周期K线往往带有噪声。比如,在活跃时段,5分钟K线能画出很多小阴小阳,掩盖了背后的主趋势。重采样的第一步就是把这些零碎的K线合并成更大的“逻辑样本”。BPS方式的合并逻辑是“够数了就成为一个样本”,类似股市中的“换手率到达一定比例后形成新阶段”;Interval方式的合并逻辑是“时间到了就成为一个样本”,更符合日历时间分析。
第二层是过滤计算。重采样得到的样本数据是原始价格的聚合,还需要一个平滑函数来计算“代表性数值”。这个包没有规定具体用哪一种过滤函数,它刻意保持开放,让用户自己组合。通常的做法是取样本内价格的平均值,或者取中位数以抵抗极端值的影响。更高级的过滤可以是最小二乘线性回归的截距,也就是该样本内价格的加权重心。过滤值连接成线后,可以视为一种“自适应均线”。
第三层是周期偏移的微调。这是这个包最有趣的地方。周期偏移可以让你人为地把采样窗口“错开”半个周期。比如在周线上,普通指标从周一开盘开始计算,而偏移后可以从周三开始计算。于是你会得到两条不同的平滑线。当两条线产生交叉或发散时,就可以辅助判断市场节奏的变化。换句话说,周期偏移提供了“时间相位”这一维度,让过滤器从二维空间扩展到三维。
在实战中,这个包有几个常见用途。
- 趋势跟踪:将BPS设置得较大,例如BPS=30,过滤掉短周期波动,只留下中期趋势。过滤值向上时做多,向下时做空。
- 网格交易:使用基于价格区间的重采样方法,设定区间宽度为当前波动率的某个倍数。每个新的样本就代表一个网格层,价格触碰到样本边界时,可以考虑网格加仓或减仓。
- 多时间框架确认:同时使用BPS=5和BPS=20的两条重采样曲线。当短期曲线上穿长期曲线时,视为趋势转强信号,反之转弱。
- 研究实验:由于是实验性工具,交易者可以拿它来测试不同的“时间扭曲”方式对策略收益的影响。比如,把传统均线指标套用在重采样曲线上,观察是否比原始K线上的指标更稳健。
需要注意的是,这个包本身不会告诉你怎么过滤、怎么交易。它更像是一个“万能的扳手”,能不能拧出好螺丝,还要看你的手感和策略逻辑。
优点
- 灵活性极高:用户可以在同一个图表内自由切换BPS、Interval和基于价格区间的重采样模式,不需要切换图表周期,就能获得不同时间尺度的视图。
- 支持周期偏移:这一设计打破了传统指标从固定起点计算的习惯,让交易者可以实验不同相位下的信号,从而找到最适合当前品种的“时间校准”。
- 过滤噪声效果好:尤其是按K线根数或价格区间采样时,那些成交量稀少、价格无意义的横盘会被自动压缩,过滤后的曲线只反映真实波动。
- 适合与网格策略结合:重采样后的稳定曲线天然可以作为网格上界、下界和分位数的计算基准,有助于网格交易的自动化和参数化。
- 研究与教学价值高:作为一个实验性工具,它能够直观展示“重采样”对价格形态的影响,帮助初学者理解多时间框架分析的本质。
缺点
- 参数调整复杂:采样率、周期偏移、过滤算法三者相互影响,没有明确的最优组合。用户需要大量回测才能找到稳定参数,普通交易者难以驾驭。
- 信号滞后明显:所有过滤器都是对历史数据的平滑处理,采样率越低(样本越粗),滞后越严重。特别是在快速反转行情中,重采样曲线可能还在延续旧趋势。
- 依赖市场环境:重采样过滤器的表现在趋势市场中很好,但在震荡市中,可能把噪声放大成假信号。按时间间隔采样在非交易时段会产生无效样本,导致数据失真。
- 公开资料不完整:由于该包的原始说明被截断,第三种重采样方法的具体规则并不明确,用户在使用时可能会对输出结果产生误解。
- 计算资源占用较高:重采样过程需要对每根K线进行遍历和分组,在高频数据或图表上运行时,可能影响平台流畅度。
起源年份考证
“重采样过滤器”作为一种技术分析方法,其根源可以追溯到更古老的“多周期分析”和“数据平滑”理念。由于该策略为公开发布的研究实验,我们只能考证“该类方法”的时间线,而非该脚本的具体发布年份。
- 1970年代:技术分析界开始系统使用移动平均线过滤价格噪声。此时所有均线都基于固定时间周期,不存在“重采样”概念。
- 1980年代中期:个人电脑普及,交易者开始尝试将不同周期的K线叠加在同一图表上,形成“多时间框架分析”的雏形。这是重采样思想的早期萌芽。
- 1990年代:点数图(Point & Figure)和Renko图等价格区间型图表重新受到重视。它们本质上就是“基于价格区间重采样”,是当前Range重采样的前身。
- 2000年代:在线交易平台逐渐支持自定义K线周期,一些量化研究者开始编写脚本来实现任意时间间隔的重采样。此时“重采样”从图表功能变成一种可编程的策略工具。
- 2010年代之后:公开交易社区中出现了大量实验性指标,其中就包括DonovanWall的“Resampling Filter Pack”。这类工具将“采样率”“周期偏移”“多种过滤函数”组合在一起,标志着重采样过滤器作为独立策略组件走向成熟。虽然无法获得该脚本的精确发布时间,但可以确定,其思路属于21世纪第二个十年中量化交易社区的主流探索方向。
改进建议
- 引入自适应采样率:根据市场的实际波动率(如ATR)动态调整BPS或Interval参数。波动大时增加采样率,波动小时降低采样率,从而避免固定参数导致的失真。
- 提供多种内置过滤函数:除了平均值和中位数,可加入加权移动平均、Hull移动平均、卡尔曼滤波等。不同过滤器适合不同交易风格,用户可一键切换,节省自行编写公式的时间。
- 增加信号确认模块:重采样曲线不应单独使用。建议在后续版本中加入成交量确认、动量背离检测等功能,只有当过滤值和成交量共同确认时才发出有效信号。
- 优化周期偏移的自动对齐:允许用户设置“事件驱动偏移”,例如以当日开盘、上一日高点或宏观经济数据公布时间为准,自动计算最佳偏移量,减少人工试错。
- 增强数据末端稳定性:重采样在处理最后一个不完整样本时容易产生跳变。建议加入样本置信度权重,当样本内数据不足时,降低其影响,避免信号在收盘前剧烈波动。
- 增加回测输出界面:将采样率、过滤值、周期偏移等参数与历史收益进行关联测试,帮助用户直观看到每套参数在不同市场状态下的表现,而不是只输出一条曲线。
总结
“重采样过滤器包”是一把精致的瑞士军刀,它用重构K线的方式重新定义了“时间周期”的含义。无论是按K线数量采样、按时间间隔采样,还是按价格区间采样,它都把选择权交还给交易者。配合可调节的周期偏移,我们不再被动接受图表周期,而是主动设计自己的数据观察窗口。
当然,工具再锋利,也要看持刀人的运用。重采样过滤器并不能直接产生稳定的收益,它更像是一个研究平台。要想真正发挥它的价值,你需要在模型中注入自己对市场的理解,并做好充分的回测与风险控制。如果你是一个热爱探索交易底层结构的读者,这个工具值得你花时间去实验;但如果你只是想找一个“一键下单”的黑盒系统,它可能会让你失望。
毕竟,在金融市场的噪声中,真正的过滤器从来不是某个数学公式,而是你对风险与期望的权衡。