价格序列离散化,随机分量和噪音·进阶篇
📘

价格序列离散化,随机分量和噪音·进阶篇

第 2/2 篇

「价格到底在响应什么」

价格序列是离散的,但价格变动并不是时间的函数。音频信号可以按时序采样,是因为幅度本来就依附于时间;而价格里时间是背景,不是驱动——把 K 线当信号流按固定周期切,会丢掉真正的因果。 实际推动报价的至少有四类因子:交易执行(买断某价位的可用量才会推升 ASK,例如 1 美元挂 10 股、买走 4 股后价不变,剩 6 股被全吃才跳到 1.1 美元);挂单撤改(无成交也能让 BID/ASK 移动);参与者重定义资产收益(急售亏损头寸换取流动性也算);以及价格自身的反馈(价格一动,持仓者收益重算,反过来影响后续挂单)。 从可计算性看,前两种在交易所能统计成交和订单流,但跨市场、衍生品对冲盘会让边界模糊;第三种最贴近真实,却无法逐人核算收益。第四种「价格是其自身函数」虽粗糙,但适合先做离散建模:设步长 n 点,每向上或向下移动 n 点才记一次价格值,相当于把图表按重定义事件平移。 一个可验证的现象:资产价格变化频率与交易数量直接正相关。参与者越多、成交越密,收益重定义越频繁,价格跳动也越密——你在 MT5 里切 EURUSD 的 M1 和 H1,对比伦敦盘与悉尼盘成交量,就能看到跳动密度随交易数拉开差距。外汇与贵金属杠杆高,这种频率突变常伴随滑点和点差扩张,验证时务必用真实点差环境。

◍ 用砖形拆解时间离散化带来的随机噪声

把价格按固定点数切成步长,比直接看时间烛条更能暴露序列本质。假设 1 步长 = 10 点,一小时 H1 烛条内部可能走出 25 块砖(25 步长、100 点波动),也可能只走出 40 块砖(40 步长),块数完全由交易活动驱动,和时间流逝只是弱相关。砖形和 Renko 类似,但开盘收价差固定为 N 点,价格垂直移动 N 点才收盘,这样就把“每小时必收”的外部时间参数剥离了。 中心极限定理在这里很实用:大量弱相关随机步长的总和近似正态,平均覆盖距离约与步长数平方根成正比。用 2020.05.18–2020.07.03 的 50000 根 GBPUSD M1 实测,M1 平均模长 0.000170,H1 实际平均模长 0.001117;若当随机游走,理论值应为 0.000170×60^0.5 = 0.001315,差仅 0.0002。日线用 1440 根 M1 推算,实际 0.006547 对理论 0.006442,同样贴近。 换 tick 级数据重算:每分钟平均 59.99 次报价,tick 平均模长 0.000014378,推得 M1 理论 0.000111363、H1 理论 0.00086,对比真实 M1 0.00017、H1 0.001117 仍属同量级。结论很直白——按固定时间间隔离散价格,会把本来含形态的非平稳序列硬变成类随机游走,所谓“噪声”来源就是离散参数和时间帧错配。外汇高杠杆品种这类错配会放大误判,开 MT5 用上面的模长算法跑一遍自己品种就能验证。

用增量密度看清价格离随机有多远

想判断一小时内的价格运动到底像不像随机漫游,光看平均烛条大小不够,得把增量的分布密度画出来。我们把统计窗口定为 60 分钟,也就是 60 步;此前算过 1 分钟烛条平均大小为 0.000170,步数 60,于是极端边界就是 -0.00017×60 = -0.0102 到 +0.0102。 离散层面也值得注意:若每步严格等于均值,60 步后价格只能落在 0、0.00034、0.00068… 这类间隔为两倍平均烛条大小的级别上。实际烛条大小有波动,所以会填进中间值,但统计时我们仍按「两倍平均蜡烛大小」的间隔来归集事件数。 把价格序列的密度(黑)和纯随机漫游(红,每步转向概率 50%、无记忆)叠在一起看,两者几乎重合。价格序列的峰值略高、分布略窄、且微微右偏——意味着下一步逆转概率可能稍大于 50%,并夹着一点点向上漂移,但偏差不大。 这种轻微偏移理论上或许能挤出薄利,但样本够大时理想随机变量终会回归基准。附带的 xlsx 里给了全部计数与密度表,开 MT5 导出自家品种的一小时增量,按 0.00034 间隔分桶就能复算这张图。

「烛条大小暴露的波动聚集」

