2023年投资工具专题报告 机器学习与技术分析结合策略研究

一、机器学习介绍

这一部分主要介绍机器学习基础,并对一些可以应用的监督学习方法进行介 绍。

(一)机器学习分类

Tom Michael Mitchell 在 1997 年给出机器学习一个形式化的定义:假设用 P 来评估计算机程序在某任务类 T 上的性能,若一个程序通过利用经验 E 在 T 中 任务上获得了性能改善,则我们就说关于 T 和 P,该程序对 E 进行了学习。 机器学习致力于如何通过计算手段,利用经验来改善系统自身的性能。在计 算机系统中,经验通常以数据形式存在,利用计算机从数据中产生模型算法,即 “学习算法”,是机器学习的主要内容。如果把经验数据提供给学习算法,就能产 生相应的模型,在面对新情况时,模型会提供相应的判断。 简而言之,机器学习是从经验数据中获得模型,进而预测未来。 一般的机器学习流程是输入数据、训练模型、模型预测,输入的数据是数据 集,其中每一条记录称为一个示例,示例中包含对象的属性,如果示例信息中包 含标记,那么该示例称为样例。 机器学习根据任务类型,可以分为无监督学习、监督学习、半监督学习、强 化学习。其中无监督学习是训练数据中不包含标记,该任务可以再分为聚类和降 维;监督学习是训练数据中包含标记,如果标记为离散值,则该任务是分类任务, 如果是连续的,该任务是回归任务。半监督学习介于监督学习和无监督学习之间, 用大量的未标记训练数据和少量的已标记数据来训练模型。强化学习以环境反馈 (奖/惩信号)作为输入,以统计和动态规划技术为指导的一种学习方法。

根据算法类型,机器学习可以分为传统统计学习和深度学习。 传统统计学习基于严格的数学推理,具有可解释性强、运行速度快、可应用 于小规模数据集的特点。如 SVM、逻辑回归、决策树等。 深度学习是基于神经网络的机器学习方法,包括前馈神经网络、卷积神经网 络等。这类方法可解释性较差,强烈依赖于数据集规模,但在语音、视觉处理方 面很成功。

机器学习在期货策略应用方面,对于价格预测,显然上涨和下跌是数据集的 标记,因此可以使用监督学习和深度学习模型,再结合金融理论对期货价格涨跌 进行预测。

(二)监督学习介绍

这一部分主要对可用于期货价格预测的8种监督学习方法进行介绍,包括KNN、 SVM、朴素贝叶斯、决策树、随机森林、逻辑回归、线性回归、BP 神经网络,这些 方法可以与技术分析理论有机结合。

(1)KNN

KNN 算法多用于分类问题,算法逻辑是先记录所有已知数据,再使用一个距 离函数,找出已知数据中距离未知事件最近的 K 组数据,最后根据这 K 组中类别 最多的作为预测结果。 距离函数有欧式距离、曼哈顿距离、闵氏距离、汉明距离,在后文中预测价 格时,使用欧式距离。 该算法计算成本较高,一般需要对原始数据进行标准化处理。

(2)SVM

SVM 即支持向量机,一般应用于二分类问题。它将向量映射到一个更高维的 空间里,在这个空间里建立有一个最大间隔超平面,在分类超平面的正负两边各 找到一个离分类超平面最近的点(也就是支持向量),使得这两个点距离分类超平 面的距离和最大。 SVM 算法优化就是为了求出一个最优的分类超平面,使得所有训练点到超平 面距离大于支持向量,而且支持向量距离超平面的距离越大越好。 现实中数据并不一定线性可分,这是需要使用核函数将原始空间映射到高维 空间。 在线性分类模型中,所有样本必须全部划分正确,称为“硬间隔”,但是在实 际情况中,很难找到合适的核函数使得训练样本在特征空间中线性可分,缓解这 个问题的一个办法是允许支持向量机在一些样本上出错,称为“软间隔”,求解出 “软间隔支持向量”。在进行期货价格预测时,我们使用软间隔支持向量。

