【华泰金工林晓明团队】生成对抗网络 GAN 初探

您所在的位置:网站首页 空调除湿图案长什么样子 【华泰金工林晓明团队】生成对抗网络 GAN 初探

【华泰金工林晓明团队】生成对抗网络 GAN 初探

2023-08-17 00:14| 来源: 网络整理| 查看: 265

【基金经理PK:董承非、傅鹏博、朱少醒、刘彦春等,谁更值得托付?】买基金就是选基金经理,什么样的基金经理值得托付?哪些基金经理值得你托付?怎么才能选到好的基金经理呢?2020金麒麟最佳基金经理评选,快给你心仪的基金经理投票吧!【投票】

来源:华泰金融工程

林晓明    S0570516010001   研究员

陈   烨     S0570518080004   研究员

李子钰    S0570519110003   研究员

何   康     S0570118080081   联系人

王晨宇    S0570119110038    联系人

报告发布时间:2020年5月8日

摘要

GAN的核心思想是通过学习真实训练数据,生成“以假乱真”的数据

本文关注生成对抗网络GAN及其在量化投资领域的应用。GAN的核心思想是通过学习真实训练数据,生成“以假乱真”的数据。GAN包含判别器D和生成器G两组神经网络,引入博弈的思想,通过交替训练的方式达到纳什均衡。我们训练GAN生成不同市场、不同时间频率的股指收益率和价格序列,并与Bootstrap和GARCH等其它生成虚假数据方法相比较,以波动率聚集、盈亏不对称性等指标评估生成模型优劣。结果表明,GAN生成的数据质量优于其它两种方法。最后我们以双均线择时策略参数选择为案例,展示GAN在检验过拟合上的应用。

GAN交替训练判别器D和生成器G,直到达到纳什均衡状态

GAN最具特色之处在于其训练方式,“以子之矛,攻子之盾”。GAN包含判别器D和生成器G两组神经网络,G的目标是生成尽可能逼真的赝品,D的目标是尽可能将真品和G生成的赝品区分开。GAN引入博弈的思想,采取交替训练方式,两个网络能力同时提升,直到达到纳什均衡状态,此时D“明察秋毫”,而G生成赝品的技艺“巧夺天工”。从数学原理看,GAN的目标是最小化生成数据分布和真实数据分布的JS散度。GAN的优点是生成数据质量更好,学习过程更简单,并且能够与深度学习结合。GAN的缺点是黑箱问题,训练不收敛,G和D训练不同步,以及模式崩溃问题。

测试结果表明GAN相比于其它金融时间序列生成方法具有显著优势

我们采用GAN对上证综指日频序列、沪深300日频序列、标普500日频序列和标普500月频序列进行学习并生成1000条虚假序列,随后采用自相关性、厚尾分布、波动率聚集、杠杆效应、粗细波动率相关、盈亏不对称性共6项评价指标检验生成序列质量,并与对照组Bootstrap和GARCH模型生成的序列进行对比。结果表明,GAN生成序列能够复现出上述6项真实序列具备的特性,而Bootstrap和GARCH仅能复现出部分性质。GAN相比于其它金融时间序列生成方法具有显著优势。

GAN的潜在应用价值包括提供训练样本,检验过拟合和预测未来

GAN在量化投资领域的潜在应用价值包括:提供训练样本,检验量化策略过拟合程度,预测未来。机器学习应用于量化投资始终面临小样本困境,GAN能够生成更丰富的训练样本,一定程度上缓解小样本问题,在量化学术研究领域不乏应用先例。量化策略开发的“痛点”之一是回测过拟合,我们可以将基于真实数据得到的量化策略,放在GAN模拟出的“平行世界”中测试,以检验过拟合程度。GAN的变式如cGAN有可能帮助我们预测未来,但目前研究相对较少。我们以双均线择时策略参数选择为案例,展示GAN在检验过拟合上的应用。

风险提示:GAN生成虚假序列是对市场规律的探索,不构成任何投资建议。GAN模型存在黑箱问题,训练不收敛不同步,以及模式崩溃问题。深度学习模型存在过拟合的可能。深度学习模型是对历史规律的总结,如果市场规律发生变化,模型存在失效的可能。

研究背景

自本文开始,我们将开启一段崭新而激动人心的研究旅程,我们将探索各类生成对抗网络(Generative Adversarial Networks,以下简称GAN)及其在量化投资中的应用。

人类期待的“人工智能”应具备何种层次的智能?人工智能已经能够准确无误地识别图像、识别语音、翻译外语,能够在围棋、德扑、电子游戏、麻将赛场击败人类;未来或许可以协助医生诊断病患,可以指导投资者做出决策……然而,智慧的底色不应只有冷酷、精准、完美无缺,应当还有热情、创造、诗意和浪漫。人工智能是否可能绘制非凡的画作、谱写动人的音乐、书写令人一唱三叹的诗篇呢?当我们谈及人工智能创造力的可能性时,一个古老而崭新的研究领域——生成模型正徐徐展开。

