嘉宾简介:郭剑光中央财经大学金融研究所副所长 郭剑光博士,中央财经大学民泰金融研究所首席金融工程师。多年来从事资产定价、量化交易、市场微观结构、全球宏观分析等领域的研究。曾多次主持或参与上海证券交易所联合研究计划有关“市场微观结构、市场交易机制和市场质量”等问题的研究课题。近期翻译完成量化交易领域畅销书《打开量化投资的黑箱》,发起“复杂金融行为跨学科讨论组”,涉及神经经济学、生态经济学、量子力学等学科。 新浪浙江财经讯 中国第六届期货分析师大会于2012年4月21日-22日在中国杭州举行,本届论坛的主题是“创新•服务•提升——与企业共同成长”。中央财经大学金融研究所副所长郭剑光博士22日下午在金融工程理论与应用分论坛上发表了“现代金融工程在对冲基金的作用---基于限价指令簿(LOB)信息的交易策略”的演讲, 他表示我们交易中要获利无非你在大的概率上做出正确的判断。时间周期不一样,空间幅度也不一样,所做出的推断也不一样。我做出的推断比3月的要丰富的多,有价格的信息、有量的信息,还有成交前的一些报单信息,我们提出这样一个问题,是否可以在价格变化前,通过分析当前的限价报单,这个数据有多大。经过我们的分析,这个回答是肯定。 以下为文字实录: 郭剑光:非常容幸参加本次论坛,我讲自己的一点心得,做了一点小小的模拟。我这次讲的主题,其实原始思想并不是我的,是来自于国际金融学前沿的一些学者研究的一些思想,只不过我有机会把它用国内的数据稍微做了一些检验,我相信这个策略如果感兴趣的同仁们,也可以去自己做一些检验,用不同的交易标的都可以做。 这次演讲因为时间有限,可能涉及到的一些技术细节不会展现。需要说明的一点,我们业界内关于术语没有完全统一,关于指令有的叫做订单,有的叫做报单,有的叫做订单簿,也即报单库。 关于这个策略的一个主要内容分成六大块,大家拿到U盘上面有一个PDF文件介绍,当然不是最新的,我今天带给大家看的是最新的。我主要讲的时间是我添加到PPT上的。 关于用这个报单库来做交易,首先问题是什么,问题是我们在交易中要获利无非与解决这个问题,我们交易中要获利无非你在大的概率上做出正确的判断。因为你的资金规模不一样,你的交易频率和交易周期是不一样,有的是基于年操作,有的基于半年、有的3个月。时间周期不一样,空间幅度也不一样,所做出的推断也不一样。我做出的推断比3月的要丰富的多,有价格的信息、有量的信息,还有成交前的一些报单信息,我们提出这样一个问题,是否可以在价格变化前,通过分析当前的限价报单,这个数据有多大。经过我们的分析,这个回答是肯定。 问题的关键是如何在给定的报单库状态下对价格变化的条件概率和限价报单成交的条件概率作出估计,对报单库、报单流等市场信息如何建模就是这类策略的基础。对于提交指令成交的概率,你要做一个估测,我们这个策略的建模核心就在这里。你要回顾一下交易机制,我们现在国内布置了交易,在电子交易的机制下,市场的交易有什么影响。我们大家知道在报单库上的成交机制,首先是价格优先,然后是时间优先。在这种情况下,我们看一下简图,报单库和报单流的机制是什么?这是一个队列,下面是买价一、买价二、买价三,上面是卖价一二三,所有的队列都有撤单机制。卖价和买价之间有市场的中间价。对于这样一个队列,我们怎么样用数学模型去描述,这是一个非常典型的排队模型,我们到银行去存钱、取钱都要排队,这是日常生活中的一种排队问题,我们同样可以把定单库上的定单看到队列,每一个报价位置都可以看成一个队列窗口,每一个限价报单都可以看成是一个排队的请求,然后市价报单可以看成是对窗口请求的服务。在这个里面有两个非常重要的窗口,就是最优报买价和最优报卖价。如果你想插队的话,只能报出最优的一个价格。我们在看到报单库的时候,是从最优报买价还是到最优报卖价去排队。这个里面有两个非常重要的时间是需要去估测的。第一是你提交完限价报单之后,在最优卖价或者最优买价之后,你要去评估排在你前面的要多长时间被成交完,仅仅是你成交完之后才轮到你成交,而且并不意味着你获利,你要获利还要最优报价和最优买价的变动。这样的话还要依赖于第二个时间,就是排在你后面的这些报单,多长时间能够被成交,就是这样两个非常重要的时间,这是非常典型的应用数学里面的排队论问题。 排队论中非常常见的问题,你要估测时间,你要根据历史数据在统计上估算,市价保单以多大的速度可以到达,排在你后面的报价定单,多快的速度会被消化掉,派在你前面的定单多快速度会被消化掉,我们参照文献,做出这样一个推测。 在这个图中我们可以看到,这是我们策略提交的保单,这是排在我们策略前的队列,这是排在我们策略后面的队列,如果我们自己不选择撤销报单的话。排在我们前面的策略有两个重要的参数,因为我们排在我们前面的报单也有可能被撤销,所以要估测对比的速度。还要估测排在我们后面的保单,因为根据价格优先,他只有可能被撤单。还有就是等我策略定单成交完以后,排在我后面的定单也会被成交。仅仅是买价上面的参数评估完之后,还是不行;还要看最优卖价上的参数,就是我们对手队列的保单的参数,有这样几个参数,一个是被离队的速度,还有就是我们撤单离队的速度,这个是决定我们对手报价上升的力量。这个速度是组织对手报价价格上升的速度。我这边讲的是有方向的策略,我们利用这个信息,不仅可以做方向型策略,还可以做市策略。 交易条件是这样,队列1被清空,策略提交保单被成交;队列2,排在我们后面的定单没有被清空,我们要估测这个事件发生的概率;队列3被清空,价差扩大。由于我们在最优报价上提交的报单要想获利的话,只有整个报价往上提升。因此我们还要有第四个队列,高于当前最有报价要大于1个报价单位的佳味上形式新的限价保单队列。同时它被清空以后,还有一个比最优买价最高的定单,这个队列已经形成了,这样我们至少可以获得一个单位的盈利。这是报单流和报单库的形成机制。 关于这方面的研究,是最近5到10年的一个非常重要的内容。下面是我列出的一些文献。刚才讲的这个研究,原始的思想是来自于Rama的论文,他们当时用东京交易所和纳斯达克股票的数据,我们用的是大商所2011年到2012年的数据。简单定义一下,我们拿到的这个Level2数据是一条一条的记录,每一条都是一个事件,我们要做一些预处理,通过报单库数据,我们要发现每一个事件是什么事件,主机上的数据我们是看不到的,我们从终端上看到。基于这几个重要假设,当然都是在概率意义下来去表明它的核心度。第一个假设,我们相信重担上的报单库记录就是大商所撮合系统主机上的报单库,因为我们大众投资者不知道大商所向公众发布的增量数据还是快照数据,我们相信终端软件是如实的复制了大商所的主机信息。 第二个假设,只要有成交,每一条成交记录表示一次市价报单的到达,其方向由成交记录中的平均成交价格来指示,如果大于前一条记录上的最优买卖价的中间价,则认市价买保单,反之亦然。 假设三,每一条报单库记录相对于前一条报单库记录在最优报价上的报单变化大于成交量,则有一次最优保甲上的撤单,反之则有一次最优报价上的报单提交;非最优报价上的报单增加或减少就表示一次报单提交或撤销。这是对于数据的一些预处理,这些预处理拿到数据以后,都是很容易在任何一个产品上实现的,数据库软件都可以处理。 基于这些数据,在这些数据的基础上,我们就可以做一些。我快速给大家过一下后面做的一些,后面主要是技术细节,大家可以在PDF文件上看到。刚才我们讲到队列,这些队列有几个重要的参数,第一个重要的参数就是限价订单的到达率,好比我们在研究银行排队的队伍的时候,我们要看估计未来1秒钟会有多少新的客户到来,这是第一个场所——i,通过我们的经验都知道,我们做交易的时候都有一种比较着急,希望尽可能在最优价上成交,也就意味着离最优的报买价越远的距离的报卖价报单的到达速度比较慢,近的距离到达率比较快。我们假设有这样一个反向关系,当然这个有两种假设,一个是假设反向关系。还有一个假设是假设不仅受到价格差位置的影响,还受到市场的一些情绪,或者市场其他的一些因素的影响。我觉得不同的报单流建模差异就在这里,我们做的研究也是按照这个函数来做的,下一步我们可能会进一步改进,将到达速度的建模做一些其他的建模,包括一些新的因子加进去。 第二个参数就是市价报单到达速度,还有一个是撤单的速度,限价到达速度和报价到达速度不一样的地方,市价到达依赖于报单量,报单量越大越快。这是一个非常简单的统计估测的图,这是下面的数据,这是我们参照的一篇原始思想论文的估测,这是东京交易所做的估测,我们对大商所做一个估测。这里要说明的是,我们的订单都是把它进行一个单位化处理,并不是按照原始的一手,而是按照一个平均的订单规模,然后进行一个优化处理,这就意味着我们不同的和约,经过一个平均的订单规模的单位化处理以后,所以不同的合约都可以放在一起估测。比如说合约规模不同,在订单上看到的数量级可能差10倍,我们用平均的订单规模处理以后,所以在这里面看到都无差异了。所以看到大约估测一下到达率,距离最优报价一个Q是0.93,真正在做交易的时候,要基于最新的数据参数。 这是关于建模,下面简单介绍一下统计推断和交易策略。统计推断,排在我们前面订单被成交的速度和排在后面的成交速度。 我们的数据做的有一些小小的问题,这里我主要是借用一下我们参照的数据,看到横轴是1到6,纵轴是概率,这个意思是说这个报单库的,就是事件发生转移了,我们刚才讲到每一条Level2数据的记录,我们称之为事件的发生,事件的发生导致了报单库状态发生了改变,根据这样的一些所谓的公式来进行定义,随着扩大,都表现出呈现反向关系,这是一个Q的情况,2到5个Q的情况。 在状态发现变化情况下,我们就可以做出一些策略,这里是关于中间价,就是我们刚才讲到的排在我们前面的订单被成交,排在我们后面的订单没有被成交,然后我们对手的订单被成交的概率,我们用经验数据来分析一下。这个策略是这样的,当我们看到这个B表是最优买报价,A表是最优卖报价。根据历史数据做出来的平行报单量的单位,中间价上升的概率。如果卖订单是一个单位,买单位是2个单位。买订单的量是12345上升,中间价的概率也在上升。如果买订单是一个概率,卖订单也在上升,中间价在下跌。 除此以外,中间价概率估测完以后,我们还要估测策略成交概率。策略提交的订单被成交的概率,这也是一个概率分布,有了这些数据以后,我们就可以考虑一些实际做策略,我们这里做的是一些模拟。我这边举一种情景,有很多种情景都可以下单,当一个价差S=1,最优买价报单大于3个单位,最优卖价报单是一个单位,我们以比较大的概率可以判断出中间价上升,我们可以提交一个单位的市价买订单,把最优报卖价上的那个报单吃掉,这个时候价差从一个单位变成两个单位。这个时候只要有一个市价买指令,就立刻把最优的报卖价继续提高,这样的话价差就变成3个点,我们发现有一个比较大的概率出现,0.62的概率。这个平仓有两种情景,一种是有获利的平仓,一种是止损。只要报买价比我们提交订单的时候的报卖价的价格高了,立刻可以平仓。因为我们刚才讲到,一个Q的获利可以把我的交易成本吃掉了。 立刻止损,我们提交完订单以后的报买价,经过了这段时间还和报买价相同,并且这个时候报买价的订单已经衰减为一个单位的时候,这个时候要立刻提交止损指令。这个时候最优报买价会下降一个点,这个时候你再处理就要损失2个点。这个地方有一个很重要的假设,就是认为我们的终端上看到的报单库信息和主机上的报单库信息为0,即使是不为0,我们这个可以延迟在可以控制的范围。这个是在没有大幅上升或者下降的情况下,是价格波动比较温和的情况下,我们通过报单库信息来做出的概率预测。 最后是L&L分析,每一轮交易的盈亏概率分布。可以看到这个策略大概百分之五十几的概率是赔掉一个单位的,百分之三十几的是可以赚到一个单位。如果获到的数据更丰富的话,可以获得更大的概率。这个图也是来自于原始论文的,但是我们做的结果和这个结果非常接近。 最后补充几点,关于策略的不足和模型的可能的拓展。我们假设买价报单和卖价报单,它是对称的。但事实上买订单和卖订单的到达率可能不同,撤单率也不同,还有一个是时间,到达率并没有随着时间的改变。此外还有卖价趋势性和相关性等等。还有报单流是不是独立的质疑,如果不独立,这个就存在一些缺陷。因为一些大宗交易的时候,可能在一组价格位置上的报单流到达或撤销高度相关。还有一些其他的通用性的问题,就是这个交易策略的适应性问题,你交易策略产生的价格影响。还有检验策略的盈利性的时候,没有区分样本内和样本外的数据。当然这些不足也是有待于同仁们去思考和改进的。 |