价格序列离散化,随机分量和噪音(基础篇)
「把价格序列拆成信号、随机和噪音三层」
做价格行为分析时,第一步不是画均线,而是承认一根 K 线里混着三层东西:可捕捉的规律性信号、不可预测的随机分量、以及纯干扰噪音。MT5 里拉一段 EURUSD 的 M1 收盘价,肉眼看不出边界,但统计上这三层叠加才是真实价格序列。 外汇和贵金属市场高杠杆、高波动,把噪音当信号是爆仓的主要诱因之一。实操上建议先用差分法看收益率分布,再判断当前波动里随机成分占比是否过高。 一个可验证现象:对 2020 年 EURUSD M1 数据做一阶差分,约 68% 的相邻收益率落在 ±0.0004 区间内,这说明大部分短时变动本质是随机分量而非趋势信号。
◍ 为什么价格被切成时间片
早期实物交易里一天价格波动不多,记录每一次变化既费存储又没意义,于是按固定间隔记一个价就成了自然选择:昨天小麦 80 分、今天 90 分,需求涨了价就上去了。那时候成交稀疏,价格重估本身就很罕见,粗粒度记录完全够用。 后来交易频次起来,光知道首尾价不够了,人们开始关心一段里摸到了多高、砸到了多低,烛条和柱线就是这么被逼出来的。如今分钟级甚至十秒级离散化已是常态,精度越切越细。 时间离散化最核心的便宜是资源效率:一根烛条一个周期只存开高低收 4 个数,若把每次买价卖价跳动全存下来,单个品种一年历史就能冲到数 GB;盯 200–500 个品种、拉 10–20 年,下载和处理都是真麻烦。 另一个常被忽略的好处是时间线性——年与年、小时与小时在图上占的屏幕空间大致相同,翻历史不费眼。但线性直观有时反而误导,该反直觉时得忍住。 外汇和贵金属这种高杠杆品种,历史切片只是概率参考,切得太粗会漏掉毛刺、切太细易被噪声带偏,动手前先在 MT5 调周期验证自己的品种特性。
采样率不够,价格信号就变噪声
信号离散化在交易之外也很常见,比如音乐录制就是把连续声波按固定时间间隔抽样存进存储器,之后再靠还原操作变回连续形态。这里有个硬约束:Kotelnikov(奈奎斯特-香农)定理规定,离散频率达到原信号频率的 2 倍及以上,才能无失真地恢复信号。举个具体数——1 赫兹的正弦波,每秒至少采样 2 次,还原后周期和幅度才保得住。 用 2 赫兹去采 1 赫兹正弦,离散点连起来是三角波,跟绿线原波有误差,但过一个低通滤波器就能近似还原。音乐里这点失真要命,MT5 tick 数据层面的价格处理倒没那么娇贵。 一旦采样率掉到原频率 2 倍以下,事情就崩了。示意图里能看到,原本规整的周期性信号离散完完全走样,变成一个和原信号无关的随机序列——幅度和频率信息全丢。放到盘面就是:本来你能靠离散后的峰谷做高抛低吸,采错了反而把已知周期信号弄成不可知噪声。外汇和贵金属杠杆高、跳空频繁,这种错采样带来的伪信号会直接放大爆仓概率。 顺着这条线自然会揪出两个绕不开的问题:我们手上的价格序列离散时到底有没有采错?价格本身算连续还是离散、它的真实频率参数是多少?这问题不表面,但决定了你指标底层的可信度。
「价格到底是一格一格跳还是连续滑的」
要搞清楚价格序列是离散还是连续,得先看盘口怎么撮合。一部分人在市场深度里挂出限价单,另一部分人直接按想要的价格吃进对应手数,图表就是这么一层层垒出来的。 挂单价格只能落在 1、2、3 这样的整数档位上,精度有限;买方吃掉的张数也只能是 1、2、3 份这种整数单位。图例里市场深度的快照就能看到,价格和剩余量全是跳变的数字,没有中间态。 所以结论很直接:MT5 上你看到的价格序列本质是离散的。每一笔成交把价格推到下一个离散档,所谓“连续曲线”只是客户端把 Tick 连起来画给你看的。外汇和贵金属杠杆高,离散跳空在重大数据时常引发滑点,验证时记得开真实Tick回放而非控制点。