研报&论文

FactorVAE:基于变分自编码器的动态因子模型

由small_q创建,最终由small_q 被浏览 54 用户

摘要

{w:100}公众号遴选了各大期刊前沿论文,按照理解和提炼的方式为读者呈现每篇论文最精华的部分。QIML希望大家能够读到可以成长的量化文章,愿与你共同进步!

本期遴选论文 标题:FactorVAE: A Probabilistic Dynamic Factor Model Based on Variational Autoencoder for Predicting Cross-sectional Stock Returns 作者:Yitong Duan, Lei Wang, Qizhong Zhang, Jian L 今天分享的文章来自AAAI 2022,四位作者(Yitong Duan, Lei Wang, Qizhong Zhang, Jian Li)都来自清华大学。

本文提出了一种新的基于变分自编码器(VAE)的概率动态因子模型,称为FactorVAE,以弥合噪声数据与有效因子之间的差距。从本质上讲,我们将因子视为潜在随机变量,通过在VAE潜在空间上的分布对数据中的噪声进行建模,然后引入一种前验后验学习方法来指导提取截面收益预测的有效因子。更具体地说,如图1所示,我们首先采用一种编码器-解码器架构,可以访问未来的股票收益,提取最优因子来重建收益,然后训练一个预测器(Predictor),只在给定可观察的历史数据的情况下,预测因子来逼近最优因子。在预测阶段,只使用预测器(Predictor)和解码器(Decoder)以确保不会有任何信息泄漏。还要注意的是,我们的模型是通过带有随机性的因子来计算股票收益的,这衍生出了一个概率模型,用于预测收益之外的风险估计。

{w:100} Brief illustration of FactorVAE

本文的主要贡献如下:

①提出FactorVAE作为一个动态因子模型,从有噪声的市场数据中提取有效因子,并基于VAE设计了一种前验后验学习方法,进一步指导模型在高噪声市场数据中的学习。

②本文是第一个在VAE中将因子作为潜在随机变量来处理的,这增强了对噪声数据建模的能力,并得出了风险估计的概率模型。

③本文对真实的股票市场数据进行了大量的实验,结果表明,FactorVAE不仅超过了其他动态因子模型,而且在截面收益预测方面超过其他ML-Based的预测模型。

Variational Autoencoder(VAE)

在介绍FactorVAE模型结构之前,我们先了解一下传统的VAE模型。一个标准的Autoencoder模型由一个encoder和一个decoder组成。其中encoder将输入特征X编码为一个隐含向量z(通常维度更低),而Decoder负责将隐含特征向量z解码为原始特征X。(Autoencoder一般会用在图片压缩中,通过encoder降低存储的大小,利于传输。再使用decoder进行还原)。

{w:100} 标准的Autoencoder存在以下问题,泛化能力很弱,容易过拟合,选择一个随机的潜在变量可能会产生垃圾输出。VAE很好的解决了这些问题,与Autoencoder中encoder从原始特征中学习隐含特征不同的是,VAE从原始特征中学习隐含特征的分布(称之为后验分布,),然后再从这个分布中随机抽样出一个隐含特征 输入到decoder中进行还原。也就是说: 1、标准的Autoencoder中,encoder从原始特征 中学到的隐含特征 ,然后直接将 输入到decoder; 2、VAE中,encoder从原始特征 中学到 的分布(这里需要假定 服从某种分布,比如高斯分布,那encoder的输入就是高斯分布的参数:均值和方差),然后从这个分布 中抽样出 输入到decoder中。 {w:100}

使用以下的损失函数,随着训练的进行,后验分布 就会逼近 的先验分布 。VAE本身是属于生成模型,在需要生成新数据的时候,直接使用 抽样出 ,并输入到decoder中解码出新样本。

{w:100}FactorVAE的模型结构

FactorVAE模型整体上也遵循标准VAE模型的encoder-decoder的结构。但在具体设计上有很多细节,详细的结构如下图所示:

我们首先来看一下模型的损失函数,了解损失函数之后,我们就能更清楚的知道模型各部分在训练过程中扮演的角色。

{w:100} {w:100}

Feature Extractor

{w:100}Factor Extractor

{w:100} {w:100} {w:100}

Factor Decoder

{w:100}

如前所述,我们的目标是弥合嘈杂的市场数据与预测回报的有效因子模型之间的差距。采用端到端方法训练的模型可能无法从噪声数据中提取出影响因子。因此,我们提出了一种基于VAE的Prior-Posterior Learning学习方法来实现这一目标:训练一个只给出历史观测数据的Factor Predictor,该预测器预测因子以逼近上述最优的后验因子,称为先验因子。然后利用因子decoder在不泄露未来信息的情况下,利用先验因子计算股票收益,作为模型的预测收益。

Factor Predictor

{w:100} {w:100}

预测阶段

在预测阶段仅使用decoder和predictor,具体流程如下: {w:100}

本文使用了A股2010年至2020年的日度数据进行了验证,因子使用Qlib Alpha158因子中的20个量价因子,训练时间2010年1月1日至2017年12月31日,验证集2018年1月1日至2018年12月31日,测试集2019年1月1日至2020年12月31日。预测目标月未来第二个收盘价与下一交易日收盘价计算的收益率(t+1与t+2)。

Baseline模型选用了线性因子模型与QLib中已实现的几个模型:GRU、ALSTM、SFM、Trans等。

IC对比

{w:100}

Q1. Prior-Posterior Learning学习方法是否能有效地指导模型的学习?

FactorVAE-prior模型是FactorVAE一种变体,它不包含前验后验学习方法,该方法通过先验因子直接训练来预测收益。从结果中我们可以看到,没有后验因子的引导,很难从真实的市场数据中学习到一个有效的因素模型,这说明前验后验学习方法对我们的模型是至关重要的。

稳健性对比

{w:100}

上表中m表示,训练是随机从样本股票中去除m个股票,测试时使用这m个股票计算IC的结果。

策略表现对比

{w:100}

后记

QIML公众号正在进行FactorVAE的代码实现,请关注后续文章!

标签

深度学习因子分析模型训练特征提取投资组合优化
{link}