生成模型(Generative Models)和判别模型(Discriminative Models)同属于人工智能的两大分支。华泰金工人工智能系列从2017年6月至今的30篇深度研究报告,基本都是探讨判别模型。事实上,在GAN成为“网红”算法前,即使在学术领域,生成模型相比判别模型也处于弱势地位。以人脸识别为例,判别模型的目标是识别出面部图像对应的身份信息,而生成模型的目标是生成一张逼真的人脸。判别模型往往直接针对识别身份、识别图像、筛选优质股票等实际需求;生成人脸、生成图片、生成股票序列往往显得脱离实际,生成模型看似无用武之地。

随着2014年Ian Goodfellow等关于GAN的论文横空出世,生成模型这一古老的研究领域重新焕发生机。GAN是具有代表性的一种生成模型,以其独特的训练方式以及良好的生成效果,受到研究者的喜爱。此后,研究者陆续开发出数十种GAN的变式,并应用于各类场景。从莫奈风格绘画生成,到黑白照片重新上色,从无人驾驶训练,到医学影像生成,甚至服装款式设计,人类的想象力令GAN在各行各业大放异彩。在投资领域,也不乏有相关学术研究探讨经济指标或金融资产时间序列的生成,但整体仍处于起步阶段。

本文是生成对抗网络系列研究的第一篇。我们将从Goodfellow等(2014)的原版GAN开始,介绍相关概念及算法,并展望GAN在量化投资领域的潜在应用,例如模型参数的过拟合检验。我们希望通过本系列向读者展示GAN的独特魅力,同时为投资实践提供可能的参考。

生成对抗网络概述

GAN的通俗理解

GAN是具有代表性的一种生成模型。生成模型的目标是基于真实数据,生成“以假乱真”的数据,比如生成人脸、生成图片、生成音乐、生成时间序列等。在量化投资领域,我们希望生成经济指标或金融资产的时间序列。

相比于其它生成模型,GAN最具特色之处在于它的训练方式,“以子之矛,攻子之盾”。一个GAN包含两个网络:生成器(Generator,简记为G)和判别器(Discriminator,简记为D)。假设生成器G的目标是生成尽可能逼真的绘画赝品,那么判别器D的目标就是尽可能将真品和G生成的赝品区分开。GAN的训练蕴含了博弈的思想,采取交替训练的方式,每轮迭代先训练D,再训练G,“道高一尺,魔高一丈”,两个网络的能力同时提升。直到达到纳什均衡(Nash Equilibrium)的理想状态,此时判别器D“明察秋毫”,而生成器G生成赝品的技艺同样“巧夺天工”。

GAN的公式理解

在Goodfellow等(2014)论文中,原版GAN的公式如下:

上式理解起来并不轻松。其中:

1. x为真实数据的随机向量,各元素服从某个特定的分布pdata(x)。假设真实数据为28×28的灰度图像,那么x可以为784维向量;假设真实数据为长度252的时间序列,那么x为252维向量。

2. z为噪音向量,也称为隐变量(Latent Variable),各元素服从分布pz(z),一般将z的各元素设为独立同分布,且服从标准正态分布或[0,1]的均匀分布。噪音的维度可自由定义,例如将z设为100维向量。

3. x~pdata(x)相当于真实数据的一次采样,每次采样得到一条真实样本,例如一张真实图像、一条真实股价序列;z~pz(z)相当于噪音数据的一次采样。

4. 生成器G的结构为神经网络,神经网络本质上是某个从输入到输出的非线性映射。G的输入为噪音向量z,输出为虚假数据G(z),G(z)的维数和真实数据x相同。假设真实数据为长度252的时间序列,x为252维向量,那么G(z)也是252维向量。

5. 判别器D的结构为神经网络。D的输入为真实数据x或虚假数据G(z),输出为0~1之间的实数,相当于判别器对样本的真假判断。输出越接近1代表判别器认为输入数据偏向于真样本,越接近0代表判别器认为输入数据偏向于假样本。

6. 对判别器D的输出取对数log,如logD(x)及log(1-D(G(z))),是常见的判别模型损失函数构建方式。对数的作用是将[0,1]区间内的数映射到(-∞,0]的范围,以便对其求导而后进行梯度下降优化。

7. Ex~pdata(x)[logD(x)]代表判别器对真实样本判断结果的期望。对于最优判别器D*,真实样本判断结果D(x)应为1,logD(x)为0;若判别器非最优,logD(x)小于0。换言之,若希望判别器达到最优,Ex~pdata(x)[logD(x)]应越大越好。

8.  类似地,Ez~pz(z)[log(1-D(G(z)))]代表判别器对虚假样本判断结果的期望。对于最优判别器D*,虚假样本判断结果D(G(z))应为0,1-D(G(z))为1,log(1-D(G(z)))为0;若判别器非最优,log(1-D(G(z)))小于0。换言之,若希望判别器达到最优,Ez~pz(z)[log(1-D(G(z)))]应越大越好。

9. V(D,G)为上述两项的加总,称为价值函数(Value Function),相当于目标函数,本质是交叉熵损失函数。判别器真假识别能力越强,V(D,G)应越大。

10. GAN求解的是minimax(极小化极大)问题。第一步,我们希望寻找最优判别器D*,使得优化目标V(D,G)取最大值,即maxDV(D,G)部分,第一步的逻辑参见上一点。关键在于第二步,我们希望继续寻找最优生成器G*,使得最优判别器下的目标函数取最小值,即生成的样本令判别器表现越差越好,即minGmaxDV(D,G)部分,博弈的思想正体现在此处。

