王 博, 郭书东, 傅安瑞
(南京大学 工程管理学院, 江苏 南京 210093)
投资组合问题一直以来都是金融界关注的焦点,其主要研究如何将资本分配到一系列证券上,从而实现高收益并降低风险。例如:在收益率一定的情况下,如何将投资风险最小化,或是在可承受的风险范围内,如何实现收益最大化。然而,金融市场的复杂性和波动性使得证券的未来收益具有极强的不确定性且难以被精确预测,这大大增加了投资者对投资收益和风险进行评估的难度。
目前,研究人员主要采用概率或隶属度分布、区间以及场景表示等方法来对证券未来收益的不确定性进行描述。此外,投资组合的风险一般可分为系统性风险和非系统性风险。系统性风险主要由市场因素引起,属于外部风险,难以通过分散投资来降低。因此,在早期研究中,学者们更多关注的是对非系统性风险的度量,常用的评估方法包括方差、绝对离差、熵等。近年来,随着研究的深入,风险价值(Value-at-Risk,VaR)和条件风险价值(Conditional Value-at-Risk,CVaR)等先后被提出,从而较好地实现了对系统性风险的度量。
基于对未来收益的预测和对投资风险的评估,研究人员建立了相应的投资组合优化模型,并对求解方法展开了广泛的研究。投资组合模型通常具有高维、非凸、非线性等特征,属于典型的NP-hard问题。传统的求解算法包括分支定界法、动态规划法以及优先级列表法等。上述方法虽然便于实现,但是存在数学推导繁琐和难以求解多目标优化问题等不足。
近年来,数据存储及人工智能的飞速发展为投资组合问题的研究提供了新思路和技术支持。现有文献表明,利用大数据和深度学习算法对证券收益率进行预测,并采用智能算法对模型进行求解均具有良好成效。
基于上述背景,本文首先采用生成对抗网络(Generative Adversarial Networks,GAN)对多个证券收益率可能出现的场景进行预测,随后建立相应的多目标优化模型,并对求解算法进行改进。本文研究框架设计如下:第二部分介绍投资组合问题的研究背景,并对国内外关于证券收益不确定性的表示方法、投资风险的评价方法以及模型的构建与求解算法等进行回顾;第三部分对GAN和VaR的基本概念进行介绍,并建立相应的多目标投资组合模型;第四部分对已有的多目标遗传算法(Non-Dominated Sorted Genetic Algorithm-II,NSGA-II)进行改进,从而对模型进行高效求解;第五部分通过真实案例验证所提方法的有效性;最后,第六部分对本文研究进行总结和展望。
1.基于随机变量、模糊变量的投资组合
1952年,Markowitz(1999)首次提出现代投资组合理论,其对证券资产的选择分为如下两个阶段:第一阶段,基于可选证券过去的表现及投资者的自身经验,进行证券价格未来走势的预测;第二阶段,基于走势预测,开展投资组合优化并作出决策。当已经获得可选证券集合的期望收益及方差时,理想的投资组合决策应使得投资期望均值最大且方差最小。[1]Fried(1970)对投资组合模型中证券资产的收益均值及方差给出了更具体的定义,为均值—方差模型的广泛使用提供了更扎实的理论基础。[2]Davis和Norman(1990)在投资模型中引入交易成本,并假设银行存款利率为定值、证券价格服从正态分布,在此背景下寻求最优投资策略。案例分析证明在交易费率为定值的情况下,最优买卖策略正比于V型区域边界下的非线性无界问题的最优解。[3]
相较于基于出现频率的概率分布模型,Tanaka(1995)研究了基于可能性多元分析的投资组合模型。[4]可能性多元分析包括可能性回归分析、可能性判别分析和可能性投资组合。基于专家对于证券给出的重要性等级数据,Tanaka等(1995)证明了在投资组合的实际应用中,可能性分布模型比概率分布模型具有更优异的预测性。此外,Tanaka等进一步结合专家经验与证券收益的概率分布来定义证券的重要性等级,并证明了可能性分布模型具有更好的投资组合表现。[5]在此基础上,考虑到投资者需要权衡众多因素才能作出投资决策,而其中的一部分因素可能是模糊不清、难以用概率理论来解释的,因此,Chu等(1996)引入模糊变量建立了投资组合模型[6]。近期,Wang等(2011)采用模糊风险值理论(Fuzzy VaR)作为投资风险的评价指标,并建立了相应的模糊投资组合模型。本文基于实际情况,将投资者分为两类:保守型与风险偏好型。针对保守型投资者,设定VaR阈值,在VaR不超过阈值的情况下,尽可能追求期望收益的最大化;针对风险偏好型投资者,在设定最低投资期望收益率的前提下,尽可能最小化VaR。当假定可选证券为模糊变量后,即可根据其隶属度函数获取VaR值及期望收益率。实验证明,基于模糊VaR的投资组合模型更易被一般投资者所接受。[7]
2.基于区间变量的投资组合
在基于随机变量或模糊变量的投资组合中,一方面证券的概率或者隶属度分布有时难以精确获取,另一方面,证券的未来收益未必完全服从某个固定的分布。因此,部分学者也开展了基于区间预测的投资组合研究。Giove等(2006)在投资组合模型中引入了含区间变量的回归函数,通过最小化回归函数使得投资组合模型达到最优投资表现。回归函数不仅具有较强的数学可推导性,而且具有较好的泛化能力,可应用于多种投资组合模型中。实验证明,在理想条件下,区间投资组合可在不显著增加计算复杂度的前提下,解决含大规模证券的投资组合问题。[8]Bhattacharyya等(2011)采用模糊集(Fuzzy Sets)中的区间数将均值—方差模型扩展为均值—方差—倾斜度投资组合模型,并且将交易成本纳入模型之中,同时,Bhattacharyya等(2011)在模型中引入了短期回报、长期回报、资产流动性、红利、证券资产数量等约束指标,并提出了乐观型、悲观型及中立型投资组合模型,随后采用遗传算法来求解模型,最终证明了基于区间变量的投资组合模型具有更优异的投资表现。[9]此外,融入上述约束指标能够使得理论模型更贴近现实。Mohagheghi等(2015)将投资回报的净现金流定义为模糊区间数,提出了一种新的投资组合模型。概括而言,该模型通过定义模糊区间风险指数、回报指数、风险—回报复合指数来对投资方案进行综合评价。基于真实数据的实验结果表明,该方法具有较高的投资回报。[10]
3.基于场景生成的投资组合
一般而言,随机优化是求解含不确定信息的组合优化类问题的重要手段。在上述基于随机变量、模糊变量及区间预测的投资组合研究中,不确定性描述多以微积分形式存在,难以被随机优化直接利用,而要采用随机优化方法对投资组合问题进行求解,就需具备关于证券未来收益的一系列有效的场景信息。因此,有学者对随机变量或区间变量进行抽样组合,形成海量场景。然而,这类方法往往忽略了多个证券收益之间的相关性,最终导致优化结果不佳。针对上述问题,通过使用场景生成技术来直接产生未来多个证券组合场景的方法逐渐受到关注。
1971年,Bradley和Crane(1972)首先解释了场景生成技术在金融领域的适用性。[11]不久,Mulvey和Vladimirou(1992)在资产配置方面也验证了这一点。[12]1996年,Nielsen和Zenios(1996)使用场景生成技术来进行固定收益投资组合管理。[13]随后,Consiglio等(2001)将这些技术推广至保险行业。[14]至此,场景生成技术开始广泛应用于金融领域。
20世纪末,Carino等(1994)提出基于历史数据的统计方法能够简单、快速地生成场景,该方法不需要对收益率的分布函数做任何假设,也不需要计算证券之间的相关性,而是将它们隐含在市场观察到的数据之中。[15]因其简便性,在之后的研究中,基于历史数据的场景生成技术成为最常用的方法之一。然而,Carino等(1998)通过后续研究发现,仅利用历史数据生成场景会存在未来与过去观察到的价格走势不同的问题,而且可生成的场景数量也受到了可用历史数据量的限制。[16]
针对上述不足,Yu(2002)提出了基于历史数据的引导技术来分析证券收益之间的相关性。[17]随后,Kouwenberg和Zenios(2008)也发现当可用样本数量相对较少,并且需要大量观察值时,使用引导技术进行场景生成的效果较优。[18]类似的,为保证观测的独立性,Hall等(1995)提出了块引导技术,[19]它是引导技术的变体,是在原有基础上通过场景块来保留各时段原始数据的相关性。其中,块表示一系列连续的场景。引导和块引导技术的优势在于不受系统选择错误的影响。然而,也有部分研究表明上述方法仍无法改变未来收益可能与过去所观察到的数据存在较大差异的缺陷[20]。
为此,Levy(2003)将蒙特卡罗仿真技术运用于投资组合领域。蒙特卡罗仿真是一种参数化的方法,利用给定的分布函数来生成场景。[21]在实际应用中,多元正态分布是最常采用的分布函数。此外,Bollerslev等(1988)发现证券收益的时间序列具有波动性集群效应,因此,利用随机过程可以较好地实现场景生成。[22]其中,最常用的是广义自回归条件异方差模型(Generalized Autoregressive Conditional Heteroskedasticity model,GARCH),Ding和Engle(2001)将单变量GARCH随机过程扩展到多元,进一步提升了场景生成的质量[23]。
概括而言,在传统的场景生成方面,常用方法包括引导技术、块引导技术、蒙特卡罗仿真技术和GARCH等,其中,前两种场景生成技术是非参数的,后两种则需要对证券收益分布的参数进行评估。非参数方法和参数方法的本质区别在于前者生成的场景是由历史数据决定的,而后者则需要对未来收益的分布函数进行假设。非参数方法的主要优点在于计算简单、易于理解,但由于其严重依赖于某个给定的样本,因此,很难推广到其他样本上。此外,如若样本中的观测值存在明显偏差,那么非参数方法生成的场景也会相应地出现较大偏差。相比之下,参数方法的不足在于其效果过分依赖于所选的分布函数,故而对分布函数和相关参数的选择至关重要。
上述研究主要基于传统的统计方法,近年来深度学习技术(如神经网络、卷积神经网络、循环神经网络等)的出现和不断发展为大量历史数据的分析与处理提供了新思路。其中,Goodfellow等(2014)提出的生成对抗网络(GAN)是近年来无监督学习中最具前景的方法之一[24]。GAN包括两个模型:捕获数据分布的生成器G以及评估样本来自训练数据可能性的判断器D。两个模型之间是博弈对抗的关系:生成模型的目的是生成假样本,企图彻底骗过判断模型;而判断器通过学习真样本和假样本,提高自己的鉴别能力,使自己不被假样本欺骗。两个模型相互博弈学习,直到所生成的假样本与真样本很接近则停止训练。目前,GAN已被广泛用于图像、电力系统等领域,一系列研究成果表明,GAN具备针对海量、高维历史数据生成带有时空关联性场景的能力。考虑到证券价格的历史数据同样存在上述特征,因此,本文将采用GAN生成多个证券的价格和收益率场景,并在此基础上开展投资组合研究。
1.单期投资组合
早期的投资组合主要通过自我主观判断与累积经验来制定投资决策,这一状况直至20世纪50年代才得到改善。Markowitz(1952)基于概率论,以均值和方差来分别表示某投资组合方案的期望收益和风险值,提出了均值—方差投资组合模型。该模型首次将定量分析方法运用到金融投资领域。[25]然而,在实际应用中,采用均值—方差模型的前提是效用函数中的收益率需满足正态分布,从而与期望效用理论相匹配,此外,当涉及的投资组合问题阶数过高时,该模型的求解将上升到多次协方差矩阵,导致计算复杂度呈指数式增长。同一时期,Roy(1952)提出了安全第一的投资组合模型,该模型在给定的风险水平约束下,证明了投资者的最优投资组合即为均值—方差模型的边界。[26]
针对均值—方差模型中存在的不足,Sharpe(1963)提出了单指数模型,其假设投资组合中的各证券均是相互独立的,且仅与市场相关,并在模型求解中利用对角线原则来简化非对角线矩阵元素,降低了均值—方差模型的计算复杂度。[27]类似的,为避免均值—方差模型求解复杂度较高这一问题,Perold(1984)引入多因素工具来简化求解矩阵中的秩问题,[28]而Konno和Suzuki(1992)也使用紧因子分解法对含大规模证券的投资组合模型进行求解[29]。针对均值—方差投资组合模型中关于收益分布的假设问题,徐绪松和侯成琪(2006)提出了非正态分布条件假设,引入以拟合优度为验证指标的均值—尺度参数投资组合模型。[30]近期,石珂琦(2015)在风险评价指标CVaR的基础上提出了GARCH模型来拟合投资方案的预测收益。[31]
2.多期投资组合
传统的单期投资组合模型假设投资决策一旦制定便不再调整,直到该投资结束。然而,在实际应用中,固定的投资策略难以获得较高的回报,因此,大多数投资者更加青睐于灵活的投资策略,以求提高投资收益。此外,采用多期投资组合的另一个重要原因在于投资者不会一成不变地执行某个投资策略,而是会根据证券市场实际情况动态改变投资策略。相比于单期投资组合模型,多期投资组合模型本质上是基于不确定性动态理论,投资者可以在每个周期阶段调整投资策略来应对证券市场的不确定性。在此背景下,多期投资组合受到了学术界的广泛关注。[32]
Mossin(1968)首先提出了利用动态规划的方法将单阶段模型推广到多阶段,即多期投资组合。[33]但受限于模型求解技术,直至2000年,Li和NG(2000)通过嵌入式途径得到了多阶段均值—方差模型的最优策略和有效前沿的解析表达式,从而使多阶段投资组合模型的求解得到了突破。[34]近年来,Sun等(2016)提出了多期投资组合的极大、极小模型,并对其相关解析解进行了研究。[35]针对动态规划策略问题,Zhu等(2004)提出了广义均值—方差模型,通过求解该模型来获取最优投资策略,即在控制相关风险的前提下最大化期望收益。[36]类似的,Calafiore(2008)提出的具有控制策略的多期投资组合优化模型,较好地解决了金融资产配置中的多周期序列问题。[37]Wu和Li(2011)先后研究了具有状态转换和不确定退出时间的多期均值—方差投资组合问题,[38]以及多期均值方差框架下非自筹资金的投资组合问题[39]。近期,Liu和Chen(2018)为更好地描述动态投资风险的时变特性和随机收益过程的模糊性,提出了在制度转换框架下的两种多期鲁棒风险测度,该测度基于区域动态不确定性集合,为投资者提供了适应市场环境变化的鲁棒投资组合策略。[40]
3.多目标投资组合
随着建模技术的发展,多目标投资组合优化也逐渐受到了关注。从起源上来看,意大利经济学家Pareto最早将涉及到多个目标函数的问题定义为多目标优化。该类优化在管理学领域上被归纳为多目标决策问题,旨在通过求解数学模型得到一系列互不支配的Pareto解。[41]针对多目标模型的求解,Geoffrion(1968)提出了加权和法。[42]随后,Haimes等(1971)通过保留单个目标,并将其他目标转化为约束条件的方式来解决多目标优化问题。[43]
以上求解思路主要是将多个目标函数转化为单个目标函数,通过调整各目标函数的权重,实现对多目标优化模型的求解。随着人工智能技术的不断发展,进化(智能)算法逐渐成为求解多目标优化问题的有效手段之一。对进化算法而言,近年来,遗传算法、差分进化算法、免疫算法、蚁群算法、模拟退火算法和粒子群算法逐渐出现并被广泛用于求解众多复杂非线性问题。在多目标优化领域,Schaffer(1984)最早提出了基于向量的多目标遗传算法。[44]Doerner等(2004)采用蚁群算法对多目标投资组合问题进行求解,其中,基于信息素和随机权重的方法使得算法的计算效率得到了提升。[45]在此期间,NSGA、SPEA、NSGA-II、SPEA2也不断地被提出,研究人员已在一系列多目标优化问题上验证了各种算法的有效性。此外,为解决基于Pareto支配关系算法难以得到最优结果的问题,Qi等(2014)提出了基于自适应权重的MOEA/D算法,将多目标优化问题分解成多个标量优化子问题,并实现了对整体问题的求解。[46]针对上述投资组合模型及求解方法的文献分析,本文首先采用GAN进行场景生成,通过训练GAN的生成器和判断器,直接产生服从历史数据分布的证券未来收益场景;随后,利用风险值(VaR)来评估给定置信度水平下投资组合方案的最大损失值,并建立同时最大化期望收益和最小化风险值的多目标投资组合模型;最后,结合竞争学习策略对现有的NSGA-II算法进行改进,从而对模型进行高效求解。
生成对抗网络(GAN)是由Goodfellow(2014)首先提出的一种神经网络模型,它主要包括两个深度神经网络:生成器G和判别器D。[24]核心思想源自博弈论中的零和博弈:G通过学习真实数据的潜在分布来生成以假乱真的数据样本,D也在不断学习以提高自己分辨真伪的能力。在整个训练过程中,G和D两个神经网络交替更新自己的权重,通过不断地迭代,最终使双方达到纳什平衡。
具体而言,生成器G的输入可以是任意一种随机分布z~Pz(z)(如高斯分布),G的目标是通过训练使该采样输入z的输出G(z)尽可能逼近真实分布Pg(x);相对应的,判别器D的输入数据来自真实数据x以及生成器生成的数据G(Z)。经过网络层映射到标量输出D(·),代表输入数据服从真实分布的概率。G和D的损失函数分别定义如下:
LG= -Ez~Pz(z)[D(G(z))],
(1)
LD= -Ex~Pg(x)[D(x)]+Ez~Pz(z)[D(G(z))]。
(2)
上述两个损失函数可整合成以下统一的目标函数形式:
(3)
在训练开始阶段,判别器D能够轻易分辨出输入数据来自于哪一部分,但随着网络对抗训练的不断进行,真实数据x和生成数据G(Z)之间的差异越来越小,最终使得D无法分辨出输入数据的真伪,此时网络达到平衡状态,表示训练过程完成。
另一方面,证券收益率场景是指多支证券在未来某一天的某项指标(如收盘价)不确定性关系的采样近似表示,若能够得到未来某时段内的收益率场景,投资者据此便能制定出相应的最优投资组合策略,从而实现期望收益最大化,并规避风险。然而,在实际金融交易过程中,投资者往往无法准确地对收益率场景的先验分布进行有效估计,因此,传统的基于概率分布抽样的场景生成法难以应用在分布未知的证券收益率场景生成任务之中。相比之下,GAN则能够另辟蹊径,借助深度神经网络强大的数据映射和模型泛化能力,不需要对收益率的分布进行概率模型估计就能直接生成服从历史数据分布的样本,因此,针对这一优势,本文采用GAN生成若干数量的未来收益率场景,来对多支证券的收益不确定性进行表示,从而为投资者提供有效的决策信息。值得注意的是,采用GAN进行不确定信息预测的研究刚刚起步,且现有文献主要集中于电力系统的负荷、可再生能源发电的场景生成,鲜有用于证券收益预测的相关研究,因此,采用GAN生成证券未来收益场景也是本文的主要创新点之一。
在投资组合领域,假设证券i的未来收益不确定性表示为ξi,未来损失的不确定性表示为Li,显然,可知Li= -ξi。风险值VaR测算的是在给定置信水平1-β下,该证券可能出现的最低价格(可转化为可能出现的最低收益率,即最大损失),如下式所示:
(4)
式(4)中,P(Li)为不确定性分布Li的概率密度函数,λ值即为所求的证券i的VaR值。类似的,对于某个包含n支证券的投资组合策略X= (x1,…,xn),VaR评估的是在1-β置信水平下该组合可能出现的最大损失,如下式所示:
(5)
需要注意的是,上述VaR的计算公式主要针对连续变量,例如服从正太分布或威布尔分布的随机数,或无分布信息的区间数。而如前所述,本文采用具有关联特性的场景来描述证券收益的不确定性,因此,需在此背景下计算相应的VaR值,故对上述VaR的计算方法作下列拓展,以计算给定置信水平下考虑多个场景的投资组合风险值。
(6)
式(6)中,X=(x1,…,xn)表示某个给定的投资组合策略;sj指代生成的第j个场景,每个sj为n维向量,包括每支证券在该场景下的确定性的收益;m为场景总数。采用上式,可以找出投资方案X在1-β定置信水平下最坏场景的收益率λ(一般情况下,该收益率为负数,即相应的资产损失值)。
本文利用GAN较为强大的数据生成能力来产生数个候选证券的未来收益率场景。首先,对所有候选证券在历史上每一天的收盘价进行组合,并作为一个整体输入到GAN之中;随后,通过生成器和判断器的博弈对抗来对GAN进行训练,使其具备输出近似服从历史数据分布的股价场景的能力。由于在训练GAN时,输入的是过去每一天候选股票的收盘价组合,因此,利用训练后的GAN输出的场景即为可能的未来收盘价组合场景。若采用pj表示第j个组合场景,则所有m个收盘价组合场景可表示为
p1= (p1,1,…,pi,1,…,pn,1),
pj= (p1,j,…,pi,j,…,pn,j),
pm= (p1,m,…,pi,m,…,pn,m)。
(7)
可见,S-MOPSM在最大化所有场景下期望收益(目标1)的同时,最小化极端场景的损失(目标2)。通过对模型进行求解,所产生的多目标解集将为投资者提供有效的决策依据,此外,xi≥0表明本文不考虑卖空操作。
作为一类非线性多目标优化问题,S-MOPSM难以通过经典数学方法进行求解。如前所述,近些年来,已有大量研究致力于高效多目标进化算法的设计与开发,其中包括多目标粒子群算法(Multi-objective Particle Swarm Optimization, MOPSO)和多目标遗传算法(Multi-objective Genetic Algorithm, MOGA)等。粒子群算法(PSO)通过模仿鸟类觅食行为,利用个体间的信息共享实现种群的演化,最终找到问题的最优解。基于此,Wang等设计了基于变异支配次数以及强化学习的FS-MOPSO算法来缓解经典算法的局部最优问题。[47-48]不同于PSO,遗传算法(GA)借鉴生物进化中优胜劣汰、适者生存的规律,通过选择、交叉、变异等操作使得染色体向更优的方向进行演化。Srinivas和Deb(1994)在适应度共享的基础上,提出了非支配排序遗传算法(NSGA)。[49]然而,由于计算复杂度高且忽视了精英解的作用,NSGA并未得到广泛应用。因此,Deb等(2000)在NSGA的基础上,引入非支配快速排序方法和精英解机制,提出了非支配快速排序遗传算法(NSGA-II)。[50]实验结果表明,NSGA-II具有收敛速度快且全局搜索能力强的优点。
为进一步提高NSGA-II的求解能力,本文将竞争学习机制引入NSGA-II中。在竞争学习中,个体通过向精英解学习来更新自身染色体。具体而言,首先根据NSGA-II中的密度估计方法,计算每个精英解的密度;随后,从当前种群中随机选择个体pa,并根据轮盘赌机制选择精英解ps,精英解的密度越大,它被选到的概率越大;最后,对pa的位置更新如下:
pa=pa+η*Rand(0,1)*(ps-pa)。
(8)
式(8)中,η为控制参数。通过引入上述竞争学习机制,个体可以向适应度更高的解学习来更新染色体。图1展示了本文提出的改进的NSGA-II (Improvded NSGA-II, INSGA-II)求解多目标投资组合问题的流程图。INSGA-II的具体实施步骤如下所示。
图1 INSGA-II算法流程图
步骤1.假设[X1,X2,K,Xn]表示某个对n支证券的投资方案。首先,针对每个个体,采用随机函数在(0,1)内初始化[X1,X2,K,Xn]。
步骤2.针对每个个体,对[X1,X2,K,Xn]进行归一化处理,第i支证券的投资量Xi转化为
(9)
步骤3.对每个个体,其在场景j下的收益率rj可计算为rj=Xsj,随后,根据模型(7)分别计算两个目标函数,即计算所有场景下收益率的期望和VaR。
步骤4.将当前种群与精英解集合并成一个综合种群PU(第一次迭代时精英解的个数为0)。
步骤5.检查PU中每个个体之间的支配关系并记录其支配次数和被支配次数。将被支配次数为0的解挑选进入最新的精英解集。
步骤6.根据个体之间的支配关系,将种群分为不同层级:
步骤6.1.设置k=1;
步骤6.2.将被支配次数为0的解设置为第k层级,将第k级中的个体从PU中删除并重新检查个体之间的支配关系,k=k+1;
步骤6.3.若PU为空,则终止种群的层级划分;否则,转到步骤6.2。
步骤7.根据密度保留策略,从PU中选取一定数量的个体组合为临时种群PT:
步骤7.1.设置k= 1,nr等于种群个体数;
步骤7.2.比较第k层级中个体数nk和nr;
步骤7.3.如果nk小于nr,将nk加入到PT中,nr=nr-nk,k=k+1,转到步骤7.2;否则,参照文献[50]中的密度计算规则计算k层级中每个个体的密度,按密度从大到小排列,并将排序前nr的个体加入到PT之中。
步骤8.对PT中的个体,使用经典遗传算法中的选择、交叉、变异算子以及本文提出的竞争学习算子获得子代种群。
步骤9.如迭代次数大于等于预先设定的数值,保存精英解并终止算法;否则,转到步骤2继续执行。
为验证所提模型和算法的有效性,本节选取(1)苹果、(2)百度、(3)雪佛龙、(4)英国石油公司、(5)瓦莱罗能源公司、(6)通用汽车、(7)克罗格、(8)网易、(9)搜狐、(10)腾讯共10支股票作为候选,考虑于2019年1月1日开始进行为期6个月的投资组合问题。首先,根据2014年1月1日至2018年12月31日10支股票的历史数据训练GAN,并采用GAN生成未来收盘价场景。其中,GAN的参数设置如表1所示。本文中的场景生成算法采用Python语言编写,模型求解算法采用C++语言编写,程序在Intel i7-7700 3.6GHZ CPU个人电脑上运行。
表1 GAN参数设置
经过充分训练,由GAN生成的100个股票未来收盘价场景如图2所示。通过转换,可得图3所示的股票未来收益率场景。根据生成的场景,采用INSGA-II求解S-MOPSM得到帕累托解集(如图4所示)。在S-MOPSM中,投资风险采用VaR刻画,VaR值越小表示投资风险越小,当VaR为负数时,表示投资方案在给定置信水平下最坏情况出现时仍具有正收益。图4中的帕累托解显示,VaR值随着平均收益的减小而减小。上述现象与理论及实际情况相符,为获得更高的平均收益,投资者需要将更多的资金投入到平均收益较高的证券之中。然而,证券的平均收益越高意味着潜在的风险越大,因此,该投资方案在给定置信水平下最坏场景的投资风险也越大。以上分析表明,本文提出的多目标投资组合模型可以有效地反映收益与风险之间的对立关系。
随后,我们挑选出四个具有代表性的帕累托解,并将其具体投资组合方案列于表2(表中,每一行表示一个解,包含该投资方案的期望收益、风险以及在10支股票上的资产分配情况)。由表2所示,资金主要集中分配在第2、4、7、9号4支股票上。可见,本文提出的多目标优化模型能在一定程度上达到分散投资的目的。
图2 股票价格场景图
图3 股票收益率场景图
图4 S-MOPSM的帕累托解集
表2 代表性帕累托解具体投资方案
为进一步验证本文所提预测方法、投资组合模型及算法的有效性,我们对表2所列四个代表性帕累托解在真实市场中的表现进行分析和讨论。首先,收集上述10支股票在投资期间(2019.01-2019.06)的每周收盘价,每支股票各包括26个数据,即26个周收盘价;其次,基于各支股票在2019年1月2日(1月1日闭市)的买入价格,将上述每周收盘价转化为每周收益率;最后,按表2所列四个代表性帕累托解的投资组合策略进行资金分配,并检验各个解在真实股市中的表现,结果如图5所示。
图5表明,在整个投资期间的真实市场表现中,代表性帕累托解4可以产生最大的投资收益,解3次之,随后是解2和解1(由区域1可见);其次,若考虑整个投资期间出现的最坏情况,解1产生的投资损失最小,解2次之,随后是解3和解4(由区域2可见)。此外,如表2所示,四个代表性帕累托解按照从解1到解4顺序来看,期望收益越来越大,但在给定置信水平下投资所承受的最大损失也越来越大。这表明,本文通过理论分析得到的结论与上述基于真实股市数据得到的结果是吻合的。由此可见,本文所采用的场景生成技术能够较好地描述收益的不确定性,所建立的数学模型及开发的求解算法也能有效地处理不确定性下的多目标投资组合问题。
为分析置信水平对模型求解的影响,本文对比分析了三种不同置信水平下求得的帕累托解集。图6表明,采用较低的置信水平获得的帕累托解集可以支配采用较高置信水平时获得的帕累托解集。上述现象出现的原因是,较高的置信水平意味着在进行决策时需要考虑更多的极端场景。一般情况下,对同一个决策方案而言,设置更高的置信水平将使得风险评估需要考虑更坏的场景,进而增加了VaR的数值。因此,投资者可以根据自身风险偏好以及对股市走势的认知,设置相应的置信水平,从而获得更符合自身需求的帕累托解集。
图5 代表性帕累托解真实市场表现
图6 不同置信水平的帕累托解集
最后,本文将INSGA-II与NSGA-II以及FS-MOPSO进行对比,验证所提算法的有效性。图7表明,INSGA-II获得的帕累托解集能够较好地支配其他两种算法的解集,直观上证明了INSGA-II的效果更佳。为更客观地衡量所提算法的求解效果,本文采用超体积作为帕累托解集质量的评价指标(超体积越大,算法性能越好)。当参考点设为(0,0.25)时,INSGA-II、NSGA-II和FS-MOPSO得到的帕累托解集的超体积数值分别为0.1812、0.1806和0.1765。可见,在本文所采用的案例中,INSGA-II优于NSGA-II以及FS-MOPSO。
图7 算法比较
针对投资组合存在的预测难、优化难问题,本文首先利用生成对抗网络产生了一系列服从历史数据分布的证券未来收益率场景;随后,建立了基于不确定性场景表示下的多目标投资组合模型来同时优化多个场景下的期望收益及风险值;最后,通过引入竞争学习机制,改进了经典多目标遗传算法,提升了种群的搜索能力,并对所建多目标投资组合模型进行了求解。
案例分析表明,基于场景生成的多目标投资组合模型可以有效地反映投资收益与风险之间的对立关系,在一定程度上达到分散资金的目的,并且所得理论结果与真实市场表现相吻合。此外,设置不同置信水平可以对期望收益和风险进行不同程度的权衡,得到不同的帕累托解集,这表明所建模型具备较好的适应性。最后,本文所提算法与部分已有算法相比,求解效果更佳。
后续拟开展的研究主要包括采用更先进的生成对抗网络架构,如采用条件GAN、序列GAN等来产生更有效的证券未来收益率场景;将交易成本、交易金额约束、市场流动性等纳入所建模型,使得理论结果更贴近现实。