基于C-SVM的期货订单簿量化择时交易策略研究陈有为
2019-06-26郭建峰杨昀昶
郭建峰 杨昀昶
摘 要:文章利用机器学习支持向量机算法中的C-SVM模型来对期货进行择时,构建基于C-SVM的期货订单簿择时交易策略模型,以上海黄金期货主力合约订单簿数据,引入交易止损机制进行回测评价,通过与实际真实交易信号对比,可以发现基于该模型预测的择时交易信号准确率较高,从而验证基于C-SVM的期货订单簿量化择时交易策略是有效的,可以辅助决策期货交易,选择合适时机进行期货合约买卖盈利。
关键词:C-SVM;期货;订单簿;择时交易
全球证券市场的交易机制一般分为报价驱动市场和订单驱动市场两类,前者由做市商提供交易流动性,后者由交易指令订单提供流动性。中国的股票和期货市场都属于订单驱动。目前,针对订单驱动市场的订单簿动态建模及构建交易策略,主要是通过金融计量学和机器学习两种方法来完成。本文将采用机器学习方法中的支持向量机(Support Vector Machine,SVM),依据期货的订单簿建模,研究期货的择时交易策略。SVM最早由Vapnik提出,是一种分类学习算法。对于一个分类问题,单层前向问题可解决线性分类问题,多层前向问题可解决非线性问题。但这些只能解决问题,并不能保证得到分类器是最优的。基于统计学习理论的SVM方法可以从理论上实现对不同类别间的最优分类,通过寻找最坏的向量,达到最好的泛化目的。本文首先介绍并推导 SVM模型,并解释为何选择该模型做期货走势的预测,利用非线性SVM模型中的 C-SVM模型来对期货进行择时。通过自动地对涨跌两种状态进行分类学习,使计算机自动识别未来可能的状态,达到择时的目的。本文实证部分,以上海黄金期货为例,以价格信号为样本属性,通过MATLAB编程,并利用台湾大学林智仁教授等人开发的LibSVM工具箱,首先,对数据预处理,其次,选择最优惩罚系数c和核函数半径g,自动选择最优时间窗口Window,最后,利用实际收益率、回撤率等指标对模型进行评测,完成C-SVM的期货订单簿择时交易策略的实证研究。
1 SVM與订单簿
SVM比一般的机器学习算法更加简单易用,直接将一个复杂的时间序列预测问题,转化为一个简单的分类问题,可以给出明确的交易信号。SVM的特点是,输入样本后将分类器的结果与1/﹣1比较,大于1或小于﹣1可确定类属,介于两者之间则不予分类。通过最大化几何间隔来训练分类器,只有支持向量会参数模型训练。对于线性不可分的样本通过映射到高维空间来实现线性可分,这个映射关系不好确定,核函数则很巧妙的解决了这个问题,也正是因为核函数的引入,SVM有效地克服了维度之咒。C-SVM是非线性模型,拟合非常贴近市场现实。基于这些特点,可以预见SVM在期货市场可能具有较高的预测准确性。另外,为了克服少量离群点的干扰,可在模型中加入松弛变量和惩罚因子,对于分布不均的样本,可通过惩罚因子来进行调节。每个样本都有一个松弛变量而惩罚因子则是固定的,需要由用户输入,核函数的参数也需要用户输入,这就涉及一个参数寻优的问题(网格暴力法、粒子群、启发式)。
订单簿的研究属于金融证券市场的微观结构范畴,从国外研究情况看,金融市场的微观结构理论研究主要集中在做市商交易市场,这可能主要与西方国家大多证券市场是做市商交易制度有关,针对订单驱动市场的微观结构理论研究明显不足。而近年来,以中国为代表的订单驱动市场占全球交易份额越来越大,因此围绕订单簿相关研究非常有必要。图1是股指期货主力合约IF1906的 Level-1行情订单簿截图,可以看出,能直接获取的盘口信息、交易撮合的详细信息并不多,也就是说国内的期货市场公开的交易信息比较少,因此,交易过程中交易策略主要依赖订单簿。
2 模型构造过程
2.1 数据初始化
首先,利用xlsread函数将订单簿相关数据导入data矩阵中。这些数据包括上海黄金期货的开盘价、收盘价、最高价、最低价、成交量5项计量指标以及一个时间轴信息。尽量选择简单易用的数据样本,便于分析处理,也降低了整体算法的时间复杂度。本文选择2014年1月1日~2016年12月30日729个交易日内的订单簿数据。
其次,对数据进行预处理。包括对数据矩阵归一化处理,和构造一个Label 指标,在这个指标中1代表上涨,﹣1代表下跌。
如果不对数据矩阵进行矩阵归一化处理,算法复杂度将会上升,同时也会降低算法的拟合优度。而Label则给该模型一个重要的参考变量矩阵,以便于机器识别,并进行分类学习处理。
2.2 参数寻优
利用工具箱中的外部函数SVMcgForClass.m函数进行参数寻优,找到最小的方差值bestacc,惩罚系数bestc和核函数半径bestg。
SVMcgForClass函数的原理是,暴力解出最优的c和g,即通过不断尝试不同的c和g的值来选择出最小方差对应的c与g。c是惩罚系数,即对误差的宽容度。c越高,说明越不能容忍出现误差,容易过拟合。c越小,容易欠拟合。c过大或过小,泛化能力变差。g是选择RBF函数作为kernel后,该函数自带的一个参数。隐含地决定了数据映射到新的特征空间后的分布,g越大,支持向量越少,g值越小,支持向量越多。支持向量的个数影响训练与预测的速度。
最终,模型参数寻优的运行结果:Bestacc=82.280 2,bestc=256,bestg=0.125 0。其中,bestc:最佳的参数c,bestg:最佳的参数g。
2.3 建立C-SVM基础模型
通过工具箱中svmtrain.m函数建立模型,即建立已经静态优化过的SVM模型。model是训练得到的模型,是一个结构体。
model= svmtrain(train_label, train_matrix, [‘libsvm_options]);
其中,train_label表示训练集的标签,train_matrix表示训练集的属性矩阵,libsvm_options是需要设置的一系列参数,各个参数可参见工具箱说明书。如果用回归的话,其中的﹣s参数值应为3,﹣h为0表示C-SVM。
2.4 模型动态优化
模型动态优化,主要体现在选择最优滑窗长度。利用工具箱中的Bestwindow.m函数,选择SVM模型中的最优滑窗长度。所谓滑窗,即滑窗置信度,利用量测数据的置信度对量测数据进行滑窗式检测,初步判别无效数据,然后对支持向量机的核函数进行改进,利用数据自身的特征信息对核函数进行加权处理,再用改进的SVM对数据进行再分类处理,最终确定无效数据。本文的最优滑窗主要应用于止损策略中,利用滑窗长度的平均收益率,用来平滑止损程度,滑动窗口选择过程如图2所示。
2.5 C-SVM模型预测择时交易信号
在得出最佳时间窗口长度,可以得出SVM模型預测交易信号,并与实际信号对比。利用工具箱中的SVMforcast.m函数可得出SVM模型分类后的买卖交易信号,并可以通过对比分析预测交易信号与实际交易信号间的关系,可获知基于C-SVM模型预测择时交易信号准确率较高。
3 模型回测与评价
完整的交易策略中,要有适当的止损机制,因此C-SVM模型回测,需要引入止损策略进行回测。最简单的止损机制就是如果模型给出的预测信号和当日实际走势相悖偏离达到一定程度(阀值)时,进行止损交易。这里选取10个点(约相当于黄金价格 3%)作为止损阀值。
通过一些常用的测评指标对本模型进行回测,发现本策略可以在长期交易中获得超额收益,因此本策略是有效的,即成功地将复杂的时间序列预测转化为二分类问题。回测黄金期货走势与最大回撤区、累计收益的关系如图3所示。
各项回测指标结果:
最优滑窗敞口=65
最优准确度=0.759 82
夏普比率=9.249
信息比率=0.089 75
最终获利点数=794.95
最大回撤=0.009 403 3 最大回撤时间为第604到617个交易日
预期最大回撤=0.002 858 7
从各项回测评价指标,我们最终可以得出的结论:最大回撤=0.009 403 3,夏普比率=9.249。整个模型收益情况跑赢CRB指数,同时最大回撤控制得当,夏普比率良好,因此可以认为基于C-SVM的期货订单簿择时交易策略有效。
4 结语
本文构建了基于C-SVM(支持向量机)的机器学习在期货Level-1订单簿的动态模型,通过历史行情数据的验证,并将预测期货择时交易信号与真实交易信号对比,取得了较好的效果,证明了机器学习方法可以应用在期货订单簿的交易策略中。未来研究可以将期货订单簿数据扩展到超高频甚至是毫秒级的量化交易策略,从单边交易策略扩展到套利交易模型,从国内市场扩展到全球高频交易市场,执行方式可考虑计算机程序化、自动化交易。
基金项目:陕西省教育厅专项科研计划项目;项目名称:基于高频交易限价订单簿动态演化的随机建模与交易策略研究;项目编号:17JK0688。陕西省“十三五规划”项目;项目名称:数字金融背景下陕西省金融科技人才培养研究;项目编号:SGH18H173。西安邮电大学教学改革研究项目;项目名称:面向中国量化投资与对冲基金的金融工程人才培养模式改革与创新研究;项目编号:JGA201727。
作者简介:陈有为(1976— ),男,陕西西安人,讲师,硕士;研究方向:金融工程,计算金融与风险管理。
[参考文献]
[1]陈孝全,刘波.基于支持向量机粒化的证券指数预测[J].计算机技术与发展,2015(4):11-12.
[2]汤凌冰.机器学习在量化投资中的运用研究[M].北京:电子工业出版社,2014.
[3]周胜臣,施询之,瞿文婷等.基于微博搜索和SVM的股市时间序列预测研究[J].计算机与现代化,2013(4):22-26.
[4]徐国祥,杨振建.PCA-GA-SVM模型的构建及应用研究—沪深300指数预测精度实证分析[J].数量经济技术经济研究,2011(2):135-147.
[5]彭丽芳,孟志青,姜华.基于时间序列的支持向量机在股票预测中的应用[J].计算技术与自动化,2006(3):88-91.
[6]HUANG W,NAKAMO R,SHOUYANG W.Forecasting stock markets movement direction with support vector machine[J].Computers&Operations Research,2005(10):2513-2522.
[7]KIM K J.Financial time series forecasting using support vector machines[J].Neuro Computing,2003(1/2):307-319.
Abstract:This article build futures orders based on C-SVM thin timing trading strategy model, with the Shanghai gold futures contract order data, main introduction evaluating back-test stop-loss trading mechanism, compared with the actual real trading signals, can be found based on the timing trading signal high accuracy of the model, so as to verify the futures orders book based on C-SVM quantitative timing trading strategy is effective, auxiliary decision-making futures trading can, choose appropriate time for buying and selling futures contracts to make a profit.
Key words:C-SVM; futures; order book; timing trading