有经验的交易者盯着 MT5 图表会察觉,烛条往往成簇出现:一段全是窄幅小烛,紧接着几根宽幅大烛,这种高波动区与低波动区的交替不是噪声,而是价格序列自带的结构。若时间离散把连续报价切得太碎,这种分组效应会被抹平,实际却清晰可见,说明离散误差虽存在但没掩盖形态。 验证方法很直接:调出带即时报价成交量(Tick Volume)的图表,小烛条对应的 tick 数明显偏低,大烛条则伴随 tick 数激增。可把一次 tick 视作一步随机游走的步子,大烛条期内步数更多,但烛条实体幅度近似与步数平方根乘平均步长成正比——这就是图例 9 演示的关系。外汇与贵金属属场外市场,tick 量只是代理指标,真实成交量得看交易所品种,两者高度相关但存在偏差,高风险品种尤需警惕代理失真。 时间离散造成的扭曲催生了“夜间剥头皮”一类系统。这类策略押注低波动区后反转概率偏高,但开发时不能默认形态必然盈利。要额外回测两个问题:低波动区反转可能是否真高于趋势延续,以及该区统计特征在历史样本上能否覆盖点差与滑点成本。MT5 上用 tick 量分组做分位测试,比肉眼判断更靠谱。

◍ 用砖形抹掉报价序列里的随机噪声

很多人以为用即时报价(tick)做分析就能避开离散化误差,其实 tick 本身也是一种离散手段。外汇市场里每家券商能自己喂任意数量的 tick,真实成交和 tick 流并不严格绑定,所以 tick 序列里天然夹带了失真和随机分量,拿来直接建模会把噪音当信号。 更好的切入点是固定幅度离散化:把价格看成它自己的函数,垂直走过 N 个点就收一块砖(Renko)。图例 10 里同一周期比特币周线烛条和 N 点砖形放在一起,条数相同但走势形态完全不同,说明离散方式直接决定你“看见”的市场。 砖形最实用的地方在于——它只关心价格动了多少点,而这恰好对应账户盈亏的变动粒度。每个参与者的利益在价格垂直越过 N 点后才真正改变,所以“价格是其自身函数”的模型反而离真实交易最近。图例 11 把正弦线转成等距砖形,曲线形状没了,但周期和振幅都留着。 即便砖形尺寸设错,确定性结构也不会塌成随机。图例 12 显示砖太大时块内信息被压缩、精度下降,幅度和周期仍在;若砖尺寸大于序列振幅则根本不出砖,对比时间离散化里错参就把原信号搅成噪声,砖形起码不制造假随机。外汇/贵金属波动受流动性与报价源影响,用砖形前请在 MT5 用真实点差环境验证,参数错配仍可能漏掉关键波段。 即使离散参数不完美,这种方法也能消去时间离散塞进来的随机项,且在源序列参数函数未知时照样能缩放到 1 点精度,比按时间切分更干净。

一点提醒

把连续报价硬切成固定时间柱,本质是用离散化给原始数据强加了一个外部参数。GBPUSD 这类品种在 M1 上的跳动分布并不均匀,等距切片会凭空塞进随机噪声,让图表形状偏离真实成交结构,这一点在统计回测里表现为参数敏感性明显抬高。 作者给出的砖形替代方案只是起点,核心思路是:先问价格到底是谁的函数,再决定怎么切。开发 EA 或做量化研究时,离散方式选错,后面所有形态识别都可能建立在失真之上。 外汇和贵金属杠杆高、跳空频繁,任何离散重构都只是近似。开 MT5 把同一段行情分别用时间柱和文内砖形跑一遍,对比信号触发差异,比盲信某种图表更实在。

常见问题

把固定点数或ATR作为砖块阈值,只在价格反向走满一个砖块时才画新砖,时间维度的碎波动被直接忽略,图表只留方向性移动。
烛条实体大小本身暴露波动聚集:连续大实体段说明趋势能量集中,夹杂大量小实体才是噪声期,把小实体密集区当震荡过滤掉能少挨洗。
小布会基于增量密度和砖形离散化结果标注当前序列偏离随机的程度,并在品种页提示噪声偏高还是方向性偏强,你按提示降频或观望即可。
把价格增量做直方图,若峰度明显高于正态分布且尾部肥厚,说明存在可被捕捉的偏离;经验上峰度>4就倾向有结构而非纯噪声。
会,砖块阈值设太大易滞后再进场,建议用ATR的0.5~1倍试错,并在重大数据前切回普通烛条确认影线,贵金属高风险需严控仓位。