APP下载

改进的QPSO 算法在自融资投资组合中的应用

2022-09-29卢小丽李高西

工程数学学报 2022年4期
关键词:测试函数高维全局

何 光, 卢小丽, 李高西

(1. 重庆工商大学经济社会应用统计重庆市重点实验室,重庆 400067;2. 重庆工商大学数学与统计学院,重庆 400067;3. 重庆工商大学长江上游经济研究中心,重庆 400067)

0 引言

在粒子群优化(Particle Swarm Optimization, PSO)算法[1]中,粒子的飞行速度受到取值边界的限制,导致了粒子的搜索不能遍历整个解空间,从而无法实现算法的全局收敛性。Sun 等人[2]研究发现,在量子空间中粒子的行为和人类的学习行为类似,具有很高的不确定性。于是,从量子力学的角度提出了一种改进的PSO 算法–量子行为粒子群优化(Quantum Particle Swarm Optimization, QPSO)算法。QPSO 算法的粒子更新只有位置方程,形式更简单,控制参数更少,收敛速度和全局收敛性能更优,是PSO 算法中的一个较成功的改进,具有很强的理论意义和实际应用价值。然而,在实际计算时,粒子的搜索只是在可行解的空间进行搜索,导致粒子在迭代后期仍然会出现早熟和陷入局部最优点。因此,QPSO 算法仍具有很大的改进空间。

为了增强算法中粒子的全局搜索能力和算法的收敛速度,进一步提高优化问题解的精度,先后有学者提出了各种搜索策略和改进方法,以提升粒子的探索能力,避免算法陷入局部最优的困境。在QPSO 算法收敛性的分析中,Sun 等[3]和方伟等[4]讨论了粒子迭代公式的参数选择,他们的研究结果提升了算法的全局搜索能力。章国勇等[5]将精英学习策略加入到算法的改进中,更好地兼顾了算法的全局搜索和局部搜索能力。赵吉和程成[6]提出了一种基于演化搜索信息的改进算法,在拓展粒子搜索空间的同时,有效改善了算法的收敛精度。另外,部分学者在QPSO 算法的性能改进和应用方面,也取得了一些较好的研究结果[7–11]。

本文在已有研究的基础上,准备从两个方面对QPSO 算法进行改进。第一,在粒子的历史位置更新公式中,考虑L´evy 搜索策略,以增强粒子的收敛速度,提高粒子的全局搜索能力和算法精度。第二,考虑混合概率分布的操作,帮助粒子在迭代后期脱离局部极值的束缚,增强种群的多样性,避免算法陷入早熟。随后,将改进的QPSO 算法应用到一类自融资投资组合问题中。

1 改进的QPSO 算法

1.1 QPSO 算法原理

在原始PSO 算法中,令xij和vij分别表示第i个粒子位置和速度的第j维,第i个粒子的历史最优位置pbest 的第j维和全局最优位置gbest 的第j维分别记为pij(t)和pgj(t)。粒子的速度按照以下公式进行更新其中w为惯性权重,c1和c2为加速因子,r1和r2为0 到1 之间均匀分布的随机数。

然而,QPSO 算法的更新公式中,不涉及粒子的速度公式,而采用蒙特卡罗法模拟粒子的运动状态,更新不同时点的粒子位置。在粒子的迭代过程中,每个粒子会聚集到一个局部吸引点Pij(t),速度更新公式(1)将变成吸引点的位置公式

其中φ=c1r1/(c1r1+c2r2)。采用文献[12]中的方法得到粒子的位置更新公式

其中mj(t)表示粒子历史最优位置的平均值的第j维,称为平均最好位置。u表示0 到1 之间均匀分布的随机数,当u大于0.5 时,公式(3)中取“+”,否则取“−”。β称为收缩-扩张系数,用来调节粒子的速度,采用线性递减公式,具体如下

T表示最大迭代次数,β1和β2分别为β的最小值和最大值。

1.2 L´evy 飞行策略

作为一种随机游走过程,L´evy 飞行策略有一个带有宽尾的概率分布,这使得它的搜索方式具有很好的扰动能力,能够大大提高算法的全局搜索性能和收敛精度。在搜索空间中,可以充分发挥L´evy 飞行的特点对粒子的运动方式进行改善,一方面利用其深入的短距离搜索有效提高算法的收敛精度,另一方面结合偶尔的长距离搜寻扩大粒子的探索空间,进而增强算法的全局搜索能力。

运用L´evy 飞行策略对粒子的位置更新公式(3),作如下改进

当u> 0.5 时,采用(5)式进行粒子位置的更新,其中L表示L´evy 随机步长,采用Mantegna[13]提出的公式

其中µ ∼N(0,),υ ∼N(0,)为服从正态分布的随机数,使用Gamma 函数Γ(·),可得标准差满足以下公式

1.3 混合概率分布

