进阶补编
订单流与局部成交反应
进阶补编二:订单流与局部成交反应正文
订单流分析把成交与报价数据展开到较细的时间和价格层级,用来观察关键结构位置附近实际发生了什么。常见工具包括逐笔成交、成交带、足迹图(Footprint或Numbers Bars)、主动买卖分类量、Delta和失衡标记。这些工具是现代市场数据与软件发展后的扩展,不属于Richard D. Wyckoff的原始术语。它们最适合解决局部执行问题:当大周期背景、交易周期结构和候选交易区已经确定后,入场周期是否出现了与假设一致的成交反应。订单流不能独立识别吸筹或派发,也不能用一组彩色数字取代结构、量价和风险计划。
一、先分清订单、报价与成交
限价订单簿显示当前可见的买卖挂单。最佳买价及其数量属于买方报价,最佳卖价及其数量属于卖方报价;更深档位显示离当前市场更远的可见限价量。挂单表达的是在特定条件下愿意交易的公开指令,它可以在成交前被修改或撤销。因而盘口量不等于已成交量,也不等于一定会留在原处的供应或需求。同样规模的主动买入面对厚卖价时可能只成交在一个价位,面对卖方撤单后的薄盘口时却可能连续抬高成交价;反复补入的卖价又会吸收后续主动买入,使高成交量只得到很小位移。报价撤销与补充改变的是下一批主动指令可消耗的数量,所以价格冲击取决于成交量、当时深度及其更新顺序。快速增加又撤走的挂单可能来自真实意图变化、做市更新、算法管理或欺骗性行为,仅凭画面不能确定原因。
逐笔成交记录的是撮合已经发生的交易,通常包含成交时间、价格和数量,有些数据源还提供交易所或数据商给出的方向标记。每笔成交同时有买方和卖方,所谓“主动买入成交”并不是只有买方,而是该笔成交被分类为买方主动跨越价差、与卖方挂单成交;“主动卖出成交”则表示卖方主动跨越价差、与买方挂单成交。这个分类描述成交方式,不识别交易者身份,也不说明主动方在新开仓。主动买入可能是建立多仓、回补空仓或执行套利;主动卖出也可能是建立空仓、平掉多仓或对冲。
公开盘口通常只包含显示量。冰山订单只展示一部分数量,成交后可能补充;完全隐藏订单、场外交易、内部撮合和其他交易场所的流动性是否可见,取决于市场规则和数据源。同一价位的可见数量被连续主动成交消耗后又补回,同时价格始终难以越过,可以支持“该价存在持续补充、主动一侧尚未取得结果”的吸收解释;它仍不能辨认是一张冰山、多名参与者依次报单,还是聚合与延迟造成的外观,更不能确定对手身份和开平仓目的。足迹显示成交结果,订单簿显示观察时点的可见报价,两者结合只能收窄解释,不能宣称发现了某家机构的仓位。
数据覆盖决定能看到哪一部分市场。集中期货市场的交易所逐笔数据通常比单一经纪商的分散市场数据更一致,但仍要核对订阅深度、历史回补、组合或隐含成交处理、修正记录以及本地丢包。股票可能跨多个交易场所成交;只看单平台会遗漏其他场所。现货外汇等分散市场常用经纪商报价或成交作为局部样本,不能把它当作全市场订单流。数据源、交易所、交易时段、时区和合约必须进入分析记录。
尚未立即成交的限价委托,只有在其有效期和交易场所规则允许继续等待时,才会留在订单簿中;IOC、FOK等指令的未成交数量会按规则立即取消。市价委托或可立即成交的限价委托与可用对手报价成交;成交后只能确定发生了配对,不能直接知道双方是开仓还是平仓。盘口显示的是当时可见报价,可撤单、隐藏或在观察延迟中变化,不能等同于必然成交的供需。足迹图来自已成交记录,订单簿来自未成交报价,两者时间状态不同。用局部数据判断时,应先确认交易所时间戳、聚合方式和数据是否包含全部成交。
订单、报价、成交与主动方分类
订单簿反映未成交报价,足迹反映成交记录,两者的时间状态不同。
图补2-1 订单、报价、成交与主动方分类(据补编二)
二、主动方分类怎样产生
若逐笔数据带有可靠的交易所方向标记,软件可以直接使用;否则常见做法是把成交价与当时最佳报价匹配。成交在卖价处或更高,通常归为主动买入;成交在买价处或更低,通常归为主动卖出。若成交发生在价差中间、报价更新时间与成交时间不能准确对齐,方向可能不确定。不同供应商会采用上一笔方向、报价距离或专有规则补分类。
Tick rule是另一种常见近似:成交价高于上一笔时记为买向,低于上一笔时记为卖向,价格相同时沿用最近一次非零方向或按平台规则处理。它并不等于报价匹配。快速行情中,报价和成交的时间戳精度、网络排序、交易所批次发布与软件处理延迟都会影响分类。多个同价同时间成交还可能被聚合成一笔,或一笔交易所事件被拆成多笔。历史数据若只有K线总量,无法可靠还原真实的逐笔主动方向。
因此,采用订单流规则前必须确定:成交方向来自交易所标记、报价匹配还是Tick rule;报价采用何种时间戳;相同时间事件怎样排序;是否合并连续成交;历史与实时数据是否使用同一算法;遗漏和修正怎样处理。若更换平台或数据商,旧参数和阈值不能自动沿用。分类量是算法所得结果,并不等于交易者的真实意图。
主动买卖分类通常按成交是否发生在卖价或买价判断:打到Ask记为主动买,打到Bid记为主动卖。价差内成交、报价更新与成交时间不同步、缺少报价快照时可能无法可靠分类,应记为未分类U,不能强行分配给某一侧。部分算法用tick rule根据成交价相对上一笔的变化推断方向,其结果与Bid/Ask分类不必相同。分类只按既定数据规则提示成交主动接受了哪一侧报价,也不证明新资金净流入。
三、足迹图中的Bid×Ask
足迹图显示一根K线内部各价档的分类成交量。对价档 p,记在卖价侧被分类为主动买入的成交量为 Ask(p),在买价侧被分类为主动卖出的成交量为 Bid(p)。常见界面把Bid置于左列、Ask置于右列,但平台布局可能相反,颜色也没有统一标准,使用前必须核对字段定义。
同价横向比较考察同一价档两侧的分类成交。例如可观察 Ask(p) 与 Bid(p) 的关系,或计算该档Delta:Delta(p)=Ask(p)-Bid(p)。
它说明同一成交价档内,被分类为两类主动成交的量如何分布。横向比较适合描述该档成交构成,也常用于显示价档Delta。它不会告诉分析者上下相邻报价之间谁“赢得”了一场真实竞赛,因为两列可能发生在不同时间,且每笔成交仍有对手方。
对角比较试图把跨越价差的相邻档成交相对照。若最小价格变动单位为 tick,常见买向对角比为 R_buy(p)=Ask(p)/Bid(p-tick),常见卖向对角比为 R_sell(p)=Bid(p)/Ask(p+tick)。
前者比较某价档的主动买入分类量与下一低档的主动卖出分类量,后者比较某价档的主动卖出分类量与上一高档的主动买入分类量。相邻对角是工具采用的统计约定,用来突出较高档主动买入与较低档主动卖出的相对分布;它不是同一笔撮合的两边,也不要求实际价差始终等于一个tick。两列成交可能发生在不同时间,期间报价还会撤销与补充;Numbers Bars一类足迹构造只需用于成交分类的最优Bid与Ask,并不需要历史Market Depth。因此对角比率既不等于同一时刻的挂单深度,也不表示剩余供应或需求,更不能由该约定直接推出胜率。足迹并非只能采用对角比较;同价、对角、总量、价档Delta和柱内分布分别回答不同问题。
比例算法必须处理零分母。按本课程数学定义,分母为零时比值没有定义,0/0同样不可计算;软件在边界、无对应数据或零量时可能按界面规则显示0、无限、以一替代零、改用绝对量差或不标记。那些是实现约定,不能反过来改变公式含义,也不等于极强成交证据;应用时还应要求分子达到预设的最小成交量。价档合并后,公式中的 tick 应替换为一个显示档宽;否则比较对象与图表不一致。
所谓失衡通常指某种比率或量差超过用户参数。它不是市场固有事件。阈值、最小成交量过滤、是否要求连续若干价档、零值处理、价档合并、是否包含未完成柱,都会改变标记。不同市场的典型成交规模和噪声差异很大,某个百分比、某个最小量或固定连续档数不能视为普适规律。参数应由所用品种、交易时段和数据源的历史分布校准,并在实时与回测中保持一致。
Bid×Ask每格通常把该价档主动卖成交量列在Bid侧、主动买成交量列在Ask侧,但具体左右顺序须查平台定义。横向比率比较同一价档两侧,对角失衡则常将某价档Ask与相邻较低价档Bid比较,卖方对角方向相反;分子、分母必须随规则明确。分母为零时比率没有普通除法意义,应按预定零分母规则标记,不能直接称为无限失衡。相邻多格失衡显示多个价档持续出现同方向成交,但不保证比单格更可靠,也可能由同一大额订单穿过多档形成,不能当作多份独立确认。
四、Delta与累计Delta的准确含义
一根柱或一段样本的Delta定义为主动买入分类量减去主动卖出分类量,即 Delta=Σ_p Ask(p)-Σ_p Bid(p)。若同一范围内还有无法确定方向的成交量 U,则总成交量为 V=Σ_p Ask(p)+Σ_p Bid(p)+U;Delta只使用已分类部分。两套数据若未分类比例不同,即使总量相同,其Delta也不宜直接比较。
正Delta表示在该分类规则下买向成交量较多,负Delta表示卖向成交量较多。它不是资金净流入,因为每笔成交的买卖金额相等,只是成交主动方标签不同;它也不是多头总持仓减空头总持仓,衍生品每张未平仓合约同时对应一方多头和一方空头。Delta更不是机构买卖量,公开数据通常没有这种身份字段。相同Delta也可以对应不同价格结果:对侧深度充足并持续补充时,大量主动成交可能几乎不能推进;对侧较薄或撤单时,较少主动量也可能穿过多档;相同总差值若集中在末段或平均分散到全程,后续状态也不同。Delta保留主动分类的净差,却没有完整保存深度、补单、撤单和时序。
累计Delta(Cumulative Delta,CD)把连续样本的Delta相加。设第 t 个时间单元的Delta为 Delta_t,则 CD_t=CD_(t-1)+Delta_t。
若两条曲线对同一后续区段纳入完全相同的增量,只改变累计起点会造成常数平移,不会改变该区段每次增减、任意两时点的大小关系或局部极值出现次序,也不会凭空创造背离证据。按交易时段或自然日重置会切断跨边界比较;改变交易时段范围、补入或遗漏成交、换用合约及更改分类规则,则会改变连续结构。比较累计Delta时必须明确重置规则、交易时段、是否包含隔夜和历史缺口。若一段逐笔数据缺失,之后的累计曲线会持续带着误差,不能只修补最新一柱。
持仓量(Open Interest,OI)统计尚未平仓的合约总数,通常按交易所规定的频率发布。成交量统计期间内发生的合约交易,Delta再把其中的成交按主动方向分类,三者对象不同。OI增加不能说明“多头比空头多”,因为新合约同时建立多空两侧;将价格、成交量和OI组合可以提出参与变化的候选解释,却仍不能识别具体一方身份。
单档Delta等于已分类主动买量减已分类主动卖量,未分类U不进入两侧;它不是总成交量、资金净流入或持仓变化。累计Delta是从指定起点依次累加Delta。起点若都在比较窗口之前,差异通常只造成常数平移,不改变窗口内斜率或相对新高比较;重置发生在比较窗口内部、覆盖的交易时段改变、合约换月或成交缺失,才会改变比较形态。交易上要比较主动成交增加了多少、价格实际移动了多少。例如正Delta很大而价格无法上移,可能表示主动买盘被卖方限价单承接,不能把正值直接解释为上涨保证。
图补2-3 Delta与累计Delta(示意图)
五、价格与Delta背离的两类主要解释
背离必须说明比较的是单柱Delta还是累计Delta,并让价格与Delta采用相同时间范围和相同波段端点。价格创新高而累计Delta未同步创新高,可能来自主动买入减弱,也可能是上方供给稀薄、较少成交便推动价格;累计Delta创新高而价格未创新高,则可能是主动买入遇到被动卖出承接。下跌方向可作对称观察,但机制仍需实际波段验证。单柱Delta与一根K线高低点的背离更局部,不能与跨交易时段累计曲线的背离混为一谈。所有背离首先只是两个序列的相对表现,还可能来自分类误差、跨场所遗漏或样本范围与交易时段变化。
被动吸收描述的是大量主动成交反复出现,但价格越过某处的净推进有限。例如关键下沿出现负Delta却没有继续下跌,只能支持“主动卖出遇到足够买方响应,卖方努力暂未取得相称结果”;它还不能排除卖单稍停后再次下破、数据分类误差或更低处报价撤走。要形成偏多判断,还需价格向上离开局部边界、买向成交接续,或回测时卖方仍不能取得结果。关键上沿的正Delta而价格不涨可作反向分析。可观察事实是主动成交量增加而价格移动有限,不能据此断定某类机构正在建仓。
主动衰竭描述推动一侧的成交活动减少,价格继续试探却缺乏先前的成交参与。它与吸收不同:吸收强调主动成交仍多却无法继续推动,衰竭强调主动成交本身减弱。衰竭只说明原推动力量变小,不会自动生成相反方向的主动成交,也不会使对侧报价必然推进价格;若上冲末端买向成交减少,价格仍可能因卖价稀薄继续上涨,或停在原处等待新指令。只有随后出现反向净位移、关键边界被穿越或回测失败,才增加反转解释。价格仍留在高位并继续上涨时,买方衰竭的解释应减弱。
因此,单柱背离、极端Delta或某个大数都只触发观察。以低位承接为例,先有主动卖出无法扩大跌幅,再有较高价位的主动买入与上涨结果,两项先后出现的事实才支持方向已经改变;图表不能确认是不是同一批参与者先挂买单承接、随后又主动追价,顶部情形反向分析。两步有先后依赖,不能把相关信号的比率或主观强度相乘成胜率。若价格没有离开,承接仍可能继续也可能最终失败;若原施压方向后来穿过此前承接区并在外侧维持,只能说明承接没有继续阻止推进,不能否定此前主动成交曾被承接的历史事实。连续失衡同样不保证延续,密集主动成交既可能推动价格,也可能恰好撞上足够的被动流动性。
价格创新高而累计Delta未创新高,可能是较少主动买量便能穿过稀薄卖盘,也可能来自分类、重置或数据缺失;价格不涨而正Delta扩大,可能是被动卖单吸收主动买盘。相反方向同理。解释背离时,既要比较主动买卖量变化与实际涨跌是否协调,也要排查数据构造造成的差异,不能自动选其中一个。随后观察价格是否穿越局部边界、失衡是否持续以及成交密集位置是否改变,才能判断哪种解释更符合行情。
六、在威科夫事件中使用局部成交反应
订单流的使用顺序应从结构向局部收窄。先在大周期判断主要趋势、区间或潜在阶段;再在交易周期标出边界、Spring、Test、LPS、UTAD、LPSY等候选位置;最后只在预先定义的交易区打开足迹,检查局部反应是否支持触发。若结构解释本身含混,放大到逐笔层级往往只会增加可供挑选的噪声。
在Spring候选中,价格越过吸筹区间下沿又收回是首要价格事实。足迹可观察下破时卖向成交是否扩张却难以继续推进、收回时买向成交是否接续,以及返回区间后的回测是否出现较少卖向成交。即便出现这些现象,也需后续需求推进才构成做多触发。若价格在下沿外持续成交、Delta与价格共同向下扩展,并在外部形成接受,Spring解释受损。保护性止损按预先设定的交易边界执行,不等待结构最终被重新命名。
Test的任务是检查此前出现的供应减少或需求减少假设。吸筹背景下的供应测试可以观察回撤进入候选承接区时,卖向分类量、总成交和下行结果相对前次是否减弱,以及是否迅速恢复上行。低Delta不是测试的定义;有时测试会出现明显卖向成交却被承接。关键仍是价格没有取得下行结果,随后需求出现。若回撤轻易穿过候选区域并持续向下,测试失败或原背景需要重估。
LPS位于已经出现强势信号之后的回撤。订单流可帮助区分回撤仍受供应控制,还是卖方推进逐渐失败:观察回撤深度、卖向成交的结果、局部低点能否保持及重新上行时是否出现有效位移。入场触发应与LPS结构相连,保护边界放在使该笔参与逻辑作废的位置。单个买向失衡若出现在区间中部,缺少LPS位置意义,不能因为颜色醒目就获得同等权重。
派发一侧也要根据实际下跌表现判断,不能把多头条件逐项反过来套用。派发后上冲回落(UTAD)先要满足:价格越过上沿后无法站稳,并重新回到区间。局部成交可用来观察主动买入增加时涨幅是否仍然有限、回落时主动卖出是否接续,以及再次测试上沿时是否受阻。最后供给点(LPSY)出现在弱势信号之后的反弹中,重点是买方能否继续推高,以及卖方随后能否再次把价格压低。若价格持续在上沿上方成交,回落也没有进入区间,或反弹越过预定作废区域并站稳,就应放弃空头判断。
实际执行中,“触发”和“保护”必须是两组不同条件。触发描述入场所需的新证据,例如关键位收回后的推进、回测保持后再度离开;保护规定成交后风险必须在哪一位置截断。足迹信号可能短暂消失或反转,不能让交易者在保护价触发后继续等待更完整的结构确认。相反,结构尚有效也不代表每个局部入场都应继续持有:入场设计可能因滑点、错误触发或过近的局部边界而先行失败。
实时数据发生断流、方向分类比例突变、历史与实时算法不一致或平台无法说明失衡算法时,取消尚未触发的订单流入场条件,并改用预先确定的价格结构触发或放弃该次机会。若持仓已经建立,数据故障不取消既有保护性止损;是否减仓或退出按预案中的价格与风险条件处理,不能把“看不到订单流”解释为风险消失。恢复使用前应补齐缺段并复算,无法补齐时从明确的新交易时段重新建立样本。