GAN的训练算法

在实际操作中,对上一节理想的minimax问题进行以下几处改进:

1. 并非如公式所写,先最优化D,再最优化G。而是交替优化,每轮迭代中,先优化D,再保持D不变,优化G,如此迭代多次。

2. 需要平衡D和G的训练次数。G的目标函数里包含D,训练出优秀G的前提是训练出优秀的D,因此一般在每轮迭代中,先训练k次D(k为大于等于1的整数),再训练一次G。

3. 训练G时,一般固定D,此时目标函数中的Ex~pdata(x)[logD(x)]相当于常数,可以忽略,因此G的优化目标变成原始目标函数的后一项,即最小化Ez~pz(z)[log(1-D(G(z)))]。

4. 在训练早期阶段,G的生成能力较弱,D能轻松分辨出真假样本,此时log(1-D(G(z)))接近0,其导数在0附近变化较小,不利于梯度下降优化。一般会将G的优化目标从最小化Ez~pz(z)[log(1-D(G(z)))]改为最大化Ez~pz(z)[logD(G(z))],便于早期学习。

GAN训练算法的伪代码如下所示。

GAN的理论证明

对于大部分GAN的使用者,分别从通俗意义、minimax公式和训练算法三个层次理解GAN已经足够。GAN的理论证明部分难度较大,往往被大家忽视。然而理解GAN的理论证明,有助于理解GAN的一系列变式,以及GAN与其它生成模型的关系。故本节参考Ian Goodfellow等(2014)原作以及Scott Rome的详细推导笔记(http://srome.github.io),展示GAN的理论证明。

如前所述,真实数据x服从某个特定的联合分布pdata(x)。一个朴素的想法是:我们希望生成器G学习一个分布pg,使得pg=pdata,即两个分布的“距离”越接近越好。由此产生三个问题:

1. 如何度量两个分布的“距离”?

2. pg=pdata是否为生成器G的全局最优解?

3. 前述的训练算法能否使得pg收敛于pdata?

KL散度和JS散度

KL散度(Kullback-Leibler Divergence)和JS散度(Jensen-Shannon Divergence)是理解GAN理论证明的两个先导概念,用来刻画两个分布的“距离”。

对于两个连续的概率分布p和q,KL散度定义为:

KL散度具有非负性。当两个分布完全相同,对于任意x,有p(x)=q(x),此时log(p(x)/q(x))为0,KL散度为0。当两个分布不完全相同,根据吉布斯不等式(Gibbs' Inequality)可证明KL散度为正数。注意到KL散度不满足对称性,即KL(p||q)≠KL(q||p)。

JS散度解决了KL散度不对称的问题。JS散度定义为:

JS散度为两项KL散度之和。当p和q两个分布完全相同,两项KL散度均为0,JS散度也为0。JS散度同样满足非负性。JS散度和KL散度的不同之处在于:1)KL散度无上界,JS散度存在上界log2,JS散度上界的证明过程可参考原始论文(Lin,1991);2)KL散度不满足对称性,而JS散度满足对称性,JS(p||q)=JS(q||p)。

总的来看,KL散度和JS散度反映了两个分布的“距离”,当两个分布完全相同,KL散度和JS散度取最小值0;两个分布差异越大,KL散度和JS散度也越大。

GAN的全局最优解

本节我们证明pg=pdata是生成器G的全局最优解。证明又可以细分为三步:

1. 证明D的最优解形式;

2. 将minimax问题中G的目标函数重写为另一种形式C(G);

3. 证明pg=pdata是C(G)取全局最小值的充要条件。

首先,对于任意给定的G,D的训练目标是最大化价值函数V(G,D),而V(G,D) 可写为在x上的积分,也就是将数学期望展开为积分形式:

考察上式的后一半,令x=G(z)进行换元,再将前后两半合并,得到:

在给定x和G的前提下,pdata(x)和pg(x)可视作常数,记作a和b,那么上式可以写作:

上式两边对D求导,得到:

当目标函数V取最大值,导数为0,此时判别式D为最优解D*,即:

解得:

因此,对于任意给定的G,D的最优解有如下形式:

此时,minimax问题中G的目标函数可重写为C(G)的形式:

当pg=pdata时,易知DG*(x)=1/2,代入上式得到C(G)=log(-1/2)+log(-1/2)=-log4。对于任意pg,首先将新目标函数C(G)的期望改写成积分形式:

接下来是一个简单的代数技巧,对积分内的两项均同时减去和加上log2:

移项整理可得C(G)是下列三项积分项之和:

由概率密度的定义可知,上式的第一项积分项为常数:

由此前的先导概念可知,上式的后两项积分项正好等价于KL散度:

再由此前的先导概念可知,上述两式相加正好等价于JS散度:

将各项积分项合并,最终得到生成器G目标函数的最终形式:

根据JS散度概念,JS散度为非负数,当且仅当pg=pdata时,JS散度取最小值0,此时C(G)取全局最小值-log4,因此pg=pdata是生成器G全局最优解的充要条件,证明完毕。

GAN的收敛性

