前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Matlab量化投资】支持向量机择时策略

【Matlab量化投资】支持向量机择时策略

作者头像
量化投资与机器学习微信公众号
发布2018-01-29 16:26:47
1K0
发布2018-01-29 16:26:47
举报

推出【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。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化投资与机器学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SVM支持向量机择时策略
  • 核函数分类
  • 策略简介
  • 策略参数配置
  • 策略主程序
  • 策略回测
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档