(3)朴素贝叶斯

该算法是建立在贝叶斯理论上的分类方法,它的假设条件是自变量之间相互 独立,即假定某一特征的出现与其它特征无关。 朴素贝叶斯的模型易于建造,并且在分析大量数据问题时效率很高。虽然模 型简单,但很多情况下工作得比非常复杂的分类方法还要好。 算法主要是使用先验概率和条件概率计算后验概率,把问题转化为易于观察 解决的问题。

(4)决策树

决策树符合人类解决问题的自然处理机制,是基于树结构来进行决策的,其 中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。 决策树算法首先从训练集的多个属性中,筛选出分类能力较强的特征,然后 从根节点出发,计算所有特征的信息增益,选择信息增益最大的特征作为节点特 征,根据该特征的不同取值建立子节点,对每个子节点使用相同的方式生成新的 子节点,直到信息增益很小或者没有特征可以选择为止。 决策树常常还有预剪枝、后剪枝、限定高度操作,以此提高训练效率、降低 过拟合风险。

(5)随机森林

随机森林是以决策树为基础的集成算法模型,包含多个决策树。在给一个新 的观察值分类时,每一个决策树都会给出一个分类,随机森林则选出投票最多的 分类作为分类结果。 每棵决策树的构建遵循一下流程: 1、如果训练集有 N 条数据记录,那么有放回随机抽取 N 条,作为该棵决策树 的训练集; 2、如果有 M 个特征,则随机抽取 m(m< M)个特征进行训练。 3、每棵树都尽最大程度的生长,并且没有剪枝过程。 重复以上步骤,得到多棵决策树,进而形成随机森林。

(6)线性回归

线性回归是利用连续性变量来估计实际数值,通过线性回归算法找出自变量 和因变量间的最佳线性关系,确定一条最佳直线,这个回归关系可以用 Y=aX+b 表 示,求解过程利用最小二乘法。 线性回归主要有两种:一元线性回归和多元线性回归。一元线性回归只有一 个自变量,而多元线性回归有多个自变量。 以一元线性回归为例,方程为:Y=a*X+b,通过最小化因变量误差和得到 a 和 b 的最佳估计。

(7)逻辑回归

逻辑回归算法名字叫回归,但是是一个分类算法,属于对数线性模型。LR 本质上是一个线性模型再套上一个 Sigmoid 函数,这样把数据映射到【0, 1】区间。

(8)BP 神经网络

神经网络是机器学习中的一种模型,是一种模仿生物神经网络行为特征,进 行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调 整内部大量节点之间相互连接的关系,从而达到处理信息的目的。 生物神经网络中最基本的成分是神经元,每个神经元与其他神经元相连,如 果某个神经元的电位超过一个阈值时,那么它就被激活,向其它神经元发送信号。 常见的神经网络如图表中所示,包含输入层、单隐层、输出层。每个神经元 与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,这种 神经网络也称为“多层前馈神经网络”。

现实任务中的神经网络模型,大多是通过误差逆传播算法(BP 算法)训练得 到,即 BP 神经网络。BP 算法基于梯度下降策略,以目标的负梯度方向进行调整。 对每个训练样例,BP 算法执行如下操作:先将输入示例提供给输入层神经元, 然后逐层将信号前传,直到产生输出层的结果,然后计算输出层的误差,再将误 差逆向传播至隐藏层神经元,最后根据隐层神经元的误差来对连接权和阈值进行 调整,该过程循环进行,直到达到某些停止条件为止。

二、技术分析应用

这一部分主要介绍技术分析的三大假设和形态理论,为后文结合机器学习构 建策略提供理论基础。

(一)三大假设