Goodfellow等(2014)原作证明,如果G和D有足够的学习能力,那么给定G,D可以达到其最优解,并且pg可以通过前述的训练算法对下式进行优化:

使得pg收敛于pdata。

事实上,原作中对于这部分证明的着墨不多,也缺少相关参考资料,我们暂不展开讨论。

对GAN的理论证明做简要小结:GAN的训练目标是最小化生成数据分布pg和真实数据分布pdata的JS散度,而该训练目标可以通过G和D交替训练结合梯度下降实现。

GAN的优势和劣势

GAN的优势包括以下几点:

1. 生成数据质量更好。相比于其它生成模型,GAN生成的数据质量一般更好,尤其对于图像而言。

2. 学习过程更简单。部分传统生成模型基于马尔可夫链,GAN避免了马尔可夫链的学习机制,因此GAN所依赖的假设较少,学习过程也相对简单,仅依赖梯度下降。

3. 能够与深度学习结合。只要是可微分函数都能用于D和G,因此GAN能够与各种形式的深度神经网络结合,从而搭上近十年深度学习迅猛发展的“顺风车”,快速应用于已被深度学习开垦过的各个领域。

GAN的劣势包括以下几点:

1. 黑箱问题。生成器G是噪声到生成数据的映射,通常采用深度神经网络,神经网络一般意义上为黑箱模型,可解释性较差。

2. 训练不收敛问题。一般的神经网络模型,只需观察验证集损失函数随迭代次数是否收敛,即可判断是否完成训练。而GAN的生成器G和判别器D始终处于博弈状态,两者的损失函数此消彼长,不存在收敛状态,因此无法根据损失函数判断是否完成训练。

3. G和D训练不同步问题。生成器G和判别器D需要同步训练,如果训练进度不匹配,也会出现问题。例如,如果D训练不够,始终维持在很弱的水平,那么G也很难提高。实际操作中,每轮迭代通常训练多次D和一次G,目的就是为了尽快提升D的水平。

4. 模式崩溃(Mode Collapse)问题。假设我们训练一个GAN模型生成0~9的手写数字,生成器G的一个“投机取巧”方法是,只学习其中某个数字的生成方式,这样生成数据足以“骗过”判别器D,但这样的G并非我们想得到的。

针对GAN的缺陷,研究者提出诸多训练技巧以及GAN的变式,这些技巧和变式值得在未来做进一步介绍,本文暂不展开。

方法

在量化投资领域,使用GAN的目标是学习真实数据,生成“以假乱真”的资产收益率或价格序列。实现这一目标需要理清三个问题:1. 从哪里学?2. 如何学?3. 如何评价学得好不好?分别对应训练数据、网络构建和评价指标。下面我们将分别展示相关细节。

训练数据

本文将训练四组GAN,分别学习不同市场(A股或美股)和不同时间频率(日频或月频)的宽基指数。具体标的和训练集起止日期如下表所示。

每组GAN的原始训练数据为一条完整的时间序列,例如跨度近30年的标普500指数日频对数收益率序列(本文所有收益率均指代对数收益率)。实际操作中,每条样本(向GAN输入的真实序列,或者从GAN输出的虚假序列)长度均为小于完整序列长度的固定值。例如我们希望生成长度10年的序列,那么每条样本长度可设为2520天。真实样本可从原始训练数据滚动采样得到,如下图所示。

网络构建

GAN的核心是生成器G和判别器D两组神经网络。我们参考Takahashi等(2019)文献,构建含两个隐藏层的全连接神经网络作为生成器G,含三个卷积层和一个全连接层的卷积神经网络作为判别器D。网络构建参数及对应取值如下面两张表所示。

我们对判别器D增加一步Noise labeling处理,即在标签中引入噪音,作用是提升神经网络的鲁棒性。真样本的标签不再是1,而是服从[0.9, 1.1]范围内的均匀分布;假样本的标签不再是0,而是服从[0.1, 0.3]范围内的均匀分布。

GAN迭代次数设为2000次,每轮迭代G和D各训练1次。需要说明的是,GAN的训练和一般的神经网络不同,无法通过观察验证集损失确定迭代次数。此处取2000的原因,一是和Takahashi等(2019)文献保持一致,二是当迭代次数为2000时生成的虚假序列已经较为“逼真”。GAN的多种变式如WGAN可更客观地确定迭代次数,本文暂不展开。

评价指标

如何评价生成序列的质量?仅凭肉眼观察,无法捕捉序列内部的微观结构。合理的方法是,寻找一些真实金融序列的特有性质,围绕这些性质设计定量指标,比较真实序列和生成的虚假序列在这些评价指标上是否存在差异。我们参考Takahashi等(2019)文献,考察如下表所示的6项评价指标。

自相关性

记资产收益率序列为r,其均值和标准差分别为μ和σ。k阶自相关系数定义为:

自相关性一定程度上反映了市场的有效性。一般认为,真实日频收益率序列不存在自相关,k阶相关系数接近0。

厚尾分布

一般认为,资产收益率不服从正态分布,而是服从尖峰厚尾分布,其特点是异常值概率密度值高于正态分布,通俗地说“黑天鹅”事件发生频率更高。常用的衡量分布厚尾程度的方法包括:

1. 计算分布的峰度(Kurtosis),即四阶矩。正态分布峰度为3,厚尾分布峰度大于3。

