【交易技术前沿】止损指令参与连续竞价撮合研究 / 黄胜辉

 




本文选自《交易技术前沿》第十六期 (2014年9月)。


黄胜辉1,2
1上海期货信息技术有限公司 测试中心 上海 201201
2上海财经大学 国际工商管理学院 上海 200433
E-mail :shenghui.huang@mail.sh.cn


要:
止损策略作为衍生品市场中比较重要的一个交易策略,已经广泛的应用到交易活动中。对于从交易终端触发的止损指令,在探知行情发生不利变动达到一定的程度时,在交易终端自动转换为限价或者市价交易指令下达入交易所系统,该模式已经为广大投资者所熟悉并得到广泛的应用。如果交易所支持止损指令的话,无疑对于交易所系统将会是一个比较大的挑战。基于此,我们在分析国际上比较先进的交易所的做法后,尝试从撮合机制的角度进行优化,给国内交易所提供参考。关键词:止损指令;连续竞价;止损逻辑
1.概况
1.1.止损指令

就市场投机者而言,一旦依据交易策略完成建仓后,发现市场价格朝着与预期相反的方向波动,特别是趋势越来越明显的时候,就需要考虑止损了。止损策略的实现,需要止损指令的支持,一般分为投资者终端的止损指令以及交易所支持的止损指令两种,前者是终端依据行情的变化趋势以及止损价格的设置、买卖方向的判断进行指令转换,转换成交易指令报入交易所系统。后者则将这种指令转换的过程放在交易所系统中进行,转换过程更加迅速,下文所讨论的止损指令均指的是后者。
举例而言,投资者看多市场,买入交易,形成多头持仓,之后行情一路下探。如果市场价格继续下跌,会造成持仓损失进一步扩大,此时投资者采取止损策略,下达止损指令,设置止损价位,如果行情突破该止损价位,则止损指令触发,转换成为限价指令或者市价指令进入指令簿。
止损指令在表现形式上,与一般的限价指令、市价指令相比,多了一个触发价格要素,即存在两个价格—触发价格、指令价格。该指令进入交易所系统之后,并不直接进入指令队列,而是进入止损队列。对于止损指令队列,依照“触发价格优先、时间优先”的顺序进行排序。即对于买止损指令而言,在进入止损指令队列之后,触发价格较低的容易被新的上轮撮合成交价触发(上轮撮合成交价大于等于触发价则触发该笔止损指令),排在前面;对于卖止损指令而言则相反。对于触发价格相同的止损指令,依照指令报入的时间先后顺序进行排队。这样,对于同一个买卖方向的止损队列(针对同一合约),如果首笔止损指令不能被触发的话,则该队列所有的止损指令均不会被触发。
如果该止损指令在报入交易所系统之后,被系统新产生的成交价格触发,则转换成限价指令。对于止损限价指令而言价格为该指令的价格,对于市价止损指令而言,如果系统设置了保护机制,则该指令价格为触发价加减保护点。具体而言,买止损指令触发后的指令价格为触发价加上保护点,反之则扣减保护点。如果系统不设置保护机制,则市价止损指令触发后的指令价格可以视作相对于投资者而言最劣的价格。

1.2. 研究意义

投机者止损策略的成功实现,需要交易所在业务上支持止损指令,并辅以合适的交易制度。不然,仅仅依靠交易者终端,一方面会提高交易者的交易成本,另一方面,在行情突破市场认定的“支撑点位”或者“阻力点位”时,瞬时会产生大量的交易指令,对于交易所系统会形成很大的压力,一旦不能及时完成撮合,会产生“堵单” 现象。
当然,交易所系统支持止损指令也是有利也有弊的。益处主要有如下几点:
1、
降低交易者的交易成本,保护投资者利益。交易所系统支持止损指令,在成交价格以及成交速度上有比较优势,能够有效的降低交易成本,保护投资者利益。
2、
提升市场吸引力。交易所支持止损指令,风控做得好的话,一方面在市场规则上贴近于国际市场,比较容易吸引境外投资者,另一方面对于境内投资者也是有益的。
弊端主要有如下几点:
1、
对于交易所系统构成压力。一旦交易所系统支持止损指令,则意味着在每一次撮合过程完成,即系统内指令处于稳定平衡的状态之后,都需要针对存在成交价格变动的合约相关的止损指令,进行一次扫描,判断价格的变化是否会触发止损指令。如果满足触发条件,则需要将止损指令插入相应的队列,进行排队,并判断是否会存在新的成交机会。因此,会增加交易所系统的性能消耗。
2、
有可能造成市场瞬时流动性不足。由于指令价格与止损价格的差异,以及市场行情继续波动的影响,触发的止损指令产生的成交,有可能会带来市场价格的瞬时大幅波动,造成市场瞬时流动性不足。
基于此,作为市场自律监管的主题,交易所在针对止损指令进行制度设计时,需要权衡利弊。比较理想的境况就是:既强化了投资者保护意识,又规避了瞬时流动性不足的风险,同时又减轻了交易所系统的压力。在此背景下,从撮合机制的角度展开针对止损指令的研究,是非常必要的,也是很有意义的一件事情。
2. 算法研究
就国际衍生品市场而言,CMEGroup的交易制度是比较成熟和完备的,经常被其他交易所当作学习和参考的样本。下面我们就从该集团在止损指令方面的交易制度入手,作为制度分析的基础。
CMEGroup的电子盘Globex交易实行的是指令驱动的撮合模式,该模式下竞价交易分为两个典型的交易阶段:集合竞价、连续竞价阶段。这两个阶段均支持止损指令。前者主要涉及理论开盘价的计算,后者则涉及到投资者止损策略的实现。由于前期已经针对前者的优化展开研究,本次研究将先针对前者作一下简单的回顾,然后针对后者渐次展开。

