图1 订单驱动市场示意图
订单簿的研究属于市场微观结构研究范畴,市场微观结构理论以微观经济学中的价格理论和厂商理论作为其思想渊源,而在对其核心问题——金融资产交易及其价格形成过程和原因的分析中,则用到了一般均衡、局部均衡、边际收益、边际成本、市场连续性、存货理论、博弈论、信息经济学等多种理论与方法。
从国外的研究进展来看,市场微观结构领域以O’Hara为代表,大部分理论都是基于做市商市场(也就是报价驱动市场),例如存货模型和信息模型等。今年来,实际的交易市场中,订单驱动已经逐步占据上方,但专门针对订单驱动市场的研究还比较少。
国内证券市场和期货市场都属于订单驱动市场,下图是股指期货合约IF1312的Level_1行情订单簿截图。从上面直接获得的信息并不多,基础信息就包括买一价、卖一价、买一量和卖一量。在国外的某些学术论文中,和订单簿对应的还有信息簿,包括最明细的订单撮合数据,包括每个订单的下单量、成交价、订单类型等信息,由于国内市场不公开信息簿的信息,因此超高频交易我们只能依赖订单簿。
图2 股指期货主力合约Level-1订单簿
订单簿的动态建模,主要有两种方法,一种是经典计量经济学方法,另一种是机器学习方法。 计量经济学方法是一种经典的主流研究方法,例如研究价差分析的MRR分解、Huang和Stoll分解等, 研究订单持续期的ACD模型,研究价格预测的Logistic模型。
机器学习在金融领域的学术研究也非常活跃,比如2012年的《Forecasting trends of high_frequency KOSPI200 index data using learning classifiers》是一种常见研究思路,利用技术分析常见的指标(MA、EMA、RSI等),引入机器学习的分类方法进行市场预测。但这种做法对订单簿动态信息挖掘不足,也就是说,利用订单簿动态信息进行高抛交易的研究在国内外都还比较少,这是很值得深入研究的领域。
图3 基于机器学习的订单簿建模的系统架构图
SVM 是从线性可分情况下的最优分类超平面发展而来的。对两类分类问题,设训练样本集为(xi,yi),i=1,2…l,l为训练样本的个数,xi为训练样本, yi属于{-1,+1}是输入样本xi的类标记(期望输出) 。SVM 算法的出发点是寻找最优分类超平面。
最优分类超平面不但能将所有样本正确分开(训练错分率为0) ,而且能够使两类间的边际(margin)最大,边际定义为训练数据集到该分类超平面的最小距离之和。最优分类超平面意味着对测试数据平均分类误差最小。
如果存在d维矢量空间中的一个超平面:
F(x)=w*x+b=0
能够将上述两类数据分开,则称该超平面为分界面。这里w*x为d维矢量空间中两个矢量w和x的内积。
如果分界面:
w*x+b=0
能使到该分界面最近的两类样本之间的距离(Margin)最大,就称该分界面为最优分界面。
图4 SVM二分类最优分界面示意图
对最优分界面方程进行归一化,可以使得两类样本之间的距离
于是对于任意一个样本,都有
要得到最优分界面,除了满足上面的式外,还要最小化。
从而SVM问题的数学模型为:
SVM最终变成一个最优化的规划问题,学术界的研究热点主要集中快速求解、推广到多分类、实际问题应用等。
SVM最初是针对二分类问题提出的,根据目前的实际应用要求,将其推广到多分类问题。已有的多分类算法包括一对多、一对一、纠错编码、DAG-SVM 和Mult i-class SVM分类器等。
表1 基于Level行情订单簿的指标库
根据订单簿在Δt内的中间价ΔP变化大小分为“涨”“跌平”三个类别。
下图是主力合约IF1311在10月29日的中间价动量分布,每天有32400个tick行情数据。
在Δt=1tick的情况下,中间价变化绝对值0.2大约有6000次,变化绝对值为0.4大约有 1500次,变化绝对值为0.6大约有150次,变化绝对值为0.8大于有50次,变化绝对值大于等于1大约有10次。
在Δt=2tick的情况下,中间价变化绝对值0.2大约有7000次,变化绝对值为0.4大约有3000次,变化绝对值为0.6大约有550次,变化绝对值为0.8大约有205次,变化绝对值大于等于1大约有10次。
我们认为,变化绝对值大于等于0.4的情况下,是潜在交易机会。在Δt=1tick情况下,每天大约有1700次机会;Δt=2tick情况下,每天大约有4000次机会。
图5 IF1311在10月29日中间价变化分布图(Δt=1tick)
图6 IF1311在10月29日中间价变化分布图(Δt=2tick)
由于SVM模型在大样本情况下的训练复杂度比较高,训练时间较长,我们选择的历史行情数据跨期相对比较短,以IF1311合约在10月的Level_1行情数据为例,验证模型的有效性。
Δt取值:Δt越小,对交易细节要求越高,当Δt=1tick时,实际交易中很难获得收益,为了对比模型的效果,这里分别取值1tick、2tick、3tick;
模型评价指标:样本准确率、检验准确率、预测时间。 表2 以1tick数据预测1tick的效果
表3 以1tick数据预测tick2的效果
表4 以2tick数据预测2tick的效果
从上面三个表格的数据,我们可以得到下一些结论: 最高准确率大概达到70%,在准确率达到60%,可以转化为交易策略。
表5 模拟策略在10月31日的交易情况
全天交易次数605次,包含手续情况下,盈利次数339次,胜率56%,净利润11814.99元。
理论上的滑价是14520元,这部分是策略实战的关键,如果下单细节控制得更加精细,那么可以减少滑价,提高净利润,如果下单细节控制不当,或者市场波动异常,滑价会更大,而净利润会减少,因此高频交易的成败往往取决于细节的执行。
图7 模拟策略在10月31日的收益
原创声明:本文系宽客公众号作者原创,转载请注明出处。
evan1987 好文,正在学习怎么研究订单薄