技术分析第一假设:市场行为涵盖一切信息。 市场的投资者在决定交易行为时,已经充分考虑了影响市场价格的各项因素。 因此,只要研究市场交易行为就能了解目前的市场状况,而无须关心背后的影响 因素。 根据有效市场假说认为,在法律健全、功能良好、透明度高、竞争充分的市 场中,一切有价值的信息已经及时、准确、充分地反映在价格走势当中。 与有效市场理论相似的随机漫步理论则认为,价格形成是市场对随机到来的 事件信息作出的反应,现今的价格已基本反映了供求关系,具有随机漫步的特点, 其变动路径没有任何规律可循。 技术分析第二假设:价格沿趋势运动。 趋势是分析价格走势的核心,当出现某种趋势的时候,下一步往往会沿着这个趋势运行。 根据物理学上的动力法则,趋势的运行将会延续,直到有反转的迹象产生为 止。事实上价格虽上下波动,但终究是朝一定的方向运行,这当然也是牛顿惯性 定律的应用,因此技术分析法希望利用图形或指标分析,尽早确定目前的价格趋 势及发现反转的信号,以掌握时机进行交易并获利。

技术分析第三假设:历史会重演。 当 K 线形态出现过后,后市还可能会再出现这些形态,并且指导意义是相同 的,投资者可根据过去的形态,对后市作出判断。 这个假设是从人的心理因素方面考虑的。期货投资是一个追求利润的行为, 这个动机始终不会改变。在这种心理状态下,人的交易行为将趋于一定的模式, 进而导致历史重演。因此过去价格的变动方式,在未来可能不断发生,值得投资 者研究,并且利用统计分析的方法,从中发现一些有规律的图形,整理一套有效 的操作原则。 技术分析是基于以上三大假设,但是对于假设的合理性也存在较多争议。例 如认为市场价格不可能完全反应所有信息,市场行情千变万化,不可能出现历史 中相同的行情。 基于技术分析的三大假设,形成了很多技术分析方式,那么这其中的形态理 论基于历史会重演,该分析方法最容易与机器学习结合,进而构建相应的策略。

(二)形态理论

形态理论是通过研究价格所走过的轨迹,发现多空双方力量的强弱,进而指 导市场交易。 趋势的方向发生变化一般不是突然来到的,变化都有一个发展的过程。形态 理论通过研究价格曲线的各种形态,发现价格的运动方向。 技术分析形态分为持续整理形态和反转突破形态。前者保持平衡,后者打破 平衡。持续整理形态:包括三角形、矩形、旗形和楔形;反转突破形态:包括头 肩顶(底)、双重顶(底)、圆弧顶(底)、喇叭形以及 V 形反转形态。

根据形态理论,当前的价格走势会符合其中的一种形态,进而可以判断未来 价格走势,但是往往是一个概率事件。 在实操交易中,我们结合当下的价格走势,通过复盘历史行情,找到历史当 中与当前最为吻合的行情或者形态,进而判断未来价格。 如果将形态理论扩展,我们从历史中找到与当前最相似的行情,不一定是某 种形态,那么如果历史会重演,据此我们就可以判断未来价格走势,而通过肉眼 观察的历史相似价格走势,在数量和质量上存在较大的局限性,而机器学习方法 可以解决这一问题,比如 KNN 算法就可以找到历史中多个相似特征的历史价格走 势,辅助判断价格,后文中基于以上分析,将 8 种机器学习方法应用到期货价格 预测中。

三、机器学习与技术分析结合策略回测

这一部分主要是基于第二部分技术分析理论,使用第一部分的 8 种机器学习 方法训练模型,进而形成策略。

(一)策略构建

(1)根据历史会重演理论,历史数据越多越好,训练模型选取的品种主要是 国内期货市场上市时间较长的品种。

(2)各品种使用主力期货合约数据,多数品种数据是从上市日期开始一直到 2022 年,但是铜、铝、豆粕、棉花、天然橡胶从 2004 年开始,豆油、白糖、PTA 从 2006 年开始。 各品种均使用 80%数据作为训练集,剩余 20%作为测试集,构建策略主要是在 测试集上。