2.1. 理论开盘价的计算

在本杂志第12期(2013年第3期)中,本人发表的一篇小论文–《止损指令参与集合竞价撮合研究—基于Globex的算法优化》中针对集合竞价阶段理论开盘价的计算过程进行了优化,优化后的流程图如下图所示:



图1 优化的计算理论开盘价流程图
即将理论开盘价的计算分为四个阶段:
1、
先将指令簿中的限价指令按照“价格优先、时间优先”的顺序在指令簿队列中排序,并针对买队列按价格从高到低的顺序累积计算累积买量,针对卖队列按价格从低到高的顺序计算累积卖量。注意,市价指令以及限价市价指令均在下达入交易系统,完成一个轮次的撮合之后就已经转换成了限价指令。
2、
基于止损指令的触发条件以及成交限价的特点,作出“止损指令如果成交,成交价必然在触发价格与指令价格形成的可能成交区间内”的判断,将止损指令依照队列顺序挂在指令簿队列上,仅仅在可能成交区间上增加累积买卖量。
3、
合并计算指令簿队列各价位上的累积买卖量。
4、
依据规则计算理论开盘价,Globex的计算规则存在六条,前两条依次为:最大成交量、最小剩余量。
当然,在产生完理论开盘价之后,还要依据产生出的理论开盘价针对止损指令作出是否触发的判断,如果触发,转换成限价指令进入订单簿队列,否则剔除出订单簿队列,依旧挂在止损队列上。

2.2. 止损指令参与的连续竞价规则介绍

由于连续竞价阶段采取的是逐笔撮合的做法,止损指令如果不能触发的话,是不能进入指令簿的。因此,止损指令的撮合一定是在系统完成一轮撮合过程之后,遍历止损指令队列,发现满足触发条件才完成的。
对于已经触发的止损指令,依照“价格优先、时间优先”的顺序进入订单簿中。这里的价格为指令价格,对于限价止损指令而言则为限价,对于市价止损指令而言则为触发价加减一个保护点,即买指令的限价为触发价加保护点,卖指令则为触发价减保护点。如果能够成交,则计算成交价格。如果成交价格与上一笔成交价的价差,超出系统规定的阈值(例如:黄金合约设定的10 美元/金衡盎司),则启动止损逻辑(熔断机制的组成部分),合约状态转入“预留”的市场状态,采用集合竞价的办法来产生比较公平的市场价格。
如果一次新的成交价触发了多笔止损指令,系统在进行遍历时采取全部触发模式,处理流程则如下图所示:



图2 止损指令参与连续竞价流程图
关于止损逻辑,存在三个参数:合约“预留”状态的次数、系统可接受的价差阈值、集合竞价申报的时间。对于每一轮次,首先定时器启动,进入集合竞价申报(下达、修改、撤销指令)阶段,集合竞价申报的时间片用完,则定时器结束,系统计算理论价格。如果不产生价格,则合约恢复到“连续交易”状态,否则判断该价格与上笔成交价的价差是否在阈值范围内。如果是,则系统认可该理论价格,完成撮合过程。否则系统可接受大价差阈值扩大,定时器时间片加大,合约重新进入“预留”的市场状态,即该状态值加1,循环该过程。
需要特别说明的是,如果是期货主力合约,一旦启动止损逻辑,则以该期货合约为标的的所有期权合约,即我们通常所说的“期权系列”,也一同启动止损逻辑,进入集合竞价申报阶段。
其处理流程如下图所示:



