股票市场的交易系统是如何撮合交易的?

此处我做几个假设:
1.比如,我挂单卖出每股10块的工商银行500股。此时,另外有人挂单买入10块的工商银行200股,再有另外一人挂单买入10块的工商银行300股。交易系统会将两人的买单加再一起和我成交吗?
2.比如,我挂单卖出每股10块的工商银行500股。系统需要一直等待有人挂单买入10块的工商银行500股时,才会撮合挂入买单的此人与我成交?
3.比如,我挂单卖出每股10块的工商银行4000股。但是有人挂单买入10块的工商银行500股,此时,我会被成交吗?会出现成交了500股,剩下的3500股没有被成交的情况吗?

或者有没有什么网站或另外的渠道可以具体了解到股票交易系统撮合交易的细节?

 

答:

 

作者:亲爱的龙哥
链接:https://www.zhihu.com/question/46808349/answer/253237955
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

每个交易所的规定可能不一样, 但是大多数的差不多, 都是遵从”价格优先, 时间优先“的原则

所谓价格优先,以买方为例子,就是谁出的价格高, 谁就优先与卖方撮合。

所谓时间优先,就是是相同的出价下, 谁报单早, 谁就优先被撮合。

单子一般分为限价单和市价单两种(limit order, market order)。

你提到的“挂单”卖出500股工商银行@10块钱,就是一个限价单。 主要有四个信息,方向(买还是卖),证券(工商银行股票),数量(500股), 价格(10块钱)。 当市场有很多你样的“挂单者”的时候, 就形成了orderbook。

。。。

卖2 10.02 2000

卖1 10.00 3200

 

买1 9.98 2800

买2 9.96 800

。。。

买1一定小于卖1,不然交易所就直接撮合成交了。你的500股工商银行@10块钱就在这个“卖1”里面, 同时还有其他2700股单子是别人的, 至于谁先成交,就看你们谁报单早了。 这些挂单者给市场提供了流动性, 因为本质上这些挂单者互相不成交, 而是等待那些没有反应在orderbook上的投资者来交易,(有点像一群明码标价站街妹等待嫖客来挑选), 所以我们也称这些挂单者为市场提供了流动性。

其他的投资者可以下市价单或者挂有交叉价格的限价单(cross )来立马买入。

比如投资者下个市价单, 买入700股工商银行(注意,市价单不用说价格), 那么这挂着的3200股工商银行就会有700股以10块钱的价格成交。

如果投资者下个市价单,买入3500股工商银行。 那么,会有3200股以10块钱成交,余下300股以10.02成交。 Orderbook就会变成如下的样子。

。。。

卖1 10.02 1700

 

买1 9.98 2800

买2 9.96 800

。。。

 

如果投资者挂500股@9.99块钱的限价单,那么不好意思。。成交不了, 但是他的报单会成为新的买1, 并且比9.98的买家有更高的优先级等待别人成交。

如果投资者特意挂了超过卖1价格的买单限价单(如果交易所允许),比如买入800股 @10块钱,那么也会立刻成交。 和市价单的区别在于,如果投资者挂了买入3500股工商银行@10块钱, 那么仅仅有3200股会以10块钱成交, 另外300股会变成新的买1 挂在orderbook上,变成下面的样子。

。。。

卖1 10.02 2000

 

买1 10.00 300

买2 9.98 2800

买3 9.96 800

。。。

 

 

至于你提的三个问题, 需要满足几个假设才能继续讨论下去。 1 市场上的买1价格小于10块, 不然你的单子一挂出去,就立马成交了。 2 市场的卖1 就是你挂的单,没人比你卖价更低。 否则, 你就要在后面排着。就算别人挂了10块钱的买单也无法和你成交。

 

针对你提的问题

首先每个人报单的时候都有一个报单ID。 我们前面举的例子都是撮合之后对orderbook的影响,但是实际上,交易所的撮合是报单与报单的撮合。 我把你的这个问题举个更一般化的例子。 报单情况如下

 

目前市场最优卖单是10.02元

这时候隔壁老王先挂了一个150股@10块钱卖单, 单号444

紧接着你在隔壁老王之后挂另一个500股@10块钱的卖单, 单号666

市场上的最优卖单变成了10元。

 

过了一会来了买家A 报了10元的限价买单,300股, 单号777

又来了买家B报了10元的限价买单, 200股, 单号888

 

这时候,交易场的撮合是这样的

1、 撮合单号444和777, 150股, 10元 (你可以认为买家B来之前其实就已经撮合了)

2、撮合单号666和777, 150股, 10元

3、 撮合单号666和888, 200股, 10元

 

 

这解答了你的问题1, 你和A及B的单子是分别撮合的。 同时也说了另外一个问题, 不是说有人愿意出10元买500股,你就能把500股全部成交, 你还要和隔壁老王比较时间上的优先级。

针对你的问题2, 如果你把单子挂出去了,是要一直等待一个出市价单或者挂超过10块限价单”嫖客“(比如A和B)的出现,把你的单带走。

也解答了问题3, 你的500股是部分成交的, 这个例子中你成交了350股,还有150股在市场上挂着。 你想到的其他可能是两个变种的单, FAK和FOK (fill and kill, fill or kill). 把你问题三的场景换个顺序, 你看到市场有人挂单要以10块买入500股工商银行, 你下一个10块钱买入4000股的FAK单。 那么这个单会买入500股(fill)的同时, 撤掉另外3500股的单(kill)。 如果你下的是FOK单, 因为你没法全部成交买到4000股(fill),所以马上就撤单(kill)。

 

如果有兴趣了解更多细节,请参阅《Trading and Exchanges》

 
 
link: https://www.zhihu.com/question/46808349/answer/103094572
posted @ 2021-02-03 07:14  ls1519🎈  阅读(723)  评论(0编辑  收藏  举报