(3)根据第二部分技术分析,形态理论中,通过观察前期的 K 线形态,预测 后续将会完成的形态,进而判断价格趋势,那么前期每个交易日的开盘价、最高 价、最低价、收盘价可以算作是各个特征,而未来的价格涨跌形成标记。通过监 督学习算法,输入训练集中各个特征数据,以涨跌为标记,即可训练出模型用于 测试集。

假设观察前期 n1 个交易日的开盘价、最高价、最低价、收盘价,则共计 4*n1 个特征,将特征进行标准化处理(这里将当日价格作为除数进行归一化处理)以 去除量纲影响,对应预测未来 n2 个交易日的涨和跌,标记分别为 1 和-1。 报告中 n1 取 10 到 100 个交易日,步长为 10,n1>n2,这样一个算法参数下 有 45 个组合。 各种算法,比如 KNN,通过训练集构建模型,然后在测试集上测试,可以理 解为找到历史中最为相似的价格形态进行预测,此方法与实际交易最为接近;对 于 SVM,相当于使用超平面将训练集划分为涨和跌两类;对于 LS,使用涨跌幅度 进行回归;综合来看,各种算法相当于将过去 n1 个交易日的形态映射到一个空间 中进行分类,进而预测未来 n2 个交易日的涨跌。 (4)策略在测试集上进行构建,每个交易日进行滚动预测,每次开仓为 1/n2 单位资金,开平仓交易成本设置为 0.0001。

(二)策略回测

这一部分是通过训练模型,然后在测试集上形成策略。分别从算法角度、品 种角度以及综合角度,测试机器学习基于技术分析构建策略的效果。

1、算法角度

根据前文分析,分别对各个品种进行 8 种监督学习算法的训练和测试。 算法角度是指观察每种算法下各个品种测试集策略的表现。 具体来说,主要衡量指标为卡玛比率均值,即在该算法下各个参数组合的卡 玛比率平均值,然后找到表现最优的品种中表现最优的参数,画出收益率曲线。

从结果来看,KNN、SVM、决策树、随机森林、BP 神经网络算法下表现最优的 均为焦煤,测试集的最优参数卡玛比率甚至超过 6,主要原因是焦煤的测试集主 要从 2021 年开始,而 2021 年和 2022 年焦煤趋势行情较多,与 2016 年的焦煤行情接近,比较符合报告的策略思想。 朴素贝叶斯表现最优的为豆油,卡玛比率为 1.82;线性回归为白银,卡玛比 率为 2.33;逻辑回归为菜粕,卡玛比率为 2.03。

2、品种角度

相比于算法角度,品种角度是指品种在各算法下的表现,这里分成黑色、有 色、化工、软商品、农产品 5 个板块进行分析。

① 黑色板块

黑色板块对螺纹钢、热卷、焦炭、焦煤、铁矿石、玻璃 6 个品种进行测试。

从测试结果来看,焦煤各算法下表现均较好,各算法卡玛比率均值均大于零, KNN 最优,螺纹钢、热卷、焦炭、铁矿表现最优的算法是 SVM,玻璃最优的是线 性回归,但是其他算法均不佳,卡玛比率均值都为负值。

② 有色板块

有色板块对铜、铝、锌、黄金、白银 5 个品种进行测试。

从测试结果来看,铜、铝、白银各算法下表现均较好,各算法卡玛比率均值 均大于零,黄金最优的是线性回归。

③ 化工板块

化工板块对 PTA、甲醇、塑料、聚丙烯、PVC 共计 5 个品种进行测试。

从测试结果来看,各个品种的的最优算法均不同,其中甲醇的朴素贝叶斯算 法表现最优,最优参数的卡玛比率达到 2.88。

④ 软商品板块

软商品板块对棉花、白糖、橡胶 3 个品种进行测试。

三个品种的最优算法均为线性回归,棉花表现整体较好,最优参数卡玛比率 达到 1.88。

⑤ 农产品板块