随着迭代进入后期,QPSO 算法中一些相似粒子会出现局部聚集的情况,从而大大减少算法的搜索范围,导致算法早熟,这种情况与算法中吸引势阱模型的分布选择有着极大的关联。Sun 等[14]通过实验显示,QPSO 中势阱模型对应的指数分布在测试中有很好的实用性。然而,一些仿真结果表明具有正态分布的QPSO 算法在处理早熟问题上有着更好的表现。于是,可以考虑将两种分布结合起来,用于改善算法在迭代后期容易陷入局部最优的困境。

考虑将正态分布和指数分布结合运用到粒子的位置更新中,形式如下

其中a(t)和b(t)分别为服从正态分布和指数分布的两个随机序列,具体的公式为

这里h为服从标准正态分布的随机数,α1和α2均为收缩扩张系数。

1.4 算法流程

在QPSO 算法的改良中,融合了L´evy 飞行和混合概率分布这两种手段。于是,将该算法简记为HQPSO,算法的流程如下。

算法1HQPSO 算法

?

if u>0.5运用公式(6)计算L´evy 步长通过公式(se 通过公nd if 5)更新xij(t)el式(8)更新xij(t)e运用比较原则更新pbest 和gbest end for end while输出结果

2 算法测试

2.1 测试函数及参数设定

在性能测试中,将HQPSO 算法与标准的QPSO 算法以及两种优化效果较好的算法MDE 算法[15]和distABC 算法[16]进行比较。基准测试函数来源于CEC2005,其中f1∼f6为高维单模函数,f13∼f14为低维单模函数,主要用于测试算法的收敛精度;f7∼f12为高维多模函数,f15∼f16为低维多模函数,用于检验算法的全局寻优能力和局部搜索性能。其中f14的最优值为−1,其他测试函数的最优值均为0。

在对比实验中,各算法的参数设置均来源于相关文献。QPSO 算法中,β1和β2分别取0.4 和0.9。MDE 算法中,CR=0.4,F为随机数。distABC 算法中,limit=(种群数×维度)/2。HQPSO 算法中,β1和β2分别取0.4 和0.9,随机步长的参数r= 1.5。在对比测试中,高维函数中除f4取32 维外,其余均为30 维,低维函数都为2 维。各算法种群为50,最大函数评价次数为80 000,各算法对每个函数分别独立运行30 次,取结果的最好值、均值和方差,具体数据见表1 和表2。

表1 f1 ∼f8 测试结果

续表

表2 f9 ∼f16 测试结果

续表

2.2 算法的收敛精度分析

由表1 和表2 可见,HQPSO 在f1∼f6以及f13∼f14等单模函数上的精度几乎都达到了10−10以上的数量级,在f13上取得了理论最优值。由于改进算法在粒子的迭代位置中引入了L´evy 飞行策略,使得粒子在搜索空间中更有效移动,提高了算法的收敛速度,在局部寻优能力上有明显的增强。HQPSO 在f7∼f12以及f15∼f16等多模函数上同样表现出色,在f7∼f8、f12和f15∼f16上取得了理论最优值。因为在算法中考虑了混合概率分布的特点,让粒子以一定概率发生突变,在确保其全局搜索能力时,增强了种群的多样性,从而使得算法可以及时跳出局部最优,避免早熟。于是,HQPSO 算法在单模和多模函数上,其收敛精度和稳定性均有优异的表现。

随后,对比四种算法在高维和低维测试函数上的优化结果。HQPSO 在所有高维函数中的表现均优于其余三种算法。QPSO、MDE 和distABC 算法在12 个高维函数中都不能取到理论最优值,在f8∼f12等5 个函数上三种算法都出现了早熟现象,优化结果不理想。相比之下,HQPSO 在f7∼f8和f12上30 次测试均能取得理论最优值,而在其余的高维函数上也有一定的几率搜索到理论最优值。在高维函数测试中,除了获得更好的均值外,HQPSO 算法取得的方差也更小,表明该算法的稳定性更高。在低维函数测试中,除了f14外,HQPSO 算法均取得了理论最优值。MDE 算法在f14和f16上取得了理论最优值,然而,在f13和f15上未能取得理想的收敛结果。distABC 算法仅在f16上取得了理论最优值,在其余的低维函数中表现欠佳,对f14的测试中则陷入了局部最优。因此,在低维函数测试上,HQPSO 算法的综合表现更好。

2.3 算法的鲁棒性分析

进一步,比较四种算法的鲁棒性。分别记录各算法在测试函数f1∼f15上收敛到10−10,以及在f16上收敛到10−10∼1 的成功率,结果见表3。

表3 鲁棒性结果

由表3 可见,在16 个测试函数中,除了f11和f14,HQPSO 算法在30 次运行中的成功率均到达了100%,表明该算法具有较好的鲁棒性。相比而言,QPSO、MDE 和distABC三种算法在低维测试函数上有较好的鲁棒性,而MDE 和distABC 算法在大多数高维测试函数上成功率低,甚至为0。综合来看,HQPSO 算法的鲁棒性整体表现更出色。

2.4 算法的统计检验

