您现在正在浏览:首页 > 职教文章 > 职教论文 > 求解投资组合模型的遗传算法

求解投资组合模型的遗传算法

日期: 2010/4/21 浏览: 49 来源: 学海网收集整理 作者: 佚名

  收稿日期 : 2003201212     

基金项目 : 国家教育部博士点基金资助项目(01JB630009)

作者简介 : 徐绪松(19452) ,女 ,教授 ,博士生导师 ,现从事复杂科学与管理方面的研究.  E2mail :xuxusong @whu. edu. cn

第 50 卷 第 1 期

 2004 年 2 月

武汉大学学报 (理学版)

J . Wuhan Univ. (Nat. Sci. Ed. )

Vol. 50 No. 1  

Feb. 2004 ,029~032

文章编号 :167128836 (2004) 0120029204

求解投资组合模型的遗传算法

徐绪松 , 侯成琪 , 王  频

(武汉大学 商学院 技术经济及管理研究所 , 湖北 武汉 430072)

  摘  要 : 针对投资组合模型的特点 ,研究了遗传算法的编码、算子和算子参数 ,设计出了一个能够求解投资组

合模型的遗传算法. 实证分析表明 ,在求解复杂的投资组合模型时 ,遗传算法的实算结果要优于梯度算法的实算结

果.

关  键  词 : 投资组合模型 ; 遗传算法 ; 实证分析

中图分类号 : F 224. 9    文献标识码 :A

0  引  言

  投资组合模型属于非线性规划问题. 在各种投

资组合模型中 ,均值2方差模型是比较简单的非线性

规划问题 ,而均值2L PM (Lower Partial Moment ,简

称 L PM) 模型[1 ]和均值2VaR (Value at Risk) 模型[2 ]

则是比较复杂的非线性规划问题. 求解非线性规划

问题的常用算法是基于梯度的迭代算法. 但这类算

法在求解比较复杂的问题时不能保证得到全局最优

值. 因此在求解目标函数比较复杂的投资组合模型

时 ,必须引入新的算法 ———智能算法.

目前我国的学者在利用智能算法求解复杂的投

资组合模型方面的研究还不多. 其中文献[3 ]利用模

拟退火算法来求解绝对离差模型 ,得到了较好的实

算结果.

本文将利用另外一种全局优化的智能算法 ———

遗传算法求解投资组合模型. 遗传算法是一类借鉴

生物界自然选择和遗传机制的随机化搜索算法 ,由

于它具有群体搜索策略以及优化计算时不依赖于梯

度信息等特点 ,使它成为一种鲁棒性极强的全局优

化算法 ,尤其适于求解传统优化算法难以解决的复

杂的非线性规划问题[4 ] . 本文在对投资组合模型特

点进行深入分析的基础上 ,设计了一个能够求解投

资组合模型的遗传算法 ,并将遗传算法的实算结果

与梯度算法的实算结果进行比较分析.

1  问题的描述

投资组合模型可表述如下[5 ] :

假设有 N 种风险证券 , 证券的收益率是随机

的 ,用 x = ( x 1 , x 2 , ?, x N ) T 表示;其期望值用 μ=

(μ1 ,μ2 , ?,μN ) T 表示. 此外 ,ω= (ω1 ,ω2 , ?,ωN ) T

表示一个投资组合 ,其中 ωi 表示资金在第 i 种证券

上的分配比率( i = 1 ,2 , ?, N ) ,且 ∑

N

i = 1

ωi = 1 ; T 表

示投资者的目标收益水平; l 为 N 维列向量 ,分量全

是 1. 根据以上约定 ,投资组合模型可表示为 :

min

{ω}

Risk (ω)

s. t. ωTμ = T ,ωT l = 1

(1)

其中 Risk (ω) 表示投资组合的风险 , 具体表示为投

资组合的方差或 L PM 或 VaR 等 ,都是 ω 的非线性

函数 ,因此投资组合模型(1) 是一个带有线性约束条

件的非线性规划问题.

在数学规划理论中 ,求解非线性规划问题的常

用方法是基于梯度的迭代算法. 但是利用梯度信息

来搜索极值点的迭代算法有一定的局限性 ,表现在 :

①算法要求目标函数连续可导 ,这限制了它们

的适用范围;

②如果目标函数有多个局部极值点 ,梯度算法

可能“未成熟收敛”,即只收敛于局部极值点而不是

全局极值点.

对于均值2L PM 模型和均值2VaR 模型来说 ,由

于其目标函数的性状很难准确描述 ,可能具有多个

局部极小值 ,在用梯度算法求解投资组合模型时可

