问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

DeepAlpha短周期因子系列研究之:自定义损失函数

创作时间:
作者:
@小白创作中心

DeepAlpha短周期因子系列研究之:自定义损失函数

引用
1
来源
1.
https://bigquant.com/wiki/doc/Voe0Pr7J8W

本文基于BigQuant平台,通过实证研究对比了多种损失函数在DeepAlpha-DNN模型中的表现。研究发现,使用MAE损失函数的模型综合效果最佳,具有较高的年化收益率和较低的最大回撤。

本文旨在通过实证研究对比不同损失函数在DeepAlpha-DNN模型中的优化效果。研究采用了基本面条件对A股进行筛选,使用两到三年的数据进行训练,后一年的数据进行回测。由于标签是未来五日累计收益率,因此采用5日调仓的方式进行回测。

损失函数

常用损失函数

损失函数是机器学习和深度学习中的关键概念,用于衡量模型预测结果与实际标签之间的差异或误差。它的作用是定义了模型的优化目标,通过最小化损失函数来使模型能够学习和适应数据。故选择损失函数是在量化投资中非常重要的决策之一。损失函数的选择直接影响了模型训练和优化过程,决定了模型对于不同类型的错误的敏感程度。

这里列举几个常用的损失函数,如果是分类任务:

  • BCE,又称Binary Cross-Entropy。主要用于多分类问题,softmax损失的分类问题为BCE的衍生。
  • CCE,又称Categorical Cross Entropy Loss。主要用于二分类问题,各位如果对meta-labeling(元标签)了解的话,分类交叉熵损失在元标签中应用较多,元标签在做第一层模型时需要高召回率的机器学习模型,而在二分类问题下计算召回率最为方便。

如果是回归任务:

  • MAD,又称绝对平均差,真实标签和预测标签之差的绝对值的平均数;
  • MSE,又称均方误差,描述的是真实标签和预测标签平方差的平均数,这是我们比较常用的指标。

此篇文章是利用DeepAlpha-DNN模型对未来五日累计收益进行拟合。以MSE损失函数训练的模型作为基准模型,并分别采用了MAE和Pseudo-Huber损失函数对模型进行优化。

而MAE或者Pseudo-Huber损失使得模型的鲁棒性增强,模型对异常值的容忍度大大提高。

在Pseudo-Huber损失函数中,δ是一个可调节的超参数,本文令δ=5。损失函数如上图绿线所示,其损失函数值普遍小于绝对值损失的损失函数值,但与绝对平均误差损失相比,该损失函数不能快速迭代至最优解。

但是绝对值损失函数存在不可导点,如上图所示,绝对值函数在零处不可导,所以这里引入伪梯度的概念:

IC损失函数

首先来介绍IC:

其中hat_y表示模型的预测值,y表示实际累计收益率,bar_y表示累计收益率的平均值,bar_hat_y表示预测值的平均值。整个指标是用来衡量预测值和实际值的相关性。该指标被称为相关系数,相关系数越大代表预测值和累计收益的关联越强,选股能力也越强。想让IC越大,只需让负IC越小越好,所以将负IC作为调节模型的损失函数。

Oridinal 损失函数

该损失函数涉及样本排序,在讲排序之前,我们回顾一下逻辑回归:

其中theta为待估参数,c为阈值,f为模型,逻辑回归有正负类之分,这里只展示了正类,负类用1减去正类的概率即可。

采用负对数似然的方法可得到损失函数:

其中:

上述情况只是将标签以c为阈值划分之后的损失函数,而有序回归可以设定多个阈值:

其中c1<c2<…<ck。由于阈值具有顺序,所以标签也就有了顺序。

WMSE损失函数

我们都知道mse损失函数是误差的平方的平均值,但是这个平均值是等权平均的,而wmse损失函数是在mse的基础上对每个样本的误差的权重进行了调整:

其中

wi

为第i个样本误差的权重。

本文的权重选取为自适应绝对平均差:

误差越大,分配到的权重也就越大,模型训练时也会着重训练误差大的样本。

数据预处理

  • 抽取Deep-Alpha98因子;
  • 剔除st以及财务指标不健康的股票;
  • 参考对98因子做截面均值化构建新的均值98因子(华泰金工: 九坤 Kaggle 量化大赛有哪些启示?);
  • 初始化Deep-Alpha网络结构和优化器以及损失函数;
  • 数据集划分:3年数据集作为训练集,后面一年作为测试集进行回测。

实证结果

MSE损失函数实证效果

以2020年至2022年作为训练集,2023年作为样本进行回测的结果如下

采用一般我们常用的损失函数MSE作为baseline也能取得正收益。

MAE损失函数实证效果

以2020年至2022年作为训练集,2023年作为样本进行回测的结果如下

即使在大盘波动较大并且大盘走弱的情况下,MAE优化的Deep-Alpha网络收益依旧为正,相比用MSE损失函数训练的模型,MAE损失函数优化的模型策略收益率更高,且最大回撤更低。

Pseudo-Huber损失函数实证结果

以2020年至2022年作为训练集,2023年作为样本进行回测的结果如下

能明显发现2020年和2021年使用Pseudo-Huber损失函数优化模型的效果明显不如MAE损失函数优化的效果。2023年Pseudo-Huber损失函数优化出的模型策略存在负收益,而MAE损失函数不存在负收益。

负IC损失函数实证结果

以2020年至2022年作为训练集,2023年作为样本进行回测的结果如下:

由于相关系数函数不是严格凸函数,故优化效果并不是很好。

Oridinal 损失函数实证结果

WMSE损失函数实证结果

总结

  • 在上述所有回归损失函数以及IC损失函数中,MAE损失优化出的模型策略效果是最好的,最大回撤为6.01%远低于其他损失函数优化出来的策略;
  • 虽然Pseudo-Huber损失函数优化的模型收益是最高的,但从收益波动率来看,其收益不如MAE损失优化的模型策略稳定。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号