图3 止损逻辑处理流程图
2.3. 规则分析

止损逻辑的设计,属于熔断机制的一部分,是基于防范因止损指令的成交引起合约价格大幅波动而造成瞬时流动性不足的场景而设计的,利用集合竞价机制来化解该风险的做法,是值得借鉴的。
连续竞价阶段,对于一个合约而言,在完成一个撮合过程之后,如果存在多个止损指令满足触发条件,采取的是“全部触发”模式。即所有已触发的止损指令全部转换为限价指令(市价止损指令触发时由于系统设置的保护价机制也可视为限价指令)进入指令簿,可能使得指令簿上最优买卖价不平衡,即最优买价大于等于最优卖价,按照连续竞价“逐笔撮合”的特点,最优买价指令和最优卖价指令成交,按照成交价取较早报入的指令的价格,有可能产生一个成交价格,也可能产生很多个成交价格。如果是前者,撮合效率高,成交的止损指令所对应的投资者,成功实现了止损策略,节约了指令搜索成本(一旦他们从交易终端下达新的指令来止损的话,交易价格对投资者而言一般会更劣)。如果成交的价格不会引起后续止损指令的进一步触发的话,则不存在“瞬时流动性不足”的问题。而如果是后者,很多个成交价格极有可能触发更多的止损指令,犹如多米诺骨牌一样,产生连锁反应,难以收敛。如果这个过程持续的时间比较长的话,“瞬时流动性不足”现象一旦发生,就会在投资者之间引起不公平。

2.4. 规则优化

基于上面的分析,需要从流程上进行优化,以化解止损指令触发后参与撮合形成“瞬时流动性不足”的困局。
可以考虑借鉴集合竞价撮合的做法。即将满足条件的所有止损指令触发后,转换成限价指令,将可能引起连锁反应后续止损指令合并考虑,产生一个价格。如果该价格产生,则不会存在后续止损指令触发的问题,也就不存在什么“瞬时流动性不足”的困扰了。如果没有产生价格,那么,说明系统本来就是稳定的。当然,产生成交价格之后,还需要判断该价格与上一笔成交价的价差是否在系统预设值的阈值内。如果是,则认可该价格,否则启动止损逻辑,进入集合竞价申报阶段,合约设定为“预留”的市场状态,后续过程与前述的止损逻辑处理流程相同。
这样处理是可以解释的。首先,从业务上讲,不违背连续竞价阶段“逐笔撮合”的理念。这里的逐笔对于市场参与者而言,针对的是进入交易所系统的指令,至于止损指令采取什么方式处理并没有特别的规定。其次,从技术上讲,对于止损指令的集合竞价撮合方式的处理,最有效率,一步到位,化解了“瞬时流动性不足”的困局,维护市场公平性。
其流程图如下图所示:



图4 优化后的止损指令参与连续竞价处理流程图
这样处理,就扩大了止损逻辑的内涵,对于一个交易合约,对于所有的满足触发条件的止损指令,触发进入指令簿之后,判断能否成交,如果能够成交,则按照集合竞价撮合的方式,计算一个理论价格,然后判断价差是否在系统预设阈值内,后续处理方式不变。

2.5. 规则实例

下面就以CMEGroup交易的黄金品种2014年6月的合约GCM4(GC代表黄金,M代表六月合约,4代表2014年)为例,分别阐述着两个阶段的规则处理。根据官网上的说明,配置参数如下表所示:


品种代码撮合算法价格绑定止损逻辑阈值保护点

GC(黄金品种在电子盘市场Globex以及公开喊价市场的代码)FIFO(类似于境内市场的“价格优先、时间优先”规则)12(买指令价格不高于C-Last加上该值,卖指令价格不低于C-Last扣减该值;C-Last为最新价、最优买卖价三者的中间值)10(触发止损指令成交时成交价与上一笔成交价之差的最大值,超过该值则不接受该成交)5(对于止损市价指令而言,买止损指令的价格为止损价加上该值,反之则扣减该值)

表1黄金期货品种参数表
假设在交易节开市阶段(类似于我们境内的连续竞价阶段),对于合约GCM4,当前成交价格,1308(美元/金衡盎司),最高买价格为1307,最低卖价格为1308.2,因此,C-Last为1308,此时对于新下达的指令的价格限制最高买价为1320,最低卖价为1296.我们截取指令簿中该价格区间的价位行情如下表所示:


买数量价格卖数量

………

01318.55

013185

