楼主: 点宽DigQuant
760 0

[其他] 【点宽专栏】SVM带你玩转期货品种 [推广有奖]

  • 0关注
  • 4粉丝

本科生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.5552
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
990 点
帖子
35
精华
0
在线时间
34 小时
注册时间
2020-12-14
最后登录
2023-3-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

策略概要


SVM支持向量机


SVM学习问题可以表示为凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最小值。而其他分类方法(如基于规则的分类器和人工神经网络)都采用一种基于贪心学习的策略来搜索假设空间,这种方法一般只能获得局部最优解。


SVM支持向量机量化交易策略


根据MATLAB提供的机器学习SVM支持向量机系列工具包,根据预测标签0和1设计交易信号:信号为0表示做空;信号为1表示做多。在商品期货上,该SVM策略表现一般,在金融期货上,该策略表现各异。其中,在沪深股指上表现最好,年化收益率达24.65%,胜率达54.98%。


策略优化


仅仅使用SVM进行趋势预测得到的胜率或者收益都不是很理想,我们需要增加信号过滤条件来优化该策略,最简单的是增加双均线策略:当5日均线大于30日均线时,过滤做多信号;当5日均线小于30日均线时,过滤做空信号。对策略进行优化之后,策略回测表现有一定提高。其中,策略优化后在沪深股指上表现有:年化收益率为27.76%,胜率高达60%
策略研究
Logistic回归:一种广义线性回归模型
1.1 概念

logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。


假设函数为:

其中x是n维特征向量,函数g就是logistic函数。则函数图像如下:


从而,当我们要判断一个新来的特征属于哪个类时,只需求h_θ (x)即可,若大于0.5,就是y=1的类,反之,属于y=0的类。


1.2 线性分类的一个例子

如下图:


在2维空间中找到一个分类超平面,将空间上的点分类。直线就是一个超平面,将不同类型的两种点分开。



超平面可以用分类函数f(x)=w^Tx+b表示:

当f(x)等于0的时候,x便是超平面上的点;

   f(x)大于0的点对应y=1的数据点;

   f(x)小于0的点对应y=-1的数据点。

而寻找最合适的超平面,就是使得这条直线离直线两边的数据的间隔最大  (虚线上的点称为支持向量)。


1.3 最大间隔分类器的定义 最大间隔分类器的目标函数可以定义为:max γ根据间隔的定义有:该目标函数可以转化为:


从线性可分到线性不可分


2.1 拉格朗日对偶性变换


对于之前的目标函数:由于求1/ω 的最大值相当于求1/2|ω |^2的最小值,所以上述目标函数等价于:这是一个凸二次规划问题。
可以通过拉格朗日对偶性变换到对偶变量的优化问题,即线性可分条件下支持向量机的对偶算法,这样做的优点是:一者对偶问题往往容易求解,二者可以自然的引入核函数,进而推广到非线性分类问题。
通过拉格朗日对偶性变换得到的目标函数为(若x_i是支持向量的话,红色部分为0):

2.2 特征空间的隐式映射:核函数


核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数的优点就是它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,也就是说避免了直接在高维空间中的复杂计算。  多项式核函数:  高斯核函数:  线性核函数

SVM支持向量机


3.1 概念

支持向量机(support vector machine)是一种分类算法。它通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。
SVM学习问题可以表示为凸优化问题,因此可以利用已知的有效算法发现目标函数的全局最小值。而其他分类方法(如基于规则的分类器和人工神经网络)都采用一种基于贪心学习的策略来搜索假设空间,这种方法一般只能获得局部最优解。
逻辑模式(logistic)以及决策树模式都是使用直线方法,SVM使用非线性方法。SVM结构流程图如下:

3.2 基于MATLAB的SVM交易策略

MATLAB函数:


SVMstruct=svmtrain(

trainData,

statesData,

'kernel_function',

'rbf'

)


  trainData:表示每行代表一个训练样本;

  statesData:表示data中每个样本所属种类(只能有两个类);

  'kernel_function':表示SVM的方法;

  'rbf':表示'kernel_function'方法的具体实现。


y=svmclassify(

SVMstruct,

trainData(end-lags2+2:end,:)

)


  y=1:上涨

  y=0:下跌



SVM策略回测


4.1 回测设置

(1)品种设置:单品种交易。

(2)资金分配:固定手数,每次下单1手。

(3)回测时间:20150101- 20180101

(4)回测频率:60分钟


4.2 品种选择


点宽量化平台auto-trader(AT)是一个多品种量化交易平台,它支持期货标的品种交易。目前AT可以获取共48个商品期货品种,与国内市场上的商品期货数量吻合,这些商品期货分别是:上海期货交易所14种、大连商品交易所16种、郑州商品交易所18种。根据品种流动性,我们选择2017年成交量前10的商品期货进行回测。其流动性如下图所示:



如上图,成交量排名前10的有:螺纹钢、铁矿石、豆粕、甲醇、PTA、玉米、热轧卷板、天然橡胶、菜籽粕、镍。


而对于金融期货方面,中金所有5个品种的主力合约,分别为中证、沪深、上证、长债和国债。


4.3 策略信号

特征选择:以前一天的最高价、最低价收盘价为特征,预测当天的涨跌情况。


根据预测标签0和1设计交易信号:信号为0表示做空;信号为1表示做多。


4.4 回测结果


对前面选出的10个商品期货品种进行单品种回测,回测结果如下:



由表可知,总体来讲,该SVM策略在商品期货上表现都不理想。我们来看看SVM策略在金融期货上的表现。


对于金融期货,我们对5个金融期货主力合约进行单品种回测,回测结果如下:



由表可得,该SVM策略在金融期货表现各异,其中,在沪深股指上表现最好,年化收益率达24.65%,胜率达54.98%。


SVM在沪深股指(IF)回测的权益曲线如下:



策略优化


仅仅使用SVM进行趋势预测得到的胜率或者收益都不是很理想,我们需要增加信号过滤条件来优化该策略,最简单的是增加双均线策略。

双均线过滤信号如下:


  1)当5日均线大于30日均线时,过滤做多信号。

  2)当5日均线小于30日均线时,过滤做空信号。


回测结果如下

对于10个商品期货品种有:



对于5个金融期货品种有:



由上两表可得,对策略进行优化之后,策略回测表现有一定提高,但效果并不明显。

SVM优化后的沪深股指(IF)回测的权益曲线如下:

结论
1、该SVM策略在商品期货上表现一般,在金融期货上表现各异。
2、对策略进行优化时,增加双均线策略进行信号过滤,回测表现有一定提高。
3、该SVM的特征选择过于简单粗暴,并没有对更多特征进行统计分析和择优,这可能是策略表现不好的原因之一。
4、该SVM并没有进行参数优化操作,这也可能是该策略表现不好的原因之一。
5、SVM策略重点在于对特征的选择以及参数的优化步骤,而本文并没有对该步骤进行深入研究和统计分析。有兴趣的读者可以对这两步骤进行优化,或许会得到预想不到的结果呢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:SVM Logistic回归分析 logistic回归 Logistic函数 logistic

已有 1 人评分经验 收起 理由
wwqqer + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 10:04