策略概要 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策略重点在于对特征的选择以及参数的优化步骤,而本文并没有对该步骤进行深入研究和统计分析。有兴趣的读者可以对这两步骤进行优化,或许会得到预想不到的结果呢! —- 编译者/作者:点宽DigQuant 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
点宽专栏-SVM带你玩转期货品种
2020-12-31 点宽DigQuant 来源:区块链网络
LOADING...
相关阅读:
- 币生泊君:12.31ETH午间走势分析及操作策略2020-12-31
- 12.31比特币午间后短线实时单策略2020-12-31
- 八哥币圈:12/31午间ETH多单策略恭喜跟单操作的实仓客户完美获利19个点2020-12-31
- 余勋论币12.31BTCETH止盈通知再次拿下千点行情以太25点2020-12-31
- 刘哥论币:12.31日以太策略分析2020-12-31