2. 记标准化真实收益率的概率密度函数为P(r),对r>0一侧部分的衰减拟合幂律函数:                         

    正态分布的参数α值大于5,真实收益率的衰减系数α值在3和5之间。

本文采用第二种方法。

波动率聚集

真实收益率序列存在波动率聚集现象。收益率本身不存在自相关性,但波动率(以收益率的二阶矩或绝对值衡量)存在短时程的自相关性。这里我们计算收益率绝对值序列的k阶自相关系数。若收益率绝对值序列存在短时程自相关和长时程不相关,则自相关系数应随阶数k的提升而衰减,一般以幂律衰减刻画:

真实序列的衰减系数β值一般介于0.1和0.5之间。

杠杆效应

杠杆效应的含义是:当前收益率和未来波动率存在负相关。换言之,若市场近期跌幅较大,未来波动将增加;若市场近期涨幅较大,未来波动将降低。我们参考Qiu等(2006)文献,计算当前收益率和未来收益率平方的滞后k阶相关度:

真实序列在k=1~10时的L值小于0,即表现为低阶负相关性。

粗细波动率相关

粗细波动率相关(Coarse-Fine Volatility Correlation)相比于上述4个评价指标而言略不常见。定义过去5个交易日(视为1周)区间收益率(即周收益率)的绝对值为粗波动率,公式中的τ=5:   

定义过去5个交易日的日收益率绝对值之和为细波动率,同样公式中的τ=5:

计算当前细波动率和未来粗波动率的滞后k阶相关系数:

当k为负数时,则是计算当前粗波动率和未来细波动率的相关系数。朴素地想,当前细波动率(信息量较多)对未来粗波动率的预测能力,应优于当前粗波动率(信息量较少)对未来细波动率的预测能力。换言之,上述k阶和-k阶相关系数不对称。我们用两者之差刻画这种不对称性:

真实序列当k较小时Δ值小于0。但也有学者认为该指标存在噪音较大的缺陷。

盈亏不对称性

盈亏不对称性的通俗理解是市场涨得慢跌得快,计算方法为以任一交易日为起点,统计未来涨跌超过一定幅度(如10%)所需最少交易日数的分布:             

其中rt~t+t’代表第t日和第t+t’日之间的区间收益率,inf代表下确界。对于日频收益率序列θ取0.1。T(θ)代表实现涨跌幅θ所需最少天数t’的分布。一般而言,下跌超过10%所需最少天数的分布T(-0.1)位于上涨超过10%所需最少天数的分布T(0.1)的左侧,表现出盈亏不对称性。

需要说明的是,以上指标的原始定义均针对日频收益率序列。实证表明,其它频率收益率序列(如月频)也具备上述性质。具体计算时,针对日频和月频收益率序列所使用的参数略有差异,如下表所示。

对照组

除GAN以外,重采样和时间序列分析模型也是模拟金融资产时间序列的常用方法。本文以重采样中的Bootstrap方法和时间序列分析的GARCH模型作为对照组,与GAN生成的虚假序列进行比较。

Bootstrap生成虚假序列的方法是:对原始收益率序列进行有放回地抽样,重复T次,得到长度为T的虚假序列。

GARCH模型生成虚假序列方法是:对原始收益率序列拟合含均值的GARCH(1,1)模型,得到各参数的估计量,随后模拟长度为T的虚假序列。GARCH模型的概念本文不作赘述。

结果

本文训练GAN分别学习上证综指日频序列、沪深300日频序列、标普500日频序列和标普500月频序列,各生成1000条虚假序列,随后采用6项评价指标检验生成序列质量,并与对照组Bootstrap和GARCH模型生成的序列进行对比。以下分别展示四组测试结果,重点介绍上证综指日频序列结果。

上证综指日频序列

我们训练GAN学习上证综指2004/12/31~2020/04/30的日频收益率序列,并生成1000条长度为2520日的虚假收益率序列,随后转换为初始值为1的归一化价格序列。

真假序列展示

GAN历次迭代的损失函数随时间变化如左下图所示。判别器D的损失在第1次迭代时取得全局最大值,此后先降后增,在200次附近达到阶段极大值,随后逐渐减小,最终稳定在0.5~1.0的范围。生成器G损失的变化规律和判别器D刚好相反,开始迭代时较低,此后先增后降,在200~300次之间达到阶段极小值,随后逐渐增大,最终在更宽的范围内波动,波动中枢在1.0~1.5之间。

这里需要说明的是,生成器G的损失增大,并不一定代表G“越变越差”,因为此时判别器D“越变越好”。这就好比对手越来越强,尽管被对手打得越来越惨,但是自身势力其实也越来越强。由于GAN的判别器和生成器是博弈关系,无法观察到任何一方损失函数收敛,这也是GAN训练的难点。

真实序列如图表12;我们选取1000条虚假序列中的8条,分别展示在图表13和图表14中。可以看到生成序列内部差异性较大。

对照组假序列展示

我们同时展示对照组Bootstrap和GARCH模型生成的假序列。Bootstrap生成结果如下面两张图所示。肉眼对比GAN结果和Bootstrap结果,一个相对明显的现象是GAN的局部“抖动”更小,且更接近真实序列。猜测GAN在刻画波动率聚集性质方面相较于Bootstrap更好,下一小节我们将通过定量指标加以说明。

