适合低信噪金融数据的DoubleEnsemble算法,夏普比率提升超70%

适合低信噪金融数据的DoubleEnsemble算法,夏普比率提升超70%

原创 Spectator 核桃量化 2023-11-06 08:30

·

核桃量化

用机器学习助力量化投资

102篇原创内容

公众号

论文 | https://arxiv.org/abs/2010.01265

代码 | https://github.com/microsoft/qlib/blob/main/qlib/contrib/model/double_ensemble.py

一 论文概要

具有提取复杂非线性模式的能力的机器学习方法在金融市场预测中越来越流行。然而由于金融数据具有高噪声,且往往是非平稳的,导致可预测性较弱复杂的机器学习模型往往非常容易过度拟合,预测结果并不稳定。

本文提出了DoubleEnsemble模型解决上述问题。DoubleEnsemble是一个利用样本加权和特征选择的双重集成框架。具体而言,(1)样本加权:根据损失函数,划分样本为易学样本、难学样本和噪声样本,给难学样本分配更大的权重。(2)特征选择:打乱因子和股票之间的对应关系,评估打乱前后模型的表现,如果模型表现显著变差,说明因子是重要的,反之则不重要。(3)训练 K 轮,每轮都在上一轮的基础上进行样本加权和特征选择,得到子模型,最后将所有子模型集成使用。

本文在加密货币和股票交易的价格预测任务进行了实验,使用DNN和梯度提升决策树作为基础模型。DoubleEnsemble实现了更好的性能,与几种基线方法相比,年化回报提升超30%,夏普比率提升超70%。

二 问题背景

金融市场因其竞争性而难以预测。有一些共同的原因可以部分解释为什么预测任务极其困难。首先,困难来自广为人知的有效市场理论,这是一种假设,即价格反映了所有信息,不可能持续跑赢整个市场。第二,由于存在大量持续交易行为和隐藏因素(如政府政策变化和突发新闻)不断影响市场。
财务数据具有低信噪比、强动态性和高波动性。常见的多因素模型是资产定价和市场预测的流行模型。该模型基于多个特征(因子)对资产定价或预测市场走势。线性模型一直是多因素模型的标准算法,但在利用复杂模式方面有很大的局限性。最近,非线性机器学习模型(如梯度增强决策树或深度学习模型)由于能提取复杂的数据模式受到了欢迎。然而这些复杂的非线性模型容易过度拟合,并且容易受到噪声样本的影响。为了向模型提供更多信息,量化交易从业人员通常会创建数百甚至数千个因子。然而,使用所有可用特征训练预测模型可能会导致较差的性能。因此必须选择不仅具有信息性而且与其他特征不相关的特征。对于线性模型(如线性回归),可以选择具有低相关性的特征,以缓解多重共线性问题。对于高度复杂的非线性模型和高噪声的金融数据,如何有效地选择特征就不太清楚了。

如何能够选出适合复杂非线性模型的特征且避免模型过拟合是提高金融任务预测精度的关键。

三 本文贡献

本文提出DoubleEnsemble框架来解决上述问题,提高金融任务的预测精度,具有下述三个特点:

1. DoubleEnsemble将样本重加权和特征选择集成到一个统一的框架中以构建不同的子模型,这些子模型不仅使用不同的样本权重,而且还使用不同的特征进行训练。这一特性可以极大地缓解了过度拟合问题,使模型更稳定,更适合从高噪声的金融数据中学习。 

2. DoubleEnsemble提出了一种新的基于学习轨迹的样本重加权方案,该方案将学习轨迹完全纳入样本权重的构建中。这种重新加权方案可以有效地减少简单样本和噪音样本的权重,提高对模型更有用的困难样本的权重。

3)传统方法(例如,向后消除和递归特征消除)通常试图根据冗余特征的重要性去除冗余特征,并在移动特征后重新训练整个模型。重新训练产生巨大的计算成本。而且当使用神经网络进行训练时,移除特征可能会完全改变输入的分布,从而导致训练过程极不稳定。为了解决这个问题,DoubleEnsemble提出了一种新的基于洗牌的特征选择方法。通过在训练样本中重新排列一个特征并测量Loss的变化。微小的变化表明该特征与预测任务的相关性较小。

四 本文方法

算法整体分为DoubleEnsemble(算法整体框架),SR(基于学习轨迹的样本重新加权模块)和FS(基于洗牌的特征选择模块)三部分,下面根据对应的伪代码对每一部分进行探讨。
DoubleEnsemble
 


