1. 引言
资产配置和消费控制是金融学中的经典问题,其目标是在不确定的市场环境中,通过合理分配资金于不同资产类别并制定最优消费计划,实现投资者财富的长期稳健增长和消费效用的增大。传统方法通常基于效用最大化理论,假设市场环境已知且投资者风险偏好固定。经典的投资消费模型可以追溯到Merton [1],具有CRRA效用的Merton模型提出了消费–总财富比和生命周期投资策略。直到近年来投资与消费的问题还在以模型不断更新优化的形式在被各个领域研究着。在2023年,Ferreira等人[2]研究了稳健公用事业条件下的最佳消费、投资和人寿保险选择;如Tao等人[3]提出了一个非均匀状态切换的随机控制问题,并将其应用于消费投资模型;如Wang等人[4]研究了在年龄依赖性风险偏好下的家庭投资–消费–保险政策,即在不确定的生命周期范围内,从跨期消费、遗产和最终财富中最大化预期的贴现效用。虽然这些作者考虑了跨期消费加上终端财富的预期效用最大化,但并没有考虑到个体的习惯参考水平的内源性更新会更加贴近现实意义。
习惯的持久性最初是由Pollak [5]、Ryder [6]研究的,它们认为消费具有习惯性参考依赖,习惯消费水平应该由过去的实际消费的加权值得到。根据实际消费是否高于习惯消费,可以把效用函数分成两类,第一类是当实际消费超过习惯消费时,个体可以获得正效用,反之,第二类,个体将获得负效用。文献[7] [8]在这基础上定义了S型效用函数,认为个体一生获得的总效用是正效用和负效用之和。从而探索了习惯性持久性和S型效用来描述个人对消费的偏好。本文目的是引入习惯消费过程来更好地研究个体参与社会养老保险模型下的资产与消费问题。本文研究内容是假设个体参与各种风险投资,拥有工资过程,以及退休金过程,考虑通胀因素和随机市场环境,寻找最优控制,实现最大化整体超额消费效用,如文献[9],虽然该文章使用鞅方法来讨论个体退休前后的投资与消费问题,但投资模型较为简单,以及没有考虑随机市场环境、通胀因素的影响,也就是缺乏更复杂的模型场景。因此,本文不仅把模型更加丰富化,还引入一种新的强化学习算法来进行研究。
强化学习作为机器学习领域的重要分支,近年来在解决复杂决策问题方面取得了显著进展。近年来,基于Actor-Critic框架的强化学习方法在连续时间金融决策问题中得到了广泛关注。Actor-Critic框架结合了策略梯度(Policy Gradient)算法和价值函数逼近的优点,能够有效处理高维状态空间和连续动作空间。例如,Wang和Zhou等人[10]在强化学习框架下研究了连续时间和空间下的探索性随机控制问题,为金融决策问题提供了新的解决思路。Jia和Zhou [11]进一步在Actor-Critic框架下研究了连续时间和空间下的策略梯度算法,显著提升了算法的稳定性和效率。此外,Zhou等人[12]提出了一种求解高维哈密顿–雅可比–贝尔曼(HJB)方程的数值方法,通过学习确定性策略和策略梯度,有效提高了控制效率和样本利用率,这有助于平衡探索和开发,避免局部最优。基于强化学习中的Actor-Critic框架,本文目的是设计一种数值方法来解决上述最优控制问题。该框架包括两部分:第一部分是用于评论家的策略评估(Policy Evaluation, PE),PE能够求解价值函数,另一部分是用于演员的策略迭代(Policy Iteration, PI),PI能够求解策略函数。演员根据策略做出相应的动作,而评论家对其进行价值评估,演员根据得分重新改变策略,调整动作。它们能够相互评价,促进策略和价值函数的更新与优化。目前关于研究消费问题的强化学习方法还尚少,本文为连续时间下具有复杂模型的优化问题提供一种新的数值方法,与传统方法相比,具有超强的学习能力,能够更快地收敛。
本文的其余部分如下,第二节是最优控制问题的制定;在第三节中,构造基于策略迭代的演员–评论家方法来近似值函数和控制函数;在第四节中,给出一个数值例子作为优化问题的数值结果。
2. 数学模型
我们设
是一个完全滤波的概率空间,其中
是一个滤子,满足通常的条件
表示直到时间
所有可获得的市场信息,
是最大生存时刻,下面所有的随机过程都适应于
。
2.1. 财富过程
为了描述随机市场环境对我们的投资过程、工资过程和养老金过程的影响,我们使用了一个连续时间的马尔科夫链
去表示市场状态,它具有有限状态并取值在一个有限空间
中。转移概率矩阵
生成连续时间的马尔科夫链
,也就是说
假设投资者有三种可供投资的金融资产:无风险资产、风险资产和通胀指数债券。无风险资产价格
被定义为:
风险资产价格
满足以下随机微分方程:
通货膨胀水平
表示为:
此外,由于通货膨胀的影响,个人可以考虑通过购买通货膨胀指数债券进行对冲,因此通货膨胀指数债券被纳入模型。假设通货膨胀指数债券的价格水平
服从如下式子:
假设
是个人的退休时间,并且以个人名义工资水平过程
表示为:
在个人退休后,假设个人名义养老金水平过程
被描述为:
在工作期间,个人有长期稳定的工作以获得工资收入,并向社会养老保险基金支付一定比例k。在退休后,个人将获得养老金收入。因此,个人的名义财富过程满足以下SDE:
和
其中
和
分别表示个人名义财富投资于金融市场风险资产和通胀指数债券的金额比例,
代表投资于无风险资产的名义财富比例,
代表名义实际消费量。
我们设
上述表示剔除通胀因素后的过程。因此,根据伊藤公式,我们有:对于
和对于
其中
、
是风险资产的预期回报和波动性,
、
是通货膨胀因子的预期水平和波动性,
和
是个人退休前工资的预期回报和波动性,
和
是个人退休后养老金的预期回报和波动性,
是名义无风险利率,
为实际利率。
2.2. 优化目标
习惯消费过程定义如下:
其中
、
是习惯消费参数。
参照文献[9],我们建立了个体的S型效用函数,只有实际消费和习惯性消费之间的差异才能产生效用。此外,我们假设实际消费低于习惯水平是允许的。因此,我们需要一个定义良好的效用函数来综合表示正效用和负效用,我们自然地选择S型效用函数,
对于任意
,定义
表示为超额消费。其中
是指个人的相对风险规避参数,
为损失厌恶参数,
为实际消费,
为习惯消费。
我们从可容许控制集
中找到最优资产配置和消费使得在有限时间内投资者的超额消费的整体效用最大化,也就是说找到最优资产配置和消费策略
使下述优化准则达到最优:
其中,
表示折扣系数。接着我们将与随机优化问题对应的值函数定义为
2.3. HJB方程
对于一个固定的退休时间
,我们将详细讨论个人退休前的最优控制问题,而个人退休后的优化问题可以类似地进行分析。为了方便阐述,我们对模型进行了改写。对于
,
其中,
如果价值函数
足够光滑,它可以被描述为通过动态规划原理的Hamilton-Jacobi-Bellman (HJB)方程的解。相应的HJB方程如下:
其中
。然而,上述HJB方程的显式解不容易获得,因此我们采用数值求解方法。
3. 数值算法
基于强化学习中的演员–评论家(Actor-Critic)框架,可以同时求解价值函数和策略函数。该框架包括两部分:第一部分是用于评论家的策略评估(Policy Evaluation, PE),PE能够求解价值函数,另一部分是用于演员的策略迭代(Policy Iteration, PI),PI能够求解策略函数。目前,在Actor-Critic框架下已经开发了许多算法,例如文献[11] [13]。特别是,文献[12]设计了一种TD算法来学习PE部分的值函数,使用策略梯度下降算法来更新PI部分的控制函数,从而提高其收敛性,提高样本利用率,避免局部最优,并平衡开发和利用的程度。
3.1. 策略评估
在本节中,我们开发相应的PE程序,并使用函数逼近方法来获得价值函数的估计。对于连续最优控制问题的TD,我们应用Itô’s公式求解
,得到
现在让我们将连续设置中的TD误差定义为:
为了对高维价值函数
和控制
进行参数化,我们使用神经网络来拟合它们,价值函数
通过
参数化,控制
通过
参数化,其参数分别表示为
和
。
此外,我们计划使用另一个神经网络
来表示
,即
,这将用于计算
的梯度,可以使用有限差分算法来拟合梯度。
进一步介绍我们的神经网络结构。具有
个隐藏层的神经网络
可以设置为
其中
,
是关于隐藏层输入和输出维度的适当维度的线性变换,而
是作用于相邻隐藏层的激活函数:
。
我们进一步为评论家定义以下损失函数:
我们考虑使用随机梯度下降法来最小化上述损失函数,以获得价值函数的最佳近似。损失函数的梯度近似如下:
然后使用Adam优化器来更新值函数的参数
:
其中,
为合适的学习率。
3.2. 策略迭代
在本小节中,我们介绍演员部分,并使用策略梯度来改进演员的策略。回忆我们的最优控制问题并利用动态规划原理,我们可以使用以下目标函数来定义演员(Actor)的目标,我们有
在数值算法中,我们将控制
参数化为神经网络
,其中
称为参数。使用对
梯度的随机近似(即导数
)来优化参数,因此参数更新为
其中,
为合适的学习率。我们将功能导数近似为
4. 数值结果
在本节中,我们为数值实验选择了适当的参数并获得了一些结果。对于金融市场,金融市场的无风险利率为
,对冲债券的预期回报率为
,通胀因子的预期水平为
,通胀的波动率为
。对于切换模型,转移率矩阵为
。风险资产的预期回报率为
,
,风险资产的波动率为
,
。对于个人工资过程,工资增长的预期速率为
,工资过程的波动率为
,养老金增长的预期速率为
,养老金过程的波动率为
。
不失一般性,我们假设初始时间为
,退休时间为
,最大生存时间为
,退休前个人养老保险的缴费率为
,退休前习惯性消费的预期增长率为
,退休后习惯性消费的预期增长率为
,习惯性消费的敏感度为
,损失厌恶参数为
,相对风险厌恶系数为
,贴现因子为
,工资的比例为
。假设这些初始值为
,
,
,
。
Figure 1. Selection of the number of neurons
图1. 神经元个数的选择
在神经网络的架构方面,如图1,隐藏层神经元个数不宜过大,选择128个能减少数据量,同时也有不错的收敛性,策略网络中的隐藏层数量为2,价值网络中的隐藏层数量为3,学习率设置为0.01。我们还使用了经验回放技术,就是每次抽取一定数量的样本进行训练,可以重复抽取,达到有效利用样本的效果,经验证,将每次批量大小设置为128为宜,并将基本步长
设置为0.001。
Figure 2. Optimal actual consumption
, habitual consumption
, excess consumption
图2. 最优实际消费
,习惯消费
,超额消费
在图2中,我们可以看到我们可以首先,财富随着时间增加,而较高的财富会导致较高的个人消费,从而导致实际消费随时间增加。其次,习惯性消费是个体过去实际消费的加权平均值,因此习惯性消费会随着实际消费的增长而增加。此外,个人消费受到财富的影响,而在退休后,他们的工资收入减少,导致实际消费迅速下降。最后,由于个体在退休后减少了许多不必要的开支,即习惯性水平和敏感度的降低,导致超额消费增加。
总之,在退休后,尽管个人的实际消费有所下降,但超额消费却有所增加,这表明个体在退休后仍然对较低的实际消费水平感到满意。
(a) (b)
Figure 3. Impacts of the parameters
and
on the habitual consumption and the optimal excess consumption
图3. 不同习惯参数
和
对习惯消费和最优超额消费的影响
在图3中,展示了习惯性消费和超额消费随习惯性参数
和
的演变。我们可以看到,习惯性消费随着习惯性参数的增加而增加,而超额消费则随着习惯性参数的增加而减少。这是因为当个体工资水平保持不变时,实际消费也保持不变,而习惯性参数的增加会导致习惯性消费水平的上升,从而导致个体超额消费水平的下降。
总之,习惯性参数
和
影响个体习惯水平增长的幅度。如果个体在退休前的习惯性增长速度较快,那么他们在退休后也会经历过快的习惯性增长速度。如果实际消费保持不变,这将不可避免地导致超额消费水平较低,个体可能会感到不满意。因此,最好让个体保持适度的习惯性增长速度。