GARCH模型生成结果如下面两张图所示。GARCH模型的特点是部分生成序列可能出现极端的波动。

评价指标对比

仅凭肉眼观察无法判断生成序列的质量。我们分别计算真实序列、GAN生成序列、Bootstrap生成序列和GARCH生成序列的6项评价指标,从定量视角加以评判。

上证综指真实日频序列的6项评价指标如下图所示:

1. 自相关性:左上子图为收益率的k=1~120阶自相关系数,真实序列的自相关系数接近0,不具备自相关性。

2. 厚尾分布:中上子图类似于标准化日度收益率的累积概率分布函数。传统累积概率分布函数为p(r≤x),这里取p(r>x),等价于1-p(r≤x)。该函数衰减越快,说明收益率越接近正态分布;衰减越慢,说明收益率越接近厚尾分布。

3. 波动率聚集:右上子图为收益率绝对值的k=1~120阶自相关系数,能观察到明显衰减,即体现波动率的短时程正相关和长时程不相关。

4. 杠杆效应:左下子图展示当前收益率和未来波动率的滞后1~120阶相关度,该图能观察到低阶负相关和高阶不相关。注意这里的相关度不完全等价于相关系数,具体计算方式请参考上一章方法部分。

5. 粗细波动率相关:中下子图的蓝色点为细波动率和粗波动率的滞后k阶相关系数,橙色点是±k阶相关系数之差。蓝色点左右不对称,橙色点在低阶区间小于0,表明当前细波动率能预测未来粗波动率,但当前粗波动率无法预测未来细波动率。

6. 盈亏不对称性:右下子图红点和蓝点代表涨跌超过10%所需最少天数的分布。红色分布峰值位于蓝色分布峰值右侧,代表涨得慢跌得快。

分别计算GAN生成1000条序列的6项评价指标并求其均值,结果如下图所示。和上图真实序列结果对比可知,GAN能够良好复现出这6项性质。GAN的特点是依赖深度神经网络,学习能力强。

分别计算Bootstrap生成1000条序列的6项评价指标并求其均值,结果如下图所示。和真实序列结果对比可知,Bootstrap能够复现出自相关性(左上子图)、厚尾分布(中上子图)和盈亏不对称性(右下子图),但难以复现波动率聚集(右上子图)、杠杆效应(左下子图)和粗细波动率相关(中下子图)。Bootstrap抽样破坏了原序列的时序关系,在时序无关的指标——厚尾分布上表现良好,在部分时序有关的指标上表现不佳。

分别计算GARCH生成1000条序列的6项评价指标并求其均值,结果如下图所示。和真实序列结果对比可知,GARCH能够复现出自相关性(左上子图)、厚尾分布(中上子图)和波动率聚集(右上子图),但难以复现杠杆效应(左下子图)、粗细波动率相关(中下子图)和盈亏不对称性(右下子图)。GARCH模型侧重于序列的时序性质,在传统时序有关的指标——自相关性、波动率聚集上表现良好,但是在更为精细的指标—杠杆效应、粗细波动率相关上表现不如GAN。

真实序列和3种生成方法在6项评价指标上表现汇总如下表所示。GAN生成序列在6项指标上均接近真实序列,复现效果良好,优于Bootstrap和GARCH。

随机数种子点敏感性分析

华泰金工《人工智能20:必然中的偶然:机器学习中的随机数》(20200429)研究发现,全连接神经网络的判别模型对随机数种子点较为敏感。不同种子点训练出的GAN生成模型是否有较大差异?我们在4组不同的种子点下训练GAN,发现6项指标在种子点间的差异较小,如下表所示。可以认为GAN模型对种子点不敏感。

其他序列评价指标对比

GAN在沪深300日频序列、标普500日频序列和标普500月频序列的详细测试结果请参见附录。这里展示最终6项评价指标的汇总结果。总的来看:

1. 对于日频序列,GAN生成序列在6项指标上均接近真实序列,复现效果良好,优于Bootstrap和GARCH;

2. 对于月频序列,GAN生成序列仅在波动率聚集指标上表现不佳,其余5项指标的复现效果良好,也优于Bootstrap和GARCH。

应用试举

GAN有哪些应用价值?本章我们首先探讨GAN的三个潜在应用场景,随后以量化策略参数选择为例,展示GAN在量化投资领域的使用。

GAN应用漫谈

提供更丰富的训练样本

在图像识别领域,GAN的重要作用之一是提供更丰富的训练样本。图像本身的样本空间就是巨大的,机器学习尤其是深度学习的参数数量同样巨大,另外在部分领域获取样本的成本较高(如医学影像、自动驾驶),以上三点使得任何的样本集在深度学习面前都是小样本。

类似的问题在量化投资领域同样存在,我们所能获取的历史样本总是有限的。而GAN生成的海量样本能够一定程度上缓解小样本问题,使得机器学习模型学习更为充分。在量化学术研究领域不乏应用先例,如Koshiyama等(2019)将GAN的变式cGAN应用于机器学习集成模型。

检验量化策略过拟合程度