农产品板块对豆粕、菜粕、棕榈油、菜油、豆油 5 个品种进行测试。

从测试结果来看,豆粕和菜粕表现较好,各算法卡玛比率均值多数大于零, 且表现最优的算法为逻辑回归。

⑥ 全品种

将各个板块最优组合收益率曲线再次组合、

全品种最优组合的卡玛比率为 7.42,大幅优于各个板块,显示出跨板块组合 的效果较好。

3、整体角度

以上是通过算法角度和品种角度看策略效果,这里进行整体分析。分别计算 各算法下所有品种的策略卡玛比率均值。

卡玛比率会出现负值情况,结果会存在偏差,下面从年化收益率角度进行分 析。

从整体年化收益率角度可以看出,表现较好的算法依次是 SVM、随机森林、 KNN、决策树,表现较好的品种依次是焦煤、铜、白银、铝、豆油、豆粕、菜粕。

(三)回测总结

这一部分根据前两部分的机器学习和技术分析理论分析,构建国内期货品种策略。 以过去一段时间的价格作为各个特征值,以未来一段时间的涨跌作为标记, 各种算法相当于将过去 n1 个交易日的形态映射到一个空间中进行分类,进而预 测未来 n2 个交易日的涨跌。那么使用模型对测试集进行预测的过程,相当于在历 史数据的训练集中找到最为接近的行情,以此作为预测结果。 报告从算法角度和品种角度进行分析。算法中多个算法表现最好的品种为焦 煤,主要是测试集行情与训练集中的 16 年行情较为接近;各品种中表现较好的算 法多为 SVM 和线性回归。通过组合各算法下表现最优的品种收益曲线,发现相比 于单个算法,卡玛比率优化幅度有限,而通过组合各品种板块,发现卡玛比率超 过了 7,得到较大优化,跨板块组合的效果较好。 从整体卡玛比率和年化收益率角度可以看出,表现较好的算法均为 SVM、随 机森林、KNN、决策树,表现较好的品种均为焦煤、铜、白银、铝、豆油、豆粕、 菜粕。

四、总结与建议

第一部分主要介绍机器学习相关内容。 根据任务类型,机器学习可以分为无 监督学习、监督学习、半监督学习、强化学习。其中监督学习是训练数据中包含 标记,在期货价格预测中,涨和跌可作为标记,因此监督学习适合进行价格预测。 报告对 KNN、SVM、决策树、随机森林等 8 种监督学习方法进行介绍,为下文做铺 垫。 第二部分对技术分析的三大假设和形态理论进行分析。根据形态理论,当前 的价格走势会符合其中的一种形态,进而可以判断未来价格走势,如果将形态理 论扩展,我们从历史中找到与当前最相似的行情,不一定是某种形态,那么如果 历史会重演,我们就可以判断未来价格走势。而机器学习方法如 KNN 等算法与该 思想较为一致,可以辅助进行价格判断。

在前两部分分析基础上,第三部分对国内上市时间较长的期货品种进行策略 构建。以过去一段时间的价格作为各个特征值,以未来一段时间的涨跌作为标记, 各种算法相当于将过去多个交易日的形态映射到一个空间中进行分类,进而预测 未来价格的涨跌。从算法和品种两个角度进行分析,算法中多个算法表现最好的 品种为焦煤;各品种中表现较好的算法多为 SVM 和线性回归。通过组合各算法下 和各品种板块收益曲线,发现板块组合卡玛比率超过了 7,得到较大优化,跨板 块组合的效果较好。 从整体卡玛比率和年化收益率两个角度来看,表现较好的算法均为 SVM、随 机森林、KNN、决策树,表现较好的品种均为焦煤、铜、白银、铝、豆油、豆粕、 菜粕,可以主要对这些品种使用机器学习方法辅助预测和策略构建。


(本文仅供参考,不代表我们的任何投资建议。如需使用相关信息,请参阅报告原文。)

相关报告