资源加载中... loading...

交易撮合机制浅析

Author: 扫地僧, Created: 2016-12-20 14:18:55, Updated:

  • 股市交易的撮合机制

    交易指令的撮合原则主要包括价格优先原则、时间优先原则、按比例分配原则、客户优先原则、做市商优先原则、经纪商优先原则等。

    我想知道的是:   假如一只股票现在的价格是5元整,现在的这一时点上所有卖家中的最低报价为5.05,所有买家中的最高报价是4.95,那么—— 这只股票是不是在接下来就没有成交量了?卖家和买家提交的交易指令全部都不能达成交易了?下一时点的价格该怎么决定?

在上海证券交易所和深圳证券交易所,产生股票价格的方式有两种,其一是在开盘时的集合竟价,另外就是开盘后的连续竟价。

  • 1、集合竟价

    集合竟价是将数笔委托报价或一时段内的全部委托报价集中在一起,根据不高于申买价和不低于申卖价的原则产生一个成交价格,且在这个价格下成交的股票数量最大,并将这个价格作为全部成交委托的交易价格。集合竟价的基本过程如下: 设股票G在开盘前分别有5笔买入委托和6笔卖出委托,根据价格优先的原则,按买入价格由高至低和卖出价格由低至高的顺序将其分别排列如下:

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    按不高于申买价和不低于申卖价的原则,首先可成交第一笔,即3.80元买入委托和3.52元的卖出委托, 若要同时符合申买者和申卖者的意愿,其成交价格必须是在3.52元与3.80元之间, 但具体价格要视以后的成交情况而定。这对委托成交后其它的委托排序如下:

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    在第一次成交中,由于卖出委托的数量多于买入委托,按交易规则,序号1的买入委托2手全部成交, 序号1的卖出委托还剩余3手。 第二笔成交情况:序号2的买入委托价格为不高于3.76元,数量为6手。 在卖出委托中,序号1—3的委托的数量正好为6手,其价格意愿也符合要求,正好成交, 其成交价格在3.60元—3.76元的范围内,成交数量为6手。应注意的是, 第二笔成交价格的范围是在第一笔成交价格的范围之内,且区间要小一些。 第二笔成交后剩下的委托情况为:

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    第三笔成交情况:序号3的买入委托其价格要求不超过3.65元,而卖出委托序号4的委托价格符合要求,这样序号3的买入委托与序号4的卖出委托就正好配对成交,其价格为3.65元,因卖出委托数量大于买入委托,故序号4的卖出委托仅只成交了4手。第三笔成交后的委托情况如下:   序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    完成以上三笔委托后,因最高买入价为3.60元,而最低卖出价为3.65,买入价与卖出价之间再没有相交部分,所以这一次的集合竟价就已完成,最后一笔的成交价就为集合竟价的平均价格。剩下的其他委托将自动进入开盘后的连续竟价。 在以上过程中,通过一次次配对,成交的价格范围逐渐缩小,而成交的数量逐渐增大,直到最后确定一个具体的成交价格,并使成交量达到最大。在最后一笔配对中,如果买入价和卖出价不相等,其成交价就取两者的平均。 在这次的集合竟价中,三笔委托共成交了12手,成交价格为3.65元,按照规定,所有这次成交的委托无论是买入还是卖出,其成交价都定为3.65元,交易所发布的股票G的开盘价就为3.65元,成交量12手。 当股票的申买价低而申卖价高而导致没有股票成交时,上海股市就将其开盘价空缺,将连续竟价后产生的第一笔价格作为开盘价。而深圳股市对此却另有规定: 若最高申买价高于前一交易日的收盘价,就选取该价格为开盘价;若最低申卖价低于前一交易日的收盘价,就选取该价格为开盘价;若最低申买价不高于前一交易日的收盘价、最高申卖价不低于前一交易日的收盘价,则选取前一交易日的收盘价为今日的开盘价。

  • 2、连续竟价

    连续竟价的成交方式与集合竟价有很大的区别,它是在买入的最高价与卖出的最低价的委托中一对一对地成交, 其成交价为申买与申卖的平均价。现仍以股票G为例,某一时刻委托报价的排序情况如下:

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    委托买入的最高价为序号1的3.80元,卖出最低价为序车1的3.52元,这一对优先成交,其价格为两者的平均(3.80+3.52)/2,故产生的价格为3.66元,成交数量只有2手。交易所发布的即时行情为:成交价3.66元,数量2手。这一笔成交后剩余的委托报价排序情况如下:

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    第二笔,序号1的卖出价为3.52元,序号2的买入价为3.76元,这一对可以成交,成交价格为两者的平均值,价格为3.64元,数量为3手。该次成交后的委托情况为: 序号委托买入价数量(手)序号委托卖出价数量(手)

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    第三笔,序号2的卖出委托与序号2的买入委托可以成交,成交均价为3.67元,成交量1手。成交后剩下的委托情况如下:

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    以后的成交情况为:序号2的买入委托与序

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    第四笔,

    序号委托买入价数量(手)序号委托卖出价数量(手)

    img

    END: 无法再成交

  • 2 期货市场 、 simnow 模拟撮合

    期货的撮合交易是如何成交的,市价单及限价单的成交机制?修改 最近在用simnow的模拟账号写CTP来测试策略,对期货交易所的撮合交易原则有点困惑,几个问题请教一下:

    • 1.我同时下两个多单,一个单子以这一个tick的成交价加上一定的偏移量,另一个单子按照涨停价下单,最终两个单子都能成交,但是以涨停价下单的单子的成交价永远都比第一个单子要高,这是什么原因,如果实盘跑的话是不是也是这种情况,撮合的逻辑是什么样的?

    • 2.由于模拟盘无法下市价单,想请问一下市价单的成交优先级是什么样的。假设这样的情况 同一时刻有三个分别买一手的买单:A.2300 B.涨停价2400 C.市价单 此时的卖单为 a.2380 1手 b.2300 1手 c.2350 1手 d.2380 1手 e. 2400 1手 交易所会如何撮合成交的?

    • 3.是不是可以这么理解,市价单对多以买5价成交,以涨停价挂单是牺牲了成交价格来保证成交成功率,所以在同一时刻比起其他单子它的成交价格是最差的 同一时刻的单子: 成交成功率:涨停价挂单>市价单>小幅的限价单 成交的价格好坏:涨停价挂单<市价单<小幅的限价单修改

    • simnow的撮合是这样的

      • 回复1: 首先Simnow的撮合是假撮合。不能作为成交规则的判定依据。

        一般的模拟系统有两种最基本的成交规则:撮合成交,见价成交。

        如果采用撮合成交。那么模拟系统里的行情是由买卖对手的委托单决定的。所以与真实系统里的行情价格是不一样的。

        另一种是见价成交。行情从真实系统里取,严格遵循真实行情的走势。委托单只要符合成交价格,不需要对手盘就能成交。

        据我了解Simnow应该是选择了变种的撮合成交方案。

        先是遵循撮合成交的交易规则,这时行情必然出现偏移。然后在一定的时间周期(几十秒或者一分钟为一周期),强行根据实际行情纠正模拟盘的行情。

        Simnow本来就是用来调试CTP-API的,不要拿来做交易规则或者策略的验证。

        市价单和张跌停的委托单优先级是一样的。买单以卖一价成交,卖单以买一价成交。

        只不过需要特别指出的是,这里的卖一买一价是交易所的撮合系统里最新卖一买一价,而你电脑上看到的卖一买一价是几毫秒甚至几秒前的卖一买一价。

      • 回复2: SimNow只能用来验证策略逻辑大体是不是对的,如果用来测PnL,就是大坑特坑了。撮合机制不真实,时有报单超时登陆超时现象,如果你的策略交易频率略高一点的话,结果都会受到严重的影响。

        按照“价格优先,时间优先”的原则撮合成交,市价单的买单以即时卖1价(最优价)撮合成交,卖单以即时买1价撮合成交

问题及评论转载自 知乎


更多内容