上面算法1是DoubleEnsemble的总体框架,输入是所有数据,刚开始设置所有的样本权重为等权1,所有的特征都被选择用于特征构建特征子集进行=1时的子模型训练,SR模块和FS模块会分别输出新的样本权重和新的特征子集。经过轮迭代后,获得并输出个子模型构建集成模型,集成模型的输出是所有子模型的均值。

在介绍SR和FS模块之前,首先介绍这两个过程的输入。

  1. 对于SR模块,我们检索了前一个子模型训练期间的损失曲线和当前模型集合的Loss值。假设在前一个子模型的训练中有T次迭代。我们使用表示Loss curves(损失曲线),其中元素是前一子模型训练中第次迭代后在第个样本上的误差。对于神经网络,一次迭代是一个训练epoch,对于增强树模型,一次迭代代表构造一个新的树。使用表示Loss值,其中元素是第个样本上在当前模型集合的误差(即和之间的误差)。

  2. 对于FS模块,直接提供训练数据和当前的模型集合作为输入。

SR模块
 


 


 


在该过程中,首先计算每个样本的值,然后根据值将所有样本划分为个分组。稍后将相同的权重分配给同一分组中的样本。值的计算基于前一个子模型的损失曲线和当前模型集合的损失值。

论文用下图的一个小例子来解释这样设计的原因。在分类任务存在考虑三种类型的样本:容易正确分类的简单样本,接近真实决策边界且容易被错误分类的困难样本,以及可能误导模型的噪声样本。我们希望重新加权方案能够提高困难样本的权重,同时降低容易样本和噪声样本的权重。项有助于减少简单样本的权重。具体而言,简单样本的Loss很小,这导致的值大,因此权重小。然而,由于仅基于Loss值很难区分噪声样本和困难样本,因此该项也会增加噪声样本。幸运的是可以通过使用的损失曲线来区分它们(参见图1b)。直观地说,用下降的归一化损失曲线为样本分配较大的权重。由于训练过程由大多数样本驱动,大多数样本的损失趋于减少,而噪声样本的损失通常保持不变甚至增加。因此,噪声样本的归一化损失曲线将增加,这导致较大的值,因此噪音样本的权重变小。对于简单的样本,它们的归一化损失曲线更可能保持不变或在快速衰减后略有波动,这会导致值适中,因此其权重适中。对于困难样本,它们的归一化损失曲线在训练期间缓慢下降,这表明它们对决策边界的贡献。这导致值较小,因此其权重较大。在图1(c)中分别显示了使用, 和作为值计算的三种样本的权重。可以观察到,只有当使用作为值计算的方式时,才能达到想要的效果。
 


FS模块
 


DoubleEnsemble中使用基于洗牌的特征选择过程来选择用于训练下一个子模型的特征子集。算法3中展示了这个过程。首先计算每个特征的g值,然后根据它们的g值将所有特征划分为D个分组。随后,我们从具有不同采样率的不同分组中随机选择特征。特征的g值度量该特征对当前集合的贡献(即特征重要性)。为了计算特征的g值,我们对该特征的值进行洗牌,并比较洗牌前后的损失(参见算法3中的第5-7行)。当特征的消除(通过混洗)显著增加样本上的损失时,特征的g值很大,这表明该特征很重要。为了对抗极端g值的鲁棒性,根据g值将所有特征划分为D个箱,并从具有不同采样率的不同箱中随机选择特征(参见算法3中的第8-12行)。采样率是预设的,对于g值较大的箱,采样率较大。最后连接并返回所有随机选择的特征。

这样设计的原因时为了估计特征对模型的贡献,相对于消除特征重新训练评估模型的方法,扰动数据集以消除特征的贡献,并使用扰动数据集和原始数据集比较模型的性能的方案在计算上更有效。

五 实验结果

5.1 数字货币预测

预测标的:OKEX上常见的数字货币
数据频率:每 0.3 秒一个样本点
训练数据集:10 天工 3M百万个样本点
测试数据集:训练数据之后的 5 天的数据
特征集合:常见因子(OFI、RSI )
手续费和滑点:0.2%

下表展现了基准方法和本文方法的对比结果,可以看到在各项指标上本文的方法都大幅度领先基准方法。

5.2 股票预测任务

股票市场:A 股市场
交易频率:日频和周频
交易策略:日(周)频等权
持仓方式:等权
手续费和滑点:0.3%
 

六 总结展望

本文中通过基于学习轨迹的样本重加权和基于洗牌的特征选择,提出了一种稳健有效的集成模型DoubleEnsemble,用于金融市场预测。基于学习轨迹的样本重加权为不同难度的样本分配不同的权重,因此特别适用于高噪声和不规则的市场数据。基于混洗的特征选择可以识别特征对模型的贡献,并为不同的子模型选择重要的和不同的特征。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值