能收敛于局部最小值. 为解决这个问题 ,本文引入遗

传算法求解投资组合模型.

2  求解投资组合模型的遗传算法设计

虽然遗传算法在理论上表现出优越的性能 ,能

够快速地收敛于全局最优解 ,但在实践中要处理复

杂的优化问题 ,还有许多问题有待于进一步的研究 ,

如控制参数的确定、未成熟收敛问题、约束条件的表

示等. 针对求解投资组合模型的具体问题 ,本文设计

了一个求解投资组合模型的遗传算法.

2. 1  编码设计

遗传算法的编码方式分为二进制编码和非二进

制编码. 在利用二进制编码的遗传算法中 ,对于码串

的每一位 ,只有 1 和 0 两个码值 ,在交叉和变异等操

作中原理清晰 ,操作简单. 因此目前常用的是二进制

编码.

但是二进制编码不适合处理大规模的多变量优

化问题. 因为如果其变量用二进制表示 ,为了保证问

题的解具有一定的精度 ,得到的码串将会很长 ,这会

增大遗传算法的计算时间. 而投资组合模型正是一

个大规模的多参数优化问题. 有关研究表明 ,我国股

市合适的组合规模为 30 左右 ,即 30 个变量. 如果将

最优解精确到 0. 001 , 则表示一种证券的权重的二

进制编码需要 10 位 ,从而一个最优解需要 300 位的

二进制编码 ,计算量将是惊人的.

大量的实算表明 :与二进制编码相比 ,十进制编

码运算更快 ,精度更高;更重要的是 ,十进制编码更靠

近问题空间 ,更容易设计加入问题领域知识的遗传算

子[6] ,这一特点对于处理投资组合模型这类约束优化

问题是非常重要的. 因此本文采用十进制编码.

2. 2  算子设计

采用十进制编码方案后 ,原有的适用于二进制

编码的遗传算子将不再适用 ,必须设计新的算子.

对于带有约束条件的问题 ,遗传算法一般采用

惩罚函数来解决. 但这种方法具有很大缺陷[7 ] :如

果给一个非法个体加一个较大的惩罚 ,遗传算法将

花大量的时间来评价非法个体 ,同时偶尔找到的合

法个体会驱走其他个体导致算法未成熟收敛;如果

只是加一个中等的或较小的惩罚 ,一些非法个体会

取得比合法个体更高的适应度 ,得到更多的进化机

会 ,甚至使算法收敛于非法个体.

本文认为合理的表达约束条件并在遗传算法的

搜索过程中避免违反约束条件的方法是重新设计新

的遗传算子. 算子设计的思想是 :先构造一个全部满

足约束条件的初始解群 ,再对遗传算子进行合理的

改进以避免在进化过程中产生非法个体. 综合考虑

这两方面的因素 ,本文设计了如下遗传算子 :

①交叉算子

记投资组合模型的可行域为 D = { ω:ωTμ=

T ,ωT l = 1} . 可以证明 : D 是一个凸集(证明略) .

根据“D 是一个凸集”这一结论 ,本文设计如下

交叉算子.

如果选择 x , y 进行杂交 ,则杂交后得到的两个

个体为 :

x′= α·x + (1 - α) ·y

y′= α·y + (1 - α) ·x

其中α∈[0 ,1 ]为一个随机数.“D 是一个凸集”保证

了杂交得到的新个体仍在 D 内 ,即满足约束条件.

②变异算子

投资组合模型的约束条件有两个 ωTμ= T 和

ωT l = 1. 由线性代数的知识可知 ,有两个变量

ωi1

,ωi2

({ i1 , i2} A { 1 ,2 , ?, N} )

可由其他 N - 2 个变量 (这 N - 2 个变量为自由未

知量 ,可自由取值) 线性表出. 这样对于一个个体 ω

= (ω1 ,ω2 , ?,ωN ) T 就可以在这 N - 2 个变量中随

机抽取一个 ωij

进行变异操作. 由于这 N - 2 个变量

可以自由取值 ,所以变异后产生的新个体仍然满足

约束条件.

因此 ,本文设计如下变异算子 :

如果在 N - 2 个自由未知量中随机抽取 ωij



行变异操作 ,变异后的新个体为 :ω′

ij

= ωij

+ rand. 其

中 rand 是一个随机数.

由于变异操作的目的是为了增强其局部搜索能

力 ,在接近最优解时进行局部微调 ,保持群体的多样

性 ,以防止未成熟收敛. 所以 ,变异概率一般取得非常

小 ,为的是不让变异操作对当前解造成很大影响. 基