在量化投资领域,GAN的另一个应用场景是针对量化策略开发的“痛点”——回测过拟合问题,即模型在回测阶段表现良好,在实盘阶段表现不佳。我们在《人工智能19:偶然中的必然:重采样技术检验过拟合》(20190422)和《人工智能22:基于CSCV框架的回测过拟合概率》(20190617)研究中,介绍两种检验回测过拟合的方法,其思路是接近的:“真实世界”只有一个,但我们可以模拟出更多的“平行世界”,检验“真实世界”回测效果最好的策略在“平行世界”的表现是否稳健。

《偶然中的必然:重采样技术检验过拟合》一文提出的方法是Bootstrap,而我们通过上一章的测试结果发现Bootstrap的生成数据质量不如GAN。《基于CSCV框架的回测过拟合概率》一文介绍的方法是组合对称交叉验证,该方法的缺点是仅仅将原始资产时间序列打乱,并没有真正意义上模拟出“平行世界”,并且打乱时序是否合理也值得商榷。

就生成虚假数据的质量而言,GAN应该是生成模型中的最优选择之一。我们可以将基于真实数据开发的量化策略,放在GAN的生成数据中测试,检验其过拟合程度。这方面可供参考的学术文献较少,值得我们进一步探索。

预测未来

量化策略开发的最终目标是预测未来,指导投资实践。这方面是判别模型的主战场,而生成模型看似无用武之地。然而生成模型实际上也有可能帮助我们预测未来。例如,GAN的变式cGAN可以在给定的标签下进行生成,例如给定“男性”标签后生成“男性人脸”。理论上也可以借助cGAN预测资产收益,例如给定“过去两周的日频涨跌幅”标签,生成“未来1天的涨跌幅”。这方面可供参考的学术文献同样较少,并且由于GAN本身较难训练,相比于直接应用深度学习等判别模型进行预测,实际上难度更大。

案例:双均线择时策略参数选择

下面我们展示GAN的一个应用案例:沪深300指数双均线择时策略参数选择。双均线择时规则为:以t日指数收盘价计算短均线和长均线,当短均线自下而上穿越长均线时,在t+1日收盘开仓做多;当短均线自上而下穿越长均线时,在t+1日收盘平仓。尽管这样简单的策略可能缺乏实践意义,然而不失为一种好的“教具”。

双均线择时策略对两个参数——短、长均线长度较敏感。下图为两组参数(5,20)和(7,28)在真实沪深300数据上的回测结果。回测期为2004年底至2020年4月底,交易费率为万二点五。优化后的参数(7,28)相比原始参数(5,20)多出6.6%的年化超额收益。问题在于,如何证明(7,28)这组参数确实比(5,20)好,而不是对回测数据的过拟合?

一个简单的方法是,将两组参数在上一章GAN生成的1000条长度为2520天的沪深300虚假序列上进行回测。下面两张图展示分别展示两条虚假序列的回测结果。

