QuantML-Qlib Model | Kansformer: KAN+Transformer时序模型用于股票收益率预测
原创 QuantML QuantML 2024-06-18 20:57 上海
Content
之前公众号介绍了几篇KAN的文章,也做过KAN相关的模型:
QuantML-Qlib开发版 | 最新神经网络结构KAN用于因子挖掘
取代MLP?MIT全新神经网络结构KAN,3天1.4k star
QuantML-QlibModel | KAN + GRU 时序模型用于股票预测
Kolmogorov-Arnold Networks(KANs),它是由Kolmogorov-Arnold表示定理启发而来,旨在作为多层感知器(MLPs)的有前途的替代品。KANs的核心特点是在网络的边缘(即权重)上拥有可学习的激活函数,而不是像传统的MLPs那样在节点(即神经元)上使用固定的激活函数。这些激活函数由一元函数(univariate functions)组成,每个权重参数被一个作为样条(spline)参数化的一元函数所替代。
KAN的特点在于模型参数量少,具有较好的可解释性。
在之前的KANGRU模型中,我们采用KAN+GRU的结构,相比于单纯的GRU效果有所提升,本文我们利用KAN和Transformer构建Kansformer模型,用于股票收益率预测。
2. 代码部分
我们在中QuantML-Qlib实现Kansformer模型。由于有部分c代码,需要编译后再使用,在QuantML-Qlib根目录下运行以下命令进行编译
python setup.py build_ext --inplace
代码结构如下:
examples/benchmarks/Kansformer/workflow_config_kansformer_Alpha360.yaml文件中设置好数据路径,超参数后,运行run.py即可。
在中证500内测试,样本外周频IC为0.0615, IR为3.125,与KANGRU结果相近。
回测效果:
年化alpha:10.42%,超额信息比:1.20,超额最大回撤:6.98%
代码已更新至QuantML-Qlib,factor和model目录结构如下: