中信期货研究|量化CTA 2023-02-01 报告要点 报告将机器学习和技术分析理论结合,从可解释角度运用机器学习方法进行价格预测,研究发现,对于国内期货市场,表现较好的算法为SVM、随机森林、KNN、决策树,表现较好的品种为焦煤、铜、白银、铝、豆油、豆粕、菜粕。 机器学习与技术分析结合策略研究 投资咨询业务资格: 证监许可【2012】669号 中信期货商品指数走势 摘要: 115 113 111 109 107 240 中信期货十年期国债期货指数 中信期货沪深300股指期货指数 中信期货商品指数 220 200 180 160 140 105 机器学习可以分为无监督学习、监督学习、半监督学习、强化学习,其中监督学习适 103 合进行价格预测,报告使用KNN、SVM、决策树、随机森林等8种监督学习方法进行预测。 根据形态理论,当前的价格走势会符合一种形态,进而判断未来价格走势。如果将形态理论扩展,从历史中找到与当前最相似的行情,不一定是某种形态,那么根据技术分析假设中的历史会重演,就可以判断未来价格走势。而机器学习方法如KNN等算法与该思想较为一致,可以辅助进行价格判断。 在前两部分分析基础上,第三部分对国内上市时间较长的期货品种进行策略构建。以过去一段时间的价格作为各个特征值,以未来一段时间的涨跌作为标记,各种算法相当于将过去多个交易日的形态映射到一个空间中进行分类,进而预测未来价格的涨跌。 从算法和品种两个角度进行分析,算法中多个算法表现最好的品种为焦煤;各品种中表现较好的算法多为SVM和线性回归。通过组合各算法下和各品种板块收益曲线,发现板块组合卡玛比率超过了7,跨板块组合的效果较好。 从整体卡玛比率和年化收益率两个角度来看,表现较好的算法均为SVM、随机森林、KNN、决策树,表现较好的品种均为焦煤、铜、白银、铝、豆油、豆粕、菜粕,可以主要对这些品种使用机器学习方法辅助预测和策略构建。 风险提示:模型过度优化;策略逻辑失效 商品量化组 研究员:魏新照 021-80401773 weixinzhao@citicsf.com 从业资格号F3084987 投资咨询号Z0016364 120 2020-09-07 2020-09-21 2020-10-13 2020-10-27 2020-11-10 2020-11-24 2020-12-08 2020-12-22 2021-01-06 2021-01-20 2021-02-03 2021-02-24 2021-03-10 2021-03-24 2021-04-08 2021-04-22 2021-05-11 2021-05-25 2021-06-08 2021-06-23 2021-07-07 100 重要提示:本报告难以设置访问权限,若给您造成不便,敬请谅解。我司不会因为关注、收到或阅读本报告内容而视相关人员为客户;市场有风险,投资需谨慎。 目录 摘要:1 一、机器学习介绍4 (一)机器学习分类4 (二)监督学习介绍5 二、技术分析应用11 (一)三大假设11 (二)形态理论12 三、机器学习与技术分析结合策略回测13 (一)策略构建13 (二)策略回测14 1、算法角度14 2、品种角度18 3、整体角度33 (三)回测总结35 四、总结与建议36 免责声明37 图表目录 图表1:机器学习根据任务类型分类4 图表2:机器学习根据算法类型分类5 图表3:KNN算法图示6 图表4:SVM算法图示7 图表5:决策树算法图示8 图表6:随机森林算法图示9 图表7:线性回归算法图示9 图表8:Sigmod函数10 图表9:BP神经网络算法图示11 图表10:整理与反转形态12 图表11:品种分类13 图表12:KNN各参数组合的JM测试集卡玛比率14 图表13:各算法下各个参数组合的卡玛比率平均值及算法下最优品种收益率曲线15 图表14:各算法下最优品种收益率参数17 图表15:算法最优组合收益率曲线18 图表16:算法最优组合收益率曲线参数18 图表17:黑色板块各品种下各算法卡玛比率均值及最优算法收益率曲线19 图表18:黑色板块各品种下最优算法收益率曲线收益率参数20 图表19:黑色最优组合收益率曲线21 图表20:黑色最优组合收益率曲线参数21 图表21:有色板块各品种下各算法卡玛比率均值及最优算法收益率曲线22 图表22:有色板块各品种下最优算法收益率曲线参数23 图表23:有色最优组合收益率曲线24 图表24:有色最优组合收益率参数24 图表25:化工板块各品种下各算法卡玛比率均值及最优算法收益率曲线24 图表26:化工板块各品种下最优算法收益率曲线参数26 图表27:化工最优组合收益率曲线27 图表28:化工最优组合收益率参数27 图表29:软商品板块各品种下各算法卡玛比率均值及最优算法收益率曲线27 图表30:软商品板块各品种下最优算法收益率曲线参数28 图表31:软商品最优组合收益率曲线29 图表32:软商品最优组合收益率参数29 图表33:农产品板块各品种下各算法卡玛比率均值及最优算法收益率曲线29 图表34:农产品板块各品种下最优算法收益率曲线参数31 图表35:农产品最优组合收益率曲线32 图表36:农产品最优组合收益率参数32 图表37:全品种最优组合收益率曲线33 图表38:全品种最优组合收益率参数33 图表39:各算法及各品种下所有品种平均卡玛比率34 图表40:各算法及各品种下所有品种平均年化收益率35 半监督学习 强化学习 一、机器学习介绍 这一部分主要介绍机器学习基础,并对一些可以应用的监督学习方法进行介绍。 (一)机器学习分类 TomMichaelMitchell在1997年给出机器学习一个形式化的定义:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T中任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。 机器学习致力于如何通过计算手段,利用经验来改善系统自身的性能。在计算机系统中,经验通常以数据形式存在,利用计算机从数据中产生模型算法,即“学习算法”,是机器学习的主要内容。如果把经验数据提供给学习算法,就能产生相应的模型,在面对新情况时,模型会提供相应的判断。 简而言之,机器学习是从经验数据中获得模型,进而预测未来。 一般的机器学习流程是输入数据、训练模型、模型预测,输入的数据是数据集,其中每一条记录称为一个示例,示例中包含对象的属性,如果示例信息中包含标记,那么该示例称为样例。 机器学习根据任务类型,可以分为无监督学习、监督学习、半监督学习、强化学习。其中无监督学习是训练数据中不包含标记,该任务可以再分为聚类和降维;监督学习是训练数据中包含标记,如果标记为离散值,则该任务是分类任务,如果是连续的,该任务是回归任务。半监督学习介于监督学习和无监督学习之间,用大量的未标记训练数据和少量的已标记数据来训练模型。强化学习以环境反馈 (奖/惩信号)作为输入,以统计和动态规划技术为指导的一种学习方法。 聚类 降维 分类 回归 无监督学习 监督学习 机器学习 图表1:机器学习根据任务类型分类 资料来源:中信期货研究所 深度学习 前馈神经网络、卷积神经网络 根据算法类型,机器学习可以分为传统统计学习和深度学习。 传统统计学习基于严格的数学推理,具有可解释性强、运行速度快、可应用于小规模数据集的特点。如SVM、逻辑回归、决策树等。 深度学习是基于神经网络的机器学习方法,包括前馈神经网络、卷积神经网络等。这类方法可解释性较差,强烈依赖于数据集规模,但在语音、视觉处理方面很成功。 传统统计学习 SVM、逻辑回归、决策树、朴素贝叶斯 机器学习 图表2:机器学习根据算法类型分类 资料来源:中信期货研究所 机器学习在期货策略应用方面,对于价格预测,显然上涨和下跌是数据集的标记,因此可以使用监督学习和深度学习模型,再结合金融理论对期货价格涨跌进行预测。 (二)监督学习介绍 这一部分主要对可用于期货价格预测的8种监督学习方法进行介绍,包括KNN、SVM、朴素贝叶斯、决策树、随机森林、逻辑回归、线性回归、BP神经网络,这些方法可以与技术分析理论有机结合。 (1)KNN KNN算法多用于分类问题,算法逻辑是先记录所有已知数据,再使用一个距离函数,找出已知数据中距离未知事件最近的K组数据,最后根据这K组中类别最多的作为预测结果。 距离函数有欧式距离、曼哈顿距离、闵氏距离、汉明距离,在后文中预测价格时,使用欧式距离。 该算法计算成本较高,一般需要对原始数据进行标准化处理。 KNN算法 10最近点 8 预测点 6 4 2 0 -10 -8 -6 -4 -2 0 2 4 6 8 10 -2 -4 -6 -8 -10 特征1 图表3:KNN算法图示 特征2 资料来源:中信期货研究所 以图中为例,假设分类任务有纵横坐标两个特征,当K=1时,与预测点距离最近的点如图所示,那么预测点就归为最近点的分类。 (2)SVM SVM即支持向量机,一般应用于二分类问题。它将向量映射到一个更高维的空间里,在这个空间里建立有一个最大间隔超平面,在分类超平面的正负两边各找到一个离分类超平面最近的点(也就是支持向量),使得这两个点距离分类超平面的距离和最大。 SVM算法优化就是为了求出一个最优的分类超平面,使得所有训练点到超平面距离大于支持向量,而且支持向量距离超平面的距离越大越好。 现实中数据并不一定线性可分,这是需要使用核函数将原始空间映射到高维空间。 在线性分类模型中,所有样本必须全部划分正确,称为“硬间隔”,但是在实际情况中,很难找到合适的核函数使得训练样本在特征空间中线性可分,缓解这个问题的一个办法是允许支持向量机在一些样本上出错,称为“软间隔”,求解出“软间隔支持向量”。在进行期货价格预测时,我们使用软间隔支持向量。 SVM算法 14 12 10 8 6 4 2 0 0 2 4 6 8 10 12 14 16 图表4:SVM算法图示 支持向量 软间隔 支持向量 资料来源:中信期货研究所 如图所示,SVM算法进行二分类,重点在于确定软间隔支持向量。 (3)朴素贝叶斯 该算法是建立在贝叶斯理论上的分类方法,它的假设条件是自变量之间相互独立,即假定某一特征的出现与其它特征无关。 朴素贝叶斯的模型易于建造,并且在分析大量数据问题时效率很高。虽然模型简单,但很多情况下工作得比非常复杂的分类方法还要好。 算法主要是使用先验概率和条件概率计算后验概率,把问题转化为易于观察解决的问题。 贝叶斯基本公式如下: 𝑃(𝐴|𝐵)= 𝑃(𝐵|𝐴)∗𝑃(𝐴) 𝑃(𝐵) 其中P(A)为先验概率,一般是人主观确定,P(B)也为先验概率,在应用中不重要,甚至无需得出数值,P(B|A)是条件概率,也是似然概率,一般通过历史数据统计确定,P(A|B)是后验概率,是我们求解的目标。 以上是朴素贝叶斯的计算公式,在实际中,对于二分类问题,并不需要具体计算出概率值,而是只用比较各分类概率大小。 对于特征是连续数值的分类问题,朴素贝叶斯可假设特征符合正态分布,进而计算联合概率密度,再比较大小即可。 (4)决策树 决策树符合人类解决问题的自然处理机制,是基于树结构来进行决策的,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最 图表5:决策树算法图示 后每个叶节点代表一种分类结果。 决策树算法首先从训练集的多个属性中,筛选出分类能力较强的特征,然后从根节点出发,计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点,对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。 决策树常常还有预剪枝、后剪枝、限定高度操作,以此提高训练效率、降低过拟合风险。 下面是周志华老师《机器学习》中,根据西瓜的