《1 引言》
1 引言
为了分散投资风险并取得适当的投资收益, 投资者往往采用组合投资方式, 把一笔资金同时投资于若干不同的证券, 投资者对其投资行为最关心的问题是预期收益率的高低和预期风险的大小。由H.M.Markowitz创立的现代组合证券投资理论
《2 组合证券投资决策模型》
2 组合证券投资决策模型
沿用文献
称σ2为优化准则函数, wj (j=1, 2, …, n) 为优化变量。
《3 基于加速遗传算法的组合证券投资决策算法》
3 基于加速遗传算法的组合证券投资决策算法
加速遗传算法 (AGA) 是我国学者金菊良教授在传统遗传算法 (TGA) 基础上提出的一种优化方法
加速遗传算法解决组合证券投资问题的步骤为:
Step1:优化变量初始化变化空间的离散和二进制编码。设编码长度为e, 把每个优化变量wj的初始化变化区间[0, 1]等分成2e-1个子区间, 则
式中, 子区间长度dj=1/ (2e-1) 是常数, 搜索步数Ij为<2e的任意十进制非负整数是变数。
经过编码, 优化变量的搜索空间离散成 (2e) n个网格点 (个体) , 它对应n个优化变量的一种可能取值状态, 并用n个e位二进制数{ja (j, k) |j=1, 2, …, n;k=1, 2, …, e}表示:
通过式 (2) 和式 (3) 的编码, n个优化变量wj的取值状态、网格点、个体、n个二进制数{ia (j, k) }之间可建立一一对应关系。
Step2:初始父代群体的随机生成。设群体规模大小为q, 从上述 (2e) n个网格点中均匀随机选取q个满足约束条件式 (1.2) 和式 (1.3) 点作为初始父代群体。若在网格点中随机选取的点不满足约束条件式 (1.2) 和式 (1.3) , 则在网格点中重复产生随机点, 直至产生q个满足约束条件式 (1.2) 和式 (1.3) 的点, 于是, 生成q组 (如q=300) 在[0, 1]区间上的均匀随机数, 每组n个, 即{u (j, i) |j=1, 2, …, n;i=1, 2, …, q}, 经下式转换得到相应的随机搜索步数
它们可由式 (3) 对应二进制数{ia (j, k, i) |j=1, 2, …, n;k=1, 2, …, e;i=1, 2, …, q}, 又可由式 (2) 与q组优化变量{wj (i) |j=1, 2, …, n;i=1, 2, …, q}一一对应, 把它们作为初始父代个体。
Step3: 二进制数的解码和父代个体适应度评价。把父代个体编码串ia (j, k, i) 经过式 (3) 和式 (2) 解码成优化变量wj (i) , 把后者代入式 (1.1) 得相应的优化准则函数σ
Step4: 父代个体的概率选择。取比例选择方式, 个体i的选择概率为
令
序列{pi|i=1, 2, …, q}把[0, 1]区间分成q个子区间, 并与q个父代个体一一对应。
生成q个随机数{u (k) |k=1, 2, …, q}。若u (k) ∈[pi-1, pi], 则第i个个体被选中, 其二进制数记为ia1 (j, k, i) 。同理可得另外的q个父代个体ia2 (j, k, i) 。于是从原父代群体中以概率p′i选择第i个个体, 共选择两组各q个个体。
Step5:父代个体的杂交。由于杂交概率pc控制杂交算子应用的频率, 在每代新群体中, 有qpi对串进行杂交, pc越高, 群体中串的更新越快, TGA搜索新区域的机会越大
Step6:子代个体的变异。采用两点变异, 比单点变异更有助于增强群体的多样性
Step7:进行迭代。由step7得到的q个子代个体作为新的父代, 算法转入step3, 进入下一次进化过程, 如此循环两次, 优秀个体将逼近最优点。
Step8:加速循环。用第一次、第二次进化迭代所产生的优秀个体的变量变化区间作为新的初始变化区间, 算法进入step1, 重新运行TGA, 如此加速循环, 优秀个体的变量变化区间将逐步调整和收缩, 与最优点的距离越来越近, 直到最优个体的优化准则函数值达到稳定值, 结束整个算法的运行。此时, 把当前群体中最佳个体指定为AGA的结果。
组合证券投资决策加速遗传算法的计算机流程图见图1。
《4 AGA控制参数的配置》
4 AGA控制参数的配置
AGA控制参数包括编码长度e, 父代个体数目q, 优秀个体数目s和变异率pm。这些参数的不同取值会对AGA的寻优性能产生很大影响, 要得到AGA运行的最优性能, 必须对这些参数进行适当配置。在AGA中, 控制参数的配置已有明确的指导准则, 可以事先设置
1) 关于编码长度
在TGA中, 对实变量优化问题, e太小则解的精度太低, 失去优化的意义;e越大则优化变量搜索区间的网格分得越细, 网格点就越多, 搜索效率越低, 需相应增加进化迭代次数或父代群体规模以提高搜索到最优解的成功率, 从而导致计算量猛增, 影响计算效率
2) 关于变异率
AGA的pm反映个体向其他个体网格点变迁的概率。由于其可以保证算法的收敛性
3) 关于父代个体数目q和优秀个体数目s
由AGA原理知, q个父代个体是按选择概率从 (2e) n个优化变量空间网格中的一个随机抽样。大的群体可更好代表优化准则函数在搜索空间上的变化特性, 增强基于二进制编码的杂交操作能力, 阻止早熟收敛
在TGA中, 当优秀优化变量的变化空间很大时, 其编码长度、父代个体数目也必须很大, 导致计算量大增, 算法控制参数的设置技术也趋复杂化
《5 实例研究》
5 实例研究
例
收益率均值分别为R1=16%, R2=18%, R3=20%, 预期收益率R0=19%, 试确定非负最优投资比例系数和相应的投资风险。
在文献
用加速遗传算法 (AGA) 求解该问题, 计算过程见表1。于是, 有w1=0.23496530, w2=0.03228606, w3=0.73274860, σ
Table 1 The weighs and optimal values of utilizing AGA to calculate the portfolios investment model
《图2》
《6 结语》
6 结语
用加速遗传算法 (AGA) 求解组合证券投资决策问题有如下特点:
1) 算法的控制参数已有明确设置, 比传统遗传算法循环次数少, 计算量小, 可以避免早熟现象发生, 易于全局收敛。
2) 协方差矩阵无正定性要求, 更接近实际问题的需要。
3) 易于处理有非卖空 (即投资比例系数为非负) 条件要求的组合证券投资决策问题。
4) 算法可以推广到目标函数规模庞大甚至无明确解析表达式的情形。