龙哥量化:期货成交价的形成——为什么高(低)于成交价的买(卖)单没成交
如果您需要代写公式, 请联系我。
龙哥QQ:591438821
龙哥微信:Long622889
(本文内容质量高, 转载的,有空了再研究)
如果一个期货投资者挂了80元的普通限价单(买单),在他挂单之后明明出现了79元的成交价,但是自己的买单却没有成交。此时他可能会很气愤,认为自己受到了交易所&期货公司的欺骗,因为如果按照价格优先,时间优先的原则,他的80元的价格是比79元的价格高的,为什么自己的买单没有成交呢?下面就让我们看看期货成交价到底是怎么样形成的。
众所周知,只有当买价大于等于卖价时才会成交,为了使成交价以波动较小的方式近似连续的变化,成交价为买价、卖价、前一成交价的中间值。
假设成交前的盘口如下图1所示。如果此时有人主动买入,接下来分买入价大于卖一价和等于卖一价两种情况进行讨论:

1.买入价大于卖一价
如果买方以高于卖一价主动买入,如下图2所示。买价高于卖价,此时的成交价为买价、卖价、前一成交价的中间值。根据前一成交价与买一价、卖一价的关系,分几种情况讨论,紫色菱形表示前一成交价的五种不同的情况。如图所示,买一价为87,卖一价为85,如果前一成交价是88,此时的成交价为三者中间值87,以此类推,得到成交的范围区间是【卖一价,买一价】,即【85,87】。成交之后,根据买一量,卖一量的关系及不同的订单的类型分三种情况讨论。

(1)买一量 > 卖一量且买单类型为普通限价单,如下图3所示。这种情况下,成交价 <= 成交后的买一价:

(2)买一量 < 卖一量,如下图所示。这种情况下,成交价 >= 成交后的卖一价:

(3)(买一量 = 卖一量) 或 (买一量 > 卖一量且买单的订单类型为FAK),如下图5所示。这种情况下,成交后的买一价 < 成交价 < 成交后的卖一价:

得出结论,在主动买入的情况下,如果买入价 > 卖一价,成交之后,成交价有可能 <= 买一价;有可能位于买一卖一之间,也有可能 >= 卖一价。即无法确定成交价与成交之后的买一卖一关系。
2.买入价等于卖一价
如果买方以等于卖一价的价格主动买入,如下图6所示。买价等于卖价,此时的成交价为买价、卖价、前一成交价的中间值。根据前一成交价与买卖价的关系,分几种情况讨论,紫色菱形表示前一成交价的三种不同的情况。买一价为85,卖一价为85,如果前一成交价是86,此时的成交价为三者中间值85。以此类推,无论前一成交价是多少,当前成交价都是85。成交之后,根据买一量,卖一量的关系及不同的订单的类型分三种情况讨论。

(1)买一量 > 卖一量且订单类型为普通限价单,如下图7所示。这种情况下,成交价 = 成交后的买一价:

(2)买一量 < 卖一量,如下图8所示。这种情况下,成交价 = 成交后的卖一价:

(3)(买一量 = 卖一量) 或 (买一量 > 卖一量且买单的订单类型为FAK),如下图9所示。这种情况下,成交后的买一价 < 成交价 < 成交后的卖一价:

得出结论,在主动买入的情况下,如果买入价 = 卖一价,成交之后,成交价有可能 = 买一价;有可能位于买一卖一之间,也有可能 = 卖一价。即无法确定成交价与成交之后的买一价卖一价关系。
现在回到最初的问题,为什么会出现卖单低于成交价却没有成交的情况?如图2所示,如果前一成交价为86,投资者A挂了9手价格为85的卖单,之后投资者B挂了1手价格为85的卖单,此时卖一量为10手,按照时间优先的原则,A的9手卖单排在前面,B的1手卖单排在后面。之后投资者C以87的价格挂了1手买单(普通限价单),此时成交价为86元,A的9手卖单成交了1手,剩余8手,B的1手卖单没有成交。此时,对于B来说,就会出现挂卖单之后,成交价高于自己的卖出价但是自己的单子没有成交的情况。原因就是卖单数量较大,买单数量较小,自己的单子排在后面导致无法成交。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版