Matlab量化投资支持向量机择时策略
Posted 量化投资与机器学习
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab量化投资支持向量机择时策略相关的知识,希望对你有一定的参考价值。
推出【Matlab量化投资系列】
机器学习
所谓机器学习,其实就是根据样本数据寻找规律,然后再利用这些规律来预测未来的数据(结果)。
但是,直到今天,机器学习也没有一种被大家广泛认同的理论框架产生,这个也是机器学习被大家诟病的原因之一:它是没有理论基础的。
目前机器学习的方法大概可以分为以下几种:
1、经典的参数统计估计方法:基于传统统计学,需要已知的样本分布形式,局限性比较大。
2、经验非线性方法:利用已知样本建立非线性模型(如人工神经网络),克服了传统参数估计方法的困难,但缺乏统一的数学理论。
3、统计学习理论(SLT):专门研究小样本情况下机器学习规律的理论,核心概念是VC维概念,解决了神经网络结构选择、局部极小点等问题。支持向量机(SVM)就是基于这一理论产生的。
SVM支持向量机择时策略
支持向量机
支持向量机是用来解决分类问题的。
先考虑最简单的情况,豌豆和米粒,用晒子很快可以分开,小颗粒漏下去,大颗粒保留。用一个函数来表示就是当直径d大于某个值D,就判定为豌豆,小于某个值就是米粒。
d>D, 豌豆;d<D, 米粒
在数轴上表现为d左边就是米粒,右边就是绿豆,这是一维的情况。
但是实际问题没这么简单,考虑的问题不单单是尺寸。
一个花的两个品种,怎么分类?
假设决定他们分类的有两个属性,花瓣尺寸和颜色。单独用一个属性来分类,像刚才分米粒那样,就不行了。这个时候我们设置两个值:尺寸x和颜色y。
我们把所有的数据都丢到x-y平面上作为点,按道理如果只有这两个属性决定了两个品种,数据肯定会按两类聚集在这个二维平面上。
我们只要找到一条直线,把这两类划分开来,分类就很容易了,以后遇到一个数据,就丢进这个平面,看在直线的哪一边,就是哪一类。
例如:x+y-2=0这条直线,我们把数据(x,y)代入,只要认为x+y-2>0的就是A类,x+y-2<0的就是B类。
以此类推,还有三维的,四维的,N维的属性的分类,这样构造的也许就不是直线,而是平面,超平面。
例如:一个三维的函数分类 :x+y+z-2=0,这就是个分类的平面了。
有时候,分类的那条线不一定是直线,还有可能是曲线,我们通过某些函数来转换,就可以转化成刚才的那种多维的分类问题,这个就是核函数的思想。
例如:分类的函数是个圆形x^2+y^2-4=0。这个时候令x^2=a; y^2=b,还不就变成了a+b-4=0 这种直线问题了。
这就是支持向量机的思想。
机的意思就是算法,机器学习领域里面常常用“机”这个字表示算法。
支持向量意思就是数据集种的某些点,位置比较特殊,比如刚才提到的x+y-2=0这条直线,直线上面区域x+y-2>0的全是A类,下面的x+y-2<0的全是B类,我们找这条直线的时候,一般就看聚集在一起的两类数据,他们各自的最边缘位置的点,也就是最靠近划分直线的那几个点,而其他点对这条直线的最终位置的确定起不了作用,所以我姑且叫这些点叫“支持点”(意思就是有用的点),但是在数学上,没这种说法,数学里的点,又可以叫向量,比如二维点(x,y)就是二维向量,三维度的就是三维向量(x,y,z)。所以 “支持点”改叫“支持向量”,听起来比较专业,NB。
所以就是”支持向量机了。
当然了,SVM的实际理论要复杂的多,如果大家有兴趣,就自行去搜索一下参考资料来看啦,由于篇幅关系,这边就不赘述了。
核函数分类
目前应用最多的四类核函数分别为:线性核函数、多项式核函数、高斯核函数和Sigmoid核函数。
选择不同的核函数和参数,SVM的性能会有很大的差异,因此核函数及其参数的选择是SVM理论和应用研究中的一个重要课题。
SVM看上去是比较复杂,但是在实际应用当中还是比较简单的,因为Matlab本身就已经提供了SVM的工具箱(函数),我们直接调用就可以了,当然,大家也可以自行去安装一些其他SVM的工具箱来实现。
那下面我们就开始编写策略啦~
小编所使用的数据、策略回测、交易等等都是来自于国泰安量化终端Quantrader。而小编使用的策略编写语言是Matlab,实现策略不要太简单。
策略简介
订阅中证800指数和相应的成分股,使用了日频最高价、最低价、收益率、成交金额、营业收入增长率和次日停牌因子等数据。
策略流程图如下:
策略参数配置
根据之前提到的订阅的交易代码和数据,使用Quantrader可以直接配置如下:
策略主程序
数据准备好了之后,我们就可以开始码代码啦。
1、训练分类器:
2、预测:
3、交易下单:
策略回测
策略写完了当然要用历史数据回测看看绩效。同样的,使用Quantrader,完成回测。
从过去3年半的绩效来看,这个策略年化收益约50%左右,夏普达到了2。
完整版源代码请点击阅读原文
关注者
从1到10000+
每天我们都在进步
阅读量前10文章
No.01
No.02
No.03
No.04
No.05
No.06
No.07
No.08
No.09
No.10
以上是关于Matlab量化投资支持向量机择时策略的主要内容,如果未能解决你的问题,请参考以下文章
优化分类基于matlab鲸鱼算法优化支持向量机分类(多输入多分类)含Matlab源码 1557期
SVR预测基于混沌灰狼优化支持向量机回归预测SVR模型matlab源码