于此思想 ,对上述变异算子进行两方面的改进 :

①采用正态分布随机数. 以往变异操作一般采

用均匀分布的随机数来代替 ωij

. 但是 , 均匀分布的

随机数取较大值的概率与取较小值的概率相同 ,这

就可能使当前解产生较大的变动 ,影响算法收敛. 而

正态分布的随机数取较大值的概率较小 ,取较小值

的概率较大 ,符合局部微调.

②采用非均匀变异. 使正态分布的标准差随迭

代次数的增加呈指数衰减 :δ= ad (其中δ为正态分

布的标准差 , a ∈(0 ,1) 且接近于 1 , d 为当前的迭代

次数) ,从而使随机数的变动范围也呈指数级衰减. 非

均匀变异可以使遗传算法在迭代过程开始时进行全

03 武汉大学学报 (理学版) 第 50 卷

局搜索 ,而随着迭代过程的进行 ,逐步局部微调.

2. 3  自适应算子参数

交叉概率和变异概率是实施遗传算法必须确定

的两个非常重要的控制参数 ,但目前在理论上还不

能精确的确定这两个参数的具体数值 ,一般的约定

是 :交叉概率在[0. 25 , 1. 00 ]之间取值 ,变异概率在

0. 001 左右. 本文采用自适应 (adaptive) 的思想[8 ] ,

根据个体适应度的大小确定交叉概率 Pc 和变异概

率 Pm :

Pc =

( Fmax - F) / ( Fmax - Favg) , F ≥ Favg

1. 0 , F < Favg

Pm =

0. 001 ×[ ( Fmax - F) / ( Fmax - Favg) ] ,

  F ≥ Favg

0. 001 , F < Favg

其中 : Fmax为解群中个体适应度的最大值 , Favg为解

群的平均适应度 , F 为参与交叉或变异操作的个体

适应度.

3  实证分析

本文以原“上证 30 指数”的 30 只指标股作为投

资者选择的风险资产 ,以这 30 种股票 2000、2001 和

2002 三年的周收盘价为样本数据 ,在 10 个不同的

目标收益水平下用本文设计的遗传算法求解均值2

方差模型和均值2VaR 模型 ,并将计算得到的有效前

沿和用梯度算法计算得到的有效前沿进行比较 ,以

检验本文设计的遗传算法的实算效果.

3. 1  求解均值2方差模型的实证比较

均值2方差模型的目标函数表现为权重向量 ω

的二次函数 ,有准确的梯度信息 ,比较适合用梯度算

法求解. 这个实证分析是为了比较两种算法在求解

简单问题时的效果.

计算结果见图 1. 从图 1 可知 ,对于均值2方差模

型而言 ,用遗传算法求出的最优解要略逊于用梯度

算法求出的最优解.

3. 2  求解均值2Va R模型的实证比较

尽管在目前的理论分析中一般假定股票收益率

服从正态分布. 但实证研究表明股票收益率的实际

分布呈现“偏态”和“过度峰态”特性 ,明显与正态分

布的特性不符. 可见正态分布并不能很好地刻画股

票收益率的概率分布. 本文不对股票收益率的概率

分布 进 行 特 殊 假 定 , 而 是 利 用 Cornish2Fisher 展

图 1  均值2方差模型组合前沿的比较

  梯度算法求出的组合前沿用. 表示 ,遗传算法求出的组合前

沿用 + 表示

式[9 ] (Cornish2Fisher expansion) 和样本矩来计算投

资组合的 VaR :

ωVaR = - (ωTμ·Δt + 珘zα ωTΩω·Δt)

其中 :

珘zα = zα + 1

6 ( z 2α - 1) S +

  1

24 ( z 3α - 3 zα) K - 1

36 (2 z 3α - 5 zα) S 2

zα 为标准正态分布的α分位点 , S 为样本偏度 , K

为样本的过度峰度 ,Δt 为 VaR 的时间期限 ,Ω为证

券收益率向量 x 的协方差矩阵.

这个实证分析是为了比较两种算法在求解复杂

问题时的效果. 计算结果见图 2 和图 3. 对于均值2

VaR 模型而言 ,用梯度算法无法求出最优解 (如图

3 ,均为异常解) ,而用遗传算法求出的最优解构成了

一条比较平滑的组合前沿.

图 2  均值2VaR 模型的组合前沿 (梯度算法)

图 3  均值2VaR 模型的组合前沿 (遗传算法)

13第 1 期 徐绪松 等 :求解投资组合模型的遗传算法

  本文认为实算结果的差异与模型的目标函数有

