: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

浅谈机器学习模型在螺纹钢期货中的运用

浅谈机器学习模型在螺纹钢期货中的运用

  近年来,人工智能领域飞速发展,随着计算机算力的增强,机器学习、强化学习、深度学习等逐步应用于金融领域。其中,机器学习是人工智能的一个分支,是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。本文尝试从宏观经济、产业数据、相关期货品种数据、技术分析指标中提取特征因子,对比10种机器学习模型,并进行相关特征处理和模型优化,从而为预测螺纹钢期货价格涨跌提供帮助。

  [因子选取及处理]

  本文选取2013年10月18日至2019年12月31日的螺纹钢期货日K线涨跌因子,作为机器学习模型的训练样本数据,同时选取钢材产量、PMI、M2等16个指标,来观察各项因子之间的相关性,具体如下表所示:

  表为螺纹钢期货日K线涨跌因子

  之所以选取螺纹钢期货日K线涨跌因子作为预测值,是因为日K线的数据量远大于周K线的数据量。根据大数定理(在随机事件的大量重复出现中,往往呈现几乎必然的规律)可知,当训练样本数据集趋向于无穷大时,在该数据集上训练的模型变化趋势,即为经验风险趋向于期望风险。不过,在实际情况中,我们无法获取足够多的训练样本,不能很好地反映全部数据的真实分布。

  如果采用周K线数据,在此时间段内的数据量仅有330条,过少的数据更容易造成模型的过拟合(为了得到一致假设而使假设变得过度严格)及较低的泛化能力。因为在处理指标特征时,如制造业PMI、广义货币供应量、钢材产量都是每月公布的数据,将造成大量的空值,所以我们统一将当月公布的数据作为每一天的数据来处理。

  [模型构建及对比]

  在构建机器学习模型时,本文仅预测当日螺纹钢期货价格涨跌的方向,暂不考虑具体的收盘价,将回归问题转化为分类问题,进而提高机器学习模型的预测能力。下面笔者选取K近邻算法、多层感知机分类器、决策树分类器、极度随机树分类器、极限梯度提升树分类器、随机森林分类器、AdaBoostClassifier、梯度提升树分类器、BaggingClassifier、支持向量机等10种模型,进行对比分析。

  模型简介

   K近邻算法

   K近邻分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是K个最近的邻居,指每个样本都可以用它最接近的K个邻居来代表。K近邻算法的核心思想是如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,那么该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上,只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。K近邻算法在类别决策时,只与极少量的相邻样本有关。由于K近邻算法主要靠周围有限的邻近样本,而不是靠判别类域的方法来确定所属类别的,所以对于类域的交叉或重叠较多的待分样本集来说,K近邻算法较其他方法更为适合。

  多层感知机分类器

  多层感知机分类器是一种监督学习算法,除了输入和输出层,它中间可以有多个隐藏层。如果没有隐藏层,即可解决线性可划分的数据问题。最简单的多层感知机分类器模型只包含一个隐藏层,如下图所示:


  图为多层感知机分类器

  决策树分类器

  决策树分类器是一种树形结构的机器学习算法,所有的样本起始于根节点,每个具有子节点的父节点都有一个判断,根据判断结果将样本向子节点分流,测试样本从根节点开始向下流动,通过判断最终到达某个没有子节点的叶子节点,这个节点就是该样本所属的类别。决策树模型是一种树形结构,在分类问题中表示基于特征对实例进行分类的过程。决策树分类器的学习步骤主要包括特征选择、决策树的生成、决策树的剪枝。

  极度随机树分类器

  极度随机树分类器是一种集成学习技术,它将森林中收集的多个去相关决策树的结果聚集起来输出分类结果。极度随机树的每棵决策树都是由原始训练样本构建的。在每个测试节点上,每棵树都有一个随机样本,样本中有K个特征,每个决策树都必须从这些特征集中选择最佳特征,然后根据一些数学指标(一般是基尼系数)来拆分数据。

  极限梯度提升树分类器

  极限梯度提升树分类器是集成学习的一种方法,它聚焦的是标准答案的残差。比如说我们进行分类预测,那我们可以选择错误率(error)或者对数损失(logloss)。

  随机森林分类器

  随机森林分类器是通过随机的方式建立一个森林,森林里面有许多棵决策树,并且树与树之间是没有联系的。在得到森林之后,当有一个新的输入样本进来的时候,就让森林中的每一棵决策树分别对其进行判断,看这个样本应该属于哪一类。

   AdaBoostClassifier AdaBoostClassifier是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。

  梯度提升树分类器

  梯度提升树分类器是利用加法模型与前向分步算法实现学习的优化过程。当损失函数是平方损失和指数损失函数时,每一步优化是简单的,但对一般损失函数而言,往往每一步优化并不那么容易。针对这一问题,Freidman提出了梯度提升算法,其关键是利用损失函数的负梯度在当前模型的值。

   BaggingClassifier

  在集成算法中,BaggingClassifier方法形成了一类算法,它在原始训练集的随机子集上建立一个黑箱估计的多个实例,然后将它们各自的预测聚合起来形成最终的预测。这些方法通过在基本估计量(如决策树)的构造过程中引入随机化,然后对其进行集成,来降低其方差。在许多情况下,BaggingClassifier方法是相对于单个模型进行改进的一种非常简单的方法,而无需调整底层的基本算法。

  支持向量机

  支持向量机是一种比较好的实现了结构风险最小化思想的方法。它的机器学习策略是结构风险最小化原则,为了最小化期望风险,应同时最小化经验风险和置信范围。支持向量机是专门针对有限样本情况的学习机器,实现的是结构风险最小化。在对给定的数据逼近的精度与逼近函数的复杂性之间寻求折中,以期获得最好的推广能力。

  模型训练

  在历史数据中选用70%的数据进行机器学习模型训练,30%的数据用来测试机器学习模型的效果。从机器学习模型的训练结果来看,所有机器学习模型的测试数据得分均超过50分,仅有多层感知机分类器与支持向量机的表现略微不佳。梯度提升树分类器和BaggingClassifier的训练数据得分超过了90分,决策树分类器、极度随机树分类器、极限梯度提升树分类器、随机森林分类器模型的训练数据得分为100分,存在明显过拟合的现象,但分类树模型(决策树分类器、极度随机树分类器、极限梯度提升树分类器、梯度提升树分类器等)在时间序列的预测上仍然起到较好效果。

  图为机器学习模型测试数据与训练数据得分情况

  以极限梯度提升树分类器模型为例,测算各个特征在机器学习模型中的重要程度,短期内技术指标的预测能力更强于基本面因子。如下图所示:


  图为机器学习模型特征重要程度

  从上图机器学习模型特征的重要程度排名来看,技术性指标的重要程度明显优于期货相关品种因子、基本面因子以及宏观因子。显而易见,在短期内,期货技术因子更能反映期货价格的涨跌。另外,基本面因子、宏观因子的重要程度较低,与它们的数据公布频率以及特征处理相关。

  [模型选用及优化]

  上文对比了10种机器学习模型在螺纹钢期货上的预测效果,在实际预测过程中,我们可选择效果最佳的模型。除此之外,还可对机器学习模型进一步优化,包括优化模型参数、重新筛选特征、构建集成学习等。本文以构建集成学习为例,对上述机器学习模型进一步优化。

  集成学习并不是一个单独的机器学习算法,而是将很多的机器学习算法结合在一起。个体学习器组合在一起形成的集成学习,常常能够使泛化性能提高,这对于“弱学习器”的提高尤为明显。

  图为堆栈泛化结构

  以上图为例,简单介绍集成学习堆栈泛化(是集成学习中Aggregation方法进一步泛化的结果)的概念。本文将训练集分别用3个基学习器进行学习和拟合;将3个基学习器预测得到的结果作为下一层学习器的输入;将下一层学习器得到的结果作为最终的预测结果。

  笔者选用极限梯度提升树分类器、随机森林分类器、梯度提升树分类器3种模型作为基分类器,最终集成学习分类器在测试数据上得分为78分,较前期测试数据得分最高的极限梯度提升树分类器模型提高了0.8分。

  [数据回测]

  因模型仅对当日的螺纹钢期货价格波动方向进行预测,所以在实际交易回测时,根据预测结果,开盘时建仓,收盘时平仓。根据上述优化后的模型,回测2013年10月—2019年12月的历史数据,训练数据模型净值如下图所示:

  图为训练数据净值

  因采用的训练数据回测模型存在明显的过拟合现象,现将数据更新,选取2020年3月1日至2021年3月2日的数据进行测试。测试数据净值、模型回测情况如下所示:

  图为测试数据净值

  表为训练数据模型回测指标情况

  虽然测试数据的回测指标结果,包括收益率、胜率等指标较训练数据降低不少,但测试数据的回测情况更符合实际。因为训练数据模型在回测过程中并未加入止损策略,所以在连续预测错误且遇到行情波动较大时,将产生较大回撤。同样,训练数据模型也未加入杠杆、滑点等因素,将对回测数据造成一定影响。

  整体来看,业界和学界早已开始思考机器学习技术本身在金融市场的应用,在机器学习本身的特性上,能够帮助我们挖掘传统线性回归等统计工具难以发现的规律,例如,在解决非线性关系以及多重共线性方面,机器学习具备无可比拟的优势。当然,机器学习的缺点也显而易见,金融市场本身数据噪音很大,这和传统机器学习擅长的数据场景有很大的不同。以图像识别为例,一张照片到底是猫还是狗,本身的争议性基本上很小很小,但一个品种在某一阶段能否产生超额的资产回报,这件事本身就见仁见智了,并且很可能存在市场内个别资产在某一时间内非理性的大涨大跌,而干扰整个数据集。因此,虽然本文运用基础的机器学习模型对螺纹钢期货的涨跌方向进行了预测,但在实际运用过程中仍有待完善和优化。(作者单位:大有期货)


论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表