随后,为了验证HQPSO 算法的有效性,将HQPSO 算法与其他三种算法两两进行Wilcoxon 符号秩检验,计算出配对算法的概率P值。另外,根据各种算法的Friedman秩均值在不同测试函数中的排名,得到四种算法的平均名次。具体的检验结果见表4。

由表4 可知,在Wilcoxon 检验中,HQPSO 与三种算法配对比较的概率值均小于0.01,意味着改进算法和其他算法有显著差异。从Friedman 检验的平均排名结果可见,QPSO 算法在高维函数中的整体表现仅次于HQPSO,而在低维函数的测试中QPSO、MDE 和distABC 三者表现较接近。从总体上看,HQPSO 在所有测试函数中的综合排名最高,性能更均衡。

表4 非参数检验结果

3 应用实例

3.1 自融资投资组合问题

经典的Markowitz 均值-方差模型为一类多目标优化问题,要求投资者在证券投资过程中选择风险最小和收益最大的组合。自融资投资组合指除了初始的投资外,在投资过程中不追加任何投资,也不从中转移资本,仅仅根据资产组合本身的收益变化情况进行组合的结构调整。自融资投资组合在套利、资产交换、市场中性投资、市场定时等方面有着广泛的应用。考虑如下的自融资投资组合模型

其中R= (R1,R2,···,Rn)T为组合的收益率向量,x= (x1,x2,···,xn)T为组合的权重向量,Σ 表示各种资产间的协方差矩阵,E(R)和σ2分别表示投资组合的预期收益率和风险,Li和Ui分别表示各种资产投资比例的下界与上界。

我们将以上优化模型转化为无约束的优化模型,形式如下

其中RP表示组合的预期收益率,其中λ为惩罚因子,在实验中取值为10。

3.2 结果与分析

在数值实验中,HQPSO 算法的参数设定与性能测试中相同,粒子总数为30 个,最大迭代次数为1 000 次,求解结果取30 次实验的平均值。在实验数据的选择上,抽取了A 股市场中的15 只股票,以历史收益率的平均值作为其预期收益率。各股票之间的方差-协方差矩阵,如表5 所示。预期收益率具体数据分别为:4.36%、3.58%、4.55%、8.91%、5.78%、8.79%、8.05%、3.54%、4.11%、3.87%、15.29%、3.65%、3.73%、12.61%、5.06%,初期的投资占比分别为:10%、10%、10%、0、10%、0、0、10%、10%、10%、0、10%、10%、0、10%。

表5 方差-协方差矩阵

投资者希望原有投资额不变时,考虑将其他十支股票的投资合理分配到第4、6、7、11和14 这5 支股票上,在不允许卖空情况下寻求该自融资模型的解。表6 展示了在给定预期收益率时,投资组合模型(9)的最优解。通过给定的RP(在最小与最大预期收益率之间均匀选取),分别计算出对应的最优组合和风险结果。根据表6 可知,随着投资组合预期收益的增加,初期持有的10 只股票卖掉的比例基本上呈上升趋势,主要用于购买收益更高的其余5 只股票。当达到最大的预期收益率11.37%时,初始的10 只股票全部卖掉,用于购买收益率更高的第11 和第14 支股票。当继续提高组合的预期收益率时,这两支股票仍然占据了全部的投资比重。

表6 投资组合模型的最优解

最后,将改进算法与差分进化算法、PSO 和QPSO 进行对比。比较实验中,种群数均选择3,迭代次数为1 000 次,每种算法运行30 次,计算不同预期收益率下的风险的均值和方差,结果见表7。由表7 可知,在给定预期收益率情况下,HQPSO 相比其余三种进化算法,都取得了更小的均值,同时其稳定性也更好。结果表明在给定收益的情况下,运用HQPSO 算法获得的自融资投资组合承受较小的风险。

表7 不同智能算法的对比

4 结束语

为了有效地解决QPSO 算法在后期收敛速度慢以及易陷入局部最优的问题,提出了一种改进的量子粒子群群优化算法。在改进算法中,将L´evy 飞行策略引入到粒子迭代公式中,增强了粒子的局部探索精度和全局搜索速度。同时在算法中考虑了混合概率分布,在保证种群多样性的情况下,避免算法过早陷入局部最优。通过算法对比分析,HQPSO 算法在一系列测试函数中展现出更好的收敛精度和鲁棒性。在算法应用实例中,运用HQPSO 求解一类自融资投资组合问题,相比几种经典的智能算法,改进算法在寻优的精度和稳定性上表现更好。如何进一步提高算法的收敛速度和精度,以及在更多领域中的应用,是今后研究中需要考虑的问题。

猜你喜欢

测试函数高维全局
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
双冗余网络高维离散数据特征检测方法研究
基于深度学习的高维稀疏数据组合推荐算法
基于自适应调整权重和搜索策略的鲸鱼优化算法
落子山东,意在全局
记忆型非经典扩散方程在中的全局吸引子
高维洲作品欣赏
具有收缩因子的自适应鸽群算法用于函数优化问题
基于矩阵模型的高维聚类边界模式发现