关. 均值2方差模型的目标函数是权重向量 ω 的二

次函数 ,可以准确的确定其梯度信息 ,因而非常适合

用梯度算法求解. 而遗传算法是一种随机搜索算法 ,

在实算中可能会出现一些随机的变动 ;同时遗传算

法还存在一些尚待进一步研究和完善的问题 ,从而

导致了遗传算法在求解均值2方差模型时不如梯度

算法稳定. 而根据 Cornish2Fisher 展式求出的 VaR

计算公式是关于 ω的异常复杂的函数 ,其梯度信息

很难准确的确定 ,这导致了梯度算法在求解均值2

VaR 模型时失效. 而在求解均值2VaR 模型这类比

较复杂的非线性规划问题时 ,遗传算法表现出了梯

度算法无法比拟的优越性. 事实上 ,遗传算法正是针

对传统算法很难求解或无法求解的组合优化等复杂

问题而提出的 ,许多实算结果都表明遗传算法在这

些领域的结果优于传统的梯度算法.

4  结  论

本文在对投资组合模型的特点进行分析的基础

上 ,对遗传算法的编码、遗传算子的设计以及算子参

数的确定等方面进行了深入的研究 ,设计出了一个

能够有效求解投资组合模型的遗传算法. 实算结果

表明 ,在求解均值2VaR 模型这类比较复杂的非线性

规划问题时 ,遗传算法明显优于梯度算法. 同时从本

文的算法设计和算法的实算结果来看 ,虽然目前遗

传算法已经有了一个比较完整的理论框架 ,但在求

解具体的优化问题时 ,还必须结合要求解问题的领

域知识对算法进行重新设计才能取得较好的效果.

参考文献 :

[1 ]  Nawrocki , David N. Optimal Algorithms and Lower Par2

tial Moment : Ex2Post Results[J ]. A pplied Economics ,

1991 ,23 (3) ,465270.

[2 ]  Jansen Dennis W , Koedijk Kees G, de Vries Casper G.

Portfolio Selection with Limited Downside Risk [ J ].

Journal of Em pirical Finance , 2000 , 7 ( 2000) : 2472

267.

[3 ]  徐绪松 ,陈彦斌. 绝对离差证券组合投资模型及其模拟

退火算法 [J ]. 管理科学学报/ Xu Xu2song , Chen Yan2bin.

Portfolio Choice Model Based on Mean Absolute Deviation and

It’s Simulated Annealing Algorithm[J ]. Journal of Manage2

ment Scieneces in China , 2002 ,5(3) :79285(Ch) .

[4 ]  Fogel D , Michalewicz Z. How to Solve it Modern

Heuristics[ M]. Heidelberg : Springer , 2000.

[5 ]  Cochrane John H. Asset Pricing[ M]. Princeton : Prince2

ton University Press , 2001.

[6 ]  Hromkovic J . A lgorithmics f or Hard Problems [ M ].

Heidelberg : Springer , 2001.

[7 ]  Z. 米凯利维茨. 演化程序 :遗传算法和数据编码的结

合[ M ]. 北京 :科学出版社/ Michalewic Z. Genetic A l2

gorithms + Data Structures = Evolution Programs [ M ].

Beijing : Science Press , 2000 (Ch) .

[8 ]  李书全 ,赵良英 ,史智兴等. 一种防止遗传算法成熟前

收敛的有效算法 [J ]. 系统工程理论与实践/ Li Shu2

quan , Zhao Liang2ying , Shi Zhi2xing , et al. An Effi2

cient Method of Preventing Prematurity of Genetic Algo2

rithm[J ]. Systems Engineering ———Theory & Practice ,

1999 ,(5) :72277 (Ch) .

[9 ]  Mina Jorge , Ulmer Andrew. Delta2Gamma Four Ways

[ EB/ OL ]. http :/ / w w w . viskmetvis. com ,1999204.

A Genetic Algorithm Solving Portfolio Choice Model

XU Xu2song , HOU Cheng2qi , WANG Pin

( Institutie of Technology Economics and Management , Business School ,

Wuhan University , Wuhan 430072 , Hubei ,China)

  Abstract : Based on the character of Portfolio choice model , this article studies coding , genetic operators and

operators’parameter and designs a genetic algorithm which can solve portfolio model. The empirical analysis

shows that computational result of this genetic algorithm is better than computational result of gradient algorithm

when solving complex Portfolio model.

Key words : portfolio model ; genetic algorithm ; empirical analysis

23 武汉大学学报 (理学版) 第 50 卷


求解投资组合模型的遗传算法

返回顶部