Py学习  »  机器学习算法

量化专题 · CTA拥抱机器学习-boosting模型的运用

中信建投期货微资讯 • 3 天前 • 52 次点击  

本报告观点和信息仅供符合证监会适当性管理规定的期货交易者参考。因本平台暂时无法设置访问限制,若您并非符合规定的交易者,为控制交易风险,请勿点击查看或使用本报告任何信息。对由此给您造成的不便表示诚挚歉意,感谢您的理解与配合!


本文作者 | 童力  中信建投期货金融工程量化分析师

本报告完成时间 | 2024年6月28日


摘 要

在上一篇研报“CTA拥抱机器学习-预测式信号初探”中,我们将机器学习预测型策略开发流程分为了数据预处理、特征工程、拟合工程 三大板块,并对各个子流程进行了初步的尝试,这篇研报我们在拟合工程中尝试应用boosting模型,以期能够提高策略绩效;

Boosting 集成学习模型将多个弱学习器串行结合,能够很好地兼顾模型的偏差和方差,在这篇报告中,我们将之前的单个决策树模型替换为XGBOOST,测试该模型的拟合效果;

测试结果表明,在手续费可控的条件下,策略有非常不错的绩效,但整体策略受手续费影响比较大,后续在策略开发的各个环节,还有很大需要深入研究优化的空间。

风险提示:本研究主要基于历史数据统计,存策略失效风险、模型误设风险、历史统计规律失效等风险

 概述

在上一篇报告“CTA拥抱机器学习-预测式信号初探”中,我们梳理了预测式信号开发的三个流程如下图所示:

上一篇报告中,每个流程上进行了初步的方法尝试,其中在拟合工程环节我们采用了单个决策树模型的方式。但单决策树模型存在以下的一些缺点:容易过拟合,对噪声和不均衡数据敏感,计算复杂度高,对输入数据顺序敏感。在本篇文章中,我们将决策树模型改为采用Boosting集成学习算法的梯度提升决策树算法XGBoost模型,验证该模型的拟合效果。

模型原理

“三个臭皮匠,顶个诸葛亮”,XGBoost本质是将多个弱学习器通过串行的方式组合起来,成为一个强学习器。XGBoost重要的几个内容如下:

1、基本组成元素是:决策树;我们将这些决策树成为”弱学习器“,这些”弱学习器“共同组成了XGboost;

2、组成的决策树之间是有先后顺序的;后一棵决策树的生成会考虑前一棵决策树的预测结果,即将前一棵决策树的偏差考虑在内(在目标函数中有体现);

3、生成每棵决策树使用的数据集,是整个数据集。所以可以将每棵决策树的生成都看作是一个完整的决策树生成过程。

一个由2个决策树组成的XGBoost模型预测过程如下如所示:


XGBoost模型的训练生成过程包括训练决策树(弱学习器),训练每个弱学习器的权重,整个训练工程由严谨的数据推导方法,在此我们不再赘述。

测试表现

3.1 测试参数

测试标的:

[ 'RB', 'HC', 'I', 'J', 'JM', 'FG', 'SA', 'SF', 'SM' 'A', 'M', 'RM', 'OI', 'P', 'Y', 'C', 'CS', 'CF', 'SR', 'JD', 'UR', 'AP', 'LH', 'PK','CJ', 'AL', 'NI', 'ZN', 'SN', 'PB', 'CU', 'SS', 'BU', 'FU', 'EB', 'EG', 'V', 'L', 'SP', 'RU', 'TA', 'MA', 'PP', 'LU', 'PF', 'PG', 'SC', 'AG', 'AU', ]

测试时段:2019-01-01至2024-04-30

训练生成信号方式如下图:


3.2 测试结果

测试结果表明,相比于之前单个决策树模型的情况,整体绩效是有了显著提升。

 结论

本文尝试了Boosting集成学习中的XGBoost模型应用的表现,从测试结果上看,整体策略绩效有了显著的提升。后续在拟合工程商我们将尝试比较更多的模型方法。在其他环节,我们也将进行更多的尝试,比如在数据预处理研究中,计划尝试对砖图生成方式进行优化,对于跨日跳空的情况,修改砖图生成方式,尝试其他的标签方式,比如标注连续上涨或连续下跌为阳性标签,在特征工程中,挖掘更多的有效特征是核心的工作,另外如何评估特征与标签之间存在的非线性关系也是后续研究的一方面等。

免责声明

向上滑动阅览

本报告观点和信息仅供符合证监会适当性管理规定的期货交易者参考,据此操作、责任自负。中信建投期货有限公司(下称“中信建投”)不因任何订阅或接收本报告的行为而将订阅人视为中信建投的客户。

本报告发布内容如涉及或属于系列解读,则交易者若使用所载资料,有可能会因缺乏对完整内容的了解而对其中假设依据、研究依据、结论等内容产生误解。提请交易者参阅中信建投已发布的完整系列报告,仔细阅读其所附各项声明、数据来源及风险提示,关注相关的分析、预测能够成立的关键假设条件,关注研究依据和研究结论的目标价格及时间周期,并准确理解研究逻辑。

中信建投对本报告所载资料的准确性、可靠性、时效性及完整性不作任何明示或暗示的保证。本报告中的资料、意见等仅代表报告发布之时的判断,相关研究观点可能依据中信建投后续发布的报告在不发布通知的情形下作出更改。

中信建投的销售人员、交易人员以及其他专业人士可能会依据不同假设和标准、采用不同的分析方法而口头或书面发表与本报告意见不一致的市场评论和/或观点。本报告发布内容并非交易决策服务,在任何情形下都不构成对接收本报告内容交易者的任何交易建议,交易者应充分了解各类交易风险并谨慎考虑本报告发布内容是否符合自身特定状况,自主做出交易决策并自行承担交易风险。交易者根据本报告内容做出的任何决策与中信建投或相关作者无关。

本报告发布的内容仅为中信建投所有。未经中信建投事先书面许可,任何机构和/或个人不得以任何形式对本报告进行翻版、复制和刊发,如需引用、转发等,需注明出处为“中信建投期货”,且不得对本报告进行任何增删或修改。亦不得从未经中信建投书面授权的任何机构、个人或其运营的媒体平台接收、翻版、复制或引用本报告发布的全部或部分内容。版权所有,违者必究。



长按图片即可识别二维码


点个【赞】、【在看】· 遇见更多精彩

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/171790
 
52 次点击