统计两组参数在全部1000条虚假样本的年化超额收益和信息比率,频次分布如上面两张图所示。参数(7,28)的年化超额收益在86.7%的虚假数据回测中占优,信息比率在85.8%的虚假数据回测中占优。对两组参数的年化超额收益和信息比率分别进行配对样本t检验,p值均达到显著性水平(p

另一个现象是两组参数在虚假数据的平均年化超额收益和信息比率均低于真实数据。这一现象可以有多种解读。如果我们认为GAN生成数据能够完美复刻真实数据的方方面面,那么虚假数据回测弱于真实数据回测的结果说明,双均线择时策略的两组参数均存在一定过拟合。注意这一点和此前的结论并不矛盾。参数(7,28)确实比参数(5,20)更好,但两者都未必能在样本外获得稳定超额收益。

反过来,如果我们认为GAN生成数据还不够好——这并非没有可能,因为GAN仅仅通过了6项评价指标的检验,但仍然可能不够“真”,例如GAN生成序列可能出现过多的局部反转,而双均线择时策略更青睐趋势性强的资产——那么任何关于过拟合检验的结论仍然是不完备的。我们需要寻找更合适的方法评估GAN的优劣。说到底,我们对样本外的世界一无所知,如何评价生成数据像不像真实数据,是一个暂时难以回答,但始终需要面对的问题。

总结和讨论

本文关注生成对抗网络GAN及其在量化投资领域的应用。GAN的核心思想是通过学习真实训练数据,生成“以假乱真”的数据。GAN包含判别器D和生成器G两组神经网络,引入博弈的思想,通过交替训练的方式达到纳什均衡。我们训练GAN生成不同市场、不同时间频率的股指收益率和价格序列,并与Bootstrap和GARCH等其它生成虚假数据方法相比较,以波动率聚集、盈亏不对称性等指标评估生成模型优劣。结果表明,GAN生成的数据质量优于其它两种方法。最后我们以双均线择时策略参数选择为案例,展示GAN在检验过拟合上的应用。

GAN最具特色之处在于其训练方式,“以子之矛,攻子之盾”。GAN包含判别器D和生成器G两组神经网络,G的目标是生成尽可能逼真的赝品,D的目标是尽可能将真品和G生成的赝品区分开。GAN引入博弈的思想,采取交替训练方式,两个网络能力同时提升,直到达到纳什均衡状态,此时D“明察秋毫”,而G生成赝品的技艺“巧夺天工”。从数学原理看,GAN的目标是最小化生成数据分布和真实数据分布的JS散度。GAN的优点是生成数据质量更好,学习过程更简单,并且能够与深度学习结合。GAN的缺点是黑箱问题,训练不收敛,G和D训练不同步,以及模式崩溃问题。

我们采用GAN对上证综指日频序列、沪深300日频序列、标普500日频序列和标普500月频序列进行学习并生成1000条虚假序列,随后采用自相关性、厚尾分布、波动率聚集、杠杆效应、粗细波动率相关、盈亏不对称性共6项评价指标检验生成序列质量,并与对照组Bootstrap和GARCH模型生成的序列进行对比。结果表明,GAN生成序列能够复现出上述6项真实序列具备的特性,而Bootstrap和GARCH仅能复现出部分性质。GAN相比于其它金融时间序列生成方法具有显著优势。

GAN在量化投资领域的潜在应用价值包括:提供训练样本,检验量化策略过拟合程度,预测未来。机器学习应用于量化投资始终面临小样本困境,GAN能够生成更丰富的训练样本,一定程度上缓解小样本问题,在量化学术研究领域不乏应用先例。量化策略开发的“痛点”之一是回测过拟合,我们可以将基于真实数据得到的量化策略,放在GAN模拟出的“平行世界”中测试,以检验过拟合程度。GAN的变式如cGAN有可能帮助我们预测未来,但目前研究相对较少。我们以双均线择时策略参数选择为案例,展示GAN在检验过拟合上的应用。

本文是对GAN模型在量化投资应用的初步探索,存在诸多不完善之处:

1. 首先GAN存在难以训练、模式崩溃等问题,研究者提出诸多训练技巧及GAN的变式加以应对,这些技巧和变式的原理是什么,真实效果如何,需要在未来加以考察。

2. 其次,GAN模型生成数据在6项评价指标上表现良好,并不表示GAN能够完美复刻真实数据的方方面面。能否提出更多的检测指标,又或者能否通过其它方式检验GAN生成数据的质量?

3. 再次,本文使用GAN生成单个资产的时间序列,而在资产配置领域,模拟单个资产是不够的,我们还希望GAN模拟出多个资产之间的共变关系。

4. 最后,本文仅通过双均线择时策略参数选择的简单案例,展示GAN在检验过拟合上的应用。这种检验方式的效力如何,是否还有改进空间,也都值得在未来进行系统性的探索。

参考文献

Brundage, M. , Avin, S. , Clark, J. , Toner, H. , Eckersley, P. , & Garfinkel, B. , et al. (2018). The malicious use of artificial intelligence: forecasting, prevention, and mitigation.

Goodfellow, I. , Pouget-Abadie, J. , Mirza, M. , Xu, B. , Warde-Farley, D. , Ozair, S. , Courville, A. , & Bengio, Y. (2014). Generative adversarial nets. In Proceedings of the 27th International Conference on Neural Information Processing Systems - Volume 2 (NIPS’14). MIT Press, Cambridge, MA, USA, 2672–2680.

Koshiyama, A. , Firoozye, N. , & Treleaven, P. . (2019). Generative adversarial networks for financial trading strategies fine-tuning and combination. arXiv.

Lin, J. (2006). Divergence measures based on the Shannon entropy. IEEE Trans. Inf. Theor. 37, 1 (September 2006), 145–151. DOI:https://doi.org/10.1109/18.61115

Qiu, T & Zheng, B. & Ren, F. & Trimper, S. (2006). Return-volatility correlation in financial dynamics. Physical review. E, Statistical, nonlinear, and soft matter physics. 73. 065103. 10.1103/PhysRevE.73.065103.

Takahashi, S. & Chen, Y. & Tanaka-Ishii, K. (2019). Modeling financial time-series with generative adversarial networks. Physica A: Statistical Mechanics and its Applications. 527. 121261. 10.1016/j.physa.2019.121261.

风险提示

GAN生成虚假序列是对市场规律的探索,不构成任何投资建议。GAN模型存在黑箱问题,训练不收敛不同步,以及模式崩溃问题。深度学习模型存在过拟合的可能。深度学习模型是对历史规律的总结,如果市场规律发生变化,模型存在失效的可能。

附录

附录部分详细展示GAN在沪深300日频序列、标普500日频序列和标普500月频序列的结果。

沪深300日频序列

真假序列展示

评价指标对比

标普500日频系列

真假序列展示

评价指标对比

标普500月频系列

真假序列展示

评价指标对比

免责声明与评级说明

公众平台免责申明

免责声明:自媒体综合提供的内容均源自自媒体,版权归原作者所有,转载请联系原作者并获许可。文章观点仅代表作者本人,不代表新浪立场。若内容涉及投资建议,仅供参考勿作为投资依据。投资有风险,入市需谨慎。

过拟合 收益率 量化投资 我要反馈 新浪直播 百位牛人在线解读股市热点,带你挖掘板块龙头 收起 @@title@@ @@status_text@@@@program_title@@ 热门推荐 收起 新浪财经公众号

24小时滚动播报最新的财经资讯和视频,更多粉丝福利扫描二维码关注(sinafinance)

相关新闻 加载中 点击加载更多


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3