013135

01308.55

01308.210

1013070

1013060

1013050

………

表2 指令簿部分价位指令表
针对该合约下达两笔止损指令,以及一笔限价指令,如下表所示:


序号类型方向触发价格价格数量

Q1带保护止损卖
1308.2(1303.2)1

Q2限价止损买1308.21318.522

Q3限价止损卖13081307
24

Q4限价
买无1308.25

表3 C-Last为1308时下达的指令表
在最后一笔限价指令下达入交易系统之后,完全成交,成交价为1308.2,此时触发了Q1、Q2两笔止损指令,订单簿价位行情如下表所示:


买数量价格卖数量

………

221318.55

013185

013135

01308.55

01308.25

1013070

1013060

1013050

01303.21

………

表4 止损指令触发后的指令簿部分价位指令表
此时,按照“成交价取较早的指令的价格”的原则,则Q2指令在从1303.2到1318的价格区间上都能与对手方成交,与上一撮合过程的成交价1308.2的价格差满足止损逻辑的阈值10以内。但在与1318.5上则不能成交,其与1308.2的价差超过阈值范围,启动止损逻辑,进入集合竞价阶段。
按照我们优化后的逻辑,将触发的止损指令全部放入指令簿,进行集合竞价撮合,计算理论价格,价位上的累积买卖量如下表所示:


累积买量买数量价格卖数量累积卖量

……………

22221318.5526

2201318521

2201313516

2201308.5511

2201308.256

2201308025

32101307*2425

4210130601

5210130501

5201303.211

……………

表5 止损指令触发后的价位累积买卖量表
根据理论开盘价的规则,得到理论价格――1307。该价格与上一笔成交价1308.2的价差为1.2,在止损逻辑设定的阈值范围内,系统接受该成交价格,该轮撮合过程完成。
3. 结论与建议
3.1. 研究结论

基于前面的研究,我们得出如下结论:
1、
在技术层面,连续竞价阶段,交易所可以很好地支持止损指令的触发以及撮合。具体算法为:在完成一个撮合过程之后,遍历止损指令,如果存在满足触发条件的止损指令,则先将这些指令全部触发,然后采取集合竞价撮合的做法,计算出一个理论价格。如果该价格与上一笔成交价的价差不在阈值范围内则启动止损逻辑。这样,既化解了交易所系统的性能压力,也缓解了因止损指令的触发造成“瞬时流动性不足”的问题。
2、
在业务层面,连续竞价阶段,交易所为了支持止损指令,需要引进熔断机制,这样不仅有利于降低交易者的止损成本,提升市场吸引力,也有利于吸引境外投资者参与到境内的衍生品市场交易中来,从而形成具有一定影响力的定价中心。

3.2.政策与建议

就境内衍生品市场而言,国际化的步伐越来越快,建立与国际市场接轨的市场规则体系,吸引境外投资者参与衍生品交易,充分发挥价格发现功能,构建影响力越来越强的区域定价中心,成为交易所国际化战略的一部分。止损指令的支持,以及配套规则的实施,对于扩大交易所市场吸引力,推动国际化方面,是具备参考价值的。声明
关于止损指令的研究,本人基本上是在闲暇之余囫囵吞枣,精力有限,观点难免偏颇,本着讨论、学习的原则,把对于它的理解,整理成文,便于进一步的学习和讨论。不代表任何交易所以及公司的观点,仅代表个人目前的认识水平。当然,也感谢在查阅资料以及讨论过程中朋友们给予的支持和鼓励!
参考文献:
[1] Globex Product Reference【R】.
http://www.cmegroup.com
[2] Stop Logic 【R】.
http://www.cmegroup.com/confluence/display/EPICSANDBOX/Stop+Logic
[3] 黄胜辉,《止损指令参与集合竞价撮合研究》,《交易技术前沿》【J】.2013年第3期(总第12期)
[4] 中国证监会期货监管部,2009年:《Globex电子交易系统规则》,《美英主要期货交易所交易规则选编》【M】(第一版)(上下册)



免责声明



本公众号内容仅供参考。对任何因直接或间接使用本公众号内容而造成的损失,包括但不限于因有关内容不准确、不完整而导致的损失,本公众号不承担任何法律责任。如有问题请反馈至tech_support@sse.com.cn。



--------------------------
上海证券交易所为证券公司、基金管理公司等市场参与者及相关行业机构提供交易技术支持与服务,包括日常交易技术支持、技术交流研讨、市场调查反馈、证券信息技术知识库、测试等服务。



点击"阅读全文"了解详情


    关注 上交所技术服务


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册