首页 期刊简介 最新目录 过往期刊 在线投稿 欢迎订阅 访客留言 联系我们
新版网站改版了,欢迎提出建议。
访客留言
邮箱:
留言:
  
联系我们

合作经济与科技杂志社

地址:石家庄市建设南大街21号

邮编:050011

电话:0311-86049879
友情链接
·中国知网 ·万方数据
·北京超星 ·重庆维普
金融/投资
遗传算法在投资组合优化中的应用
第715期 作者:□文/薛雨石 时间:2023/10/16 9:56:08 浏览:554次

[提要] 在中央经济工作会议定调2022年全面实施证券发行注册制背景下,探索量化投资与智能算法相结合,克服传统人工决策带来的不足十分有意义。本文利用均值-方差投资组合模型中收益与风险相平衡的思想,以0-1背包问题为媒介,在背包具有最大载重量为约束条件下,物品的装包与不装包两种状态,重新定义在初始投资成本具有约束的条件下,对股票池中的个股进行投资与不投资做出决策,最后用MATLAB程序实现遗传算法这一智能优化算法,使模型的求解过程具有生物的遗传进化能力与自适应能力,最后得出收益最大化的投资组合,在现实中具有很强的操作性,为投资者提供行之有效的股票选择方案与决策依据。

关键词:均值-方差投资组合;0-1背包问题;遗传算法;实证分析

中图分类号:F83 文献标识码:A

收录日期:2023111

在中央经济工作会议定调2022年全面实施证券发行注册制背景下,资本流通更加频繁,市场变化更加多样,中国资本市场逐步走向成熟还有较大的调整、完善空间,让投资者在股市中简单易行地甄别鱼龙混杂的上市公司就显得尤为重要。本文通过遗传算法求解0-1背包问题,转化为求解初始投资成本具有约束条件下的最优股票投资组合,最后实现投资收益最大化的目标。

一、均值-方差投资组合模型

投资组合是研究如何优化分配投资者的财富,使其达到提高收益和分散风险的目的。投资的本质就是以牺牲当前的收益为代价来换取将来的收益,资本成本是影响投资主体进行投资行为的重要因素,任何一项投资活动都必须进行成本收益分析。1952年,MarkowitzPortfolio Selection开创性地提出了均值-方差(MV)投资组合模型,赢得了1990年诺贝尔经济学奖。该研究是资产配置理论的基础,是量化投资的开端,它将风险与收益联系起来,风险也可以进一步解释为投资者需要承担的成本,帮助投资者建立起最佳的投资组合。本文借用这一思想,在初始投资成本约束的条件下,使得投资收益最大化。

假设一个投资组合共包括N种风险证券,其中ri表示第i种证券的收益率;xi表示第i种证券的投资比率;Ri=Eri)表示第i种证券的期望收益率;σij= Eri-Ri)(rj-Rj)表示第i种证券与第j种证券期望收益率的协方差。

该投资组合的总收益Rp=xiRi1

总风险σ■■=Var(■xiri =■■xixjσij2

x=x1x2x3,…,xnT表示投资组合的投资比例向量;V=(σijN×N表示收益率向量r的协方差矩阵;F=111,…,1T表示分量全部为1N维向量;R=R1R2R3,…,RnT表示收益率向量r的期望向量;则Markowitz模型可表述为:

  min(σ■■=XTVXs.t. XTR=R0 XTF=13

其中,R0是投资者所要求的期望收益率;

或者 maxRp=XTRs.t. XTVX=σ■■ XTF=14

其中,σ■■是投资者所要求的期望风险值。

假设一个投资组合包含N个证券,用Markowitz模型求解时,需要计算N个预期回报、N个方差、NN-1/2个协方差,在证券市场上各种股票数以千计的今天,如果只由人工而不用计算机辅助计算,一是计算量庞大,效率低下;二是势必将倚赖作业人员的主观判断,投资效率与质量均不能保证,因此需要通过算法思想和计算机代码,实现由人工转化为计算机的智能解。

二、0-1背包问题描述

0-1背包问题早在1978年就由学者MerkleHellman提出,可以通俗地描述为:给定一组物品,每个物品都有各自的重量和价值,在背包最大限定的载重量以内,如何选择可以使物品的总价值最大。其数学模型如下:一组物品共有k个,各个物品的重量和价值分别为wii=12,…,k)和vii=12,…,k),背包最大限定的载重量为Cxi0-1决策变量,xi=1时物品i被装包,xi=0时物品i未被装包。

目标函数maxvixi5

表示最大化背包中物品的总价值;

约束条件■wixiC6

表示装入背包中物品的总重量不大于最大限定的背包载重量。

本文通过重新定义物品与背包的概念,以证券市场上的股票投资为例,把股票池中个股的价格定义为单个物品的重量,是选择投资该支股票所要付出的机会成本,把个股的每股收益定义为单个物品的价值,可供使用的初始投资成本定义为背包最大限定的载重量,某物品装包与未装包的问题就巧妙地转化为某股票被选中投资与未被选中投资的问题。

三、遗传算法介绍

生物启发式计算是通过模拟自然界的生态演化机制而产生的智能优化算法,对于求解0-1背包问题、旅行商问题、车辆路径问题等一系列高维度、多目标、约束性优化有卓越的性能。其中,遗传算法借鉴了生物的遗传与进化,使模型求解具有优良的自适应能力和优化能力。遗传算法的原理如下:

求函数最大值、最小值的数学规划模型为:

maxminfxs.t. XRR?U7

其中,X=x1x2x3,…,xnT为决策变量,fx)为目标函数,式(2)、式(3)为约束条件,满足约束条件的解X称为可行解,集合R表示所有满足约束条件的可行解集合,U是基本空间。将n维决策变量X=x1x2x3,…,xnTn个记号Xii=12,…,n)所组成的符号串来表示:X=X1X2XnX=x1x2x3,…,xnT,把每一个Xi看作一个遗传基因,nXi组成一条染色体,称为个体X,个体X所组成的集合称为种群Pt)。如果将遗传基因Xi01表述,相应的染色体就转化为一个二进制符号串。对于每一个个体X,要按照一定规则确定出其适应度Fitness,个体的适应度与个体X的目标函数值相关联,X越接近目标函数的最优值,适应度越大,反之适应度越小。

遗传算法搜索最优解的过程是一个反复迭代过程,它是通过模仿生物进化过程中对染色体的选择、交叉、变异、重组实现的,换言之,搜索染色体X最优解X*,使得种群Pt)按照优胜劣汰的法则将适应度较高的个体更多地遗传到下一代种群Pt+1):选择操作从第t代种群Pt)中选择出一些优良的个体遗传到下一代种群Pt+1)中,适应度高的解的后代往往多于适应度低的解的后代;交叉操作将种群Pt)中的个体随机配对,以某一概率交换它们之间的部分染色体;变异操作对种群Pt)中的个体,以某一概率改变染色体上的等位基因,从而拓宽算法的搜索空间;重组操作将父代种群中适应度值排在前列的个体添加到子代种群中,等待执行下一轮遗传。

四、遗传算法求解步骤

(一)将背包方案编码成染色体。假设待装包的物品数目为n,每个物品都有装入与未装入两种状态,装入用1表示,未装入用0表示,装包方案共有2n种,每个方案都可以表示为一个01二进制符号串,长度为n。本文将这一装包方案二进制符号串重新定义为一条染色体,单个物品装入与未装入的状态定义为遗传基因。

(二)通过约束处理修复染色体。随机生成01遗传基因,形成一条染色体X,此时这一装包方案基本上是不符合背包最大载重量这一约束条件的,因此要对染色体进行修复。第一步:将遗传基因=1,即已经装入包中的物品,按照性价比=价值÷重量由低到高排序;第二步:取走排在第一位的物品,检验剩余物品是否满足约束条件,如果满足,将此遗传基因由1改为0,该条染色体修复完毕;如果不满足,将此遗传基因由1改为0,继续取走排在第二位的物品,再次检验剩余物品是否满足约束条件,逐次将不满足约束条件的遗传基因由1改为0,直至满足约束条件为止,该条染色体修复完毕。

(三)设置适应度函数评价染色体优劣。定义物品i的价值为p,适应度函数Fitness=■Pi ;在满足约束条件的前提下,适应度值越大,该条染色体最优,即该装包方案最优。

(四)构造种群。假设父代种群是由P条染色体构成,通过约束条件的检验,遍历修复每条染色体,完成对父代种群Pt)的初始化。此时,种群Pt)中每条染色体X的适应度值存在大小差异,通过选择、交叉、变异、重组四种操作,将适应度值高的染色体添加到子代种群Pt+1)中,作为等待下一次循环进化的新种群。本文通过设定种群总代数500终止运算,当程序运行到第Pt)代,t500时算法终止,生成全局最优个体。

(五)选择操作。如果仅从父代种群中挑选出适应度值大的染色体X,容易使整个种群在后续进化中停滞不前,陷入局部最优。因此,在选择个体时,还要兼顾选择适应度值小的染色体。本文设定种群大小是500,代沟率90%,即每次循环选择父代种群中适应度值前50的个体遗传到下一代,其余450个个体通过设置轮盘赌转盘进行概率选择,成为子代种群。因为轮盘赌转盘是按个体适应度值大小的占比面积构成,个体适应度值大的染色体被选中的概率就会大,且允许同一染色体被重复选中。

(六)交叉操作。将上述按照概率从父代种群中选出的450个子代种群按照适应度值增大的方向进化,将450个个体分成2组,每组225个,随机生成需要进行交叉的位置i和需要进行交叉的片段长度,将第一组染色体X上遗传基因Xi整体替换第二组相同位置的遗传基因片段,完成两两交叉。自然界中发生基因交叉的概率较大,本文设置变异概率为90%

(七)变异操作。将完成交叉操作的子代种群继续按照适应度值增大的方向进化,随机生成需要进行变异的位置i和需要进行变异的片段长度,所谓变异就是指遗传基因Xi01,由10。自然界中发生基因变异的概率较小,本文设置变异概率为8%

(八)重组操作。将完成选择、交叉、变异操作的450个新个体,与父代种群中适应度值前50的原个体合并,完成父代种群Pt)向子代种群Pt+1)的进化过程,等待下一次的循环进化,直至完成初始设置的500次迭代,生成全局最优染色体个体,并将其重新解码成0-1背包方案。遗传算法求解0-1背包问题的流程如图1所示。(图1

五、实证分析

为了更好地接近现实中的投资组合问题,本文选取来自中国沪市A股于20223月的综合排名前50的个股数据作为样本,约束性条件定义为不能超过初始投资成本1000万元,实验目的是要解决在仅有初始投资成本1000万元的前提下,如何在资本市场上综合排名前50的个股中优中选优,使得投资组合收益最大化。算法在MATLAB 2014B上编译执行。

实证中,个股每股收益代表了0-1背包问题中单个物品的价值,每股价格代表了单个物品的重量。选取每股收益衡量个股的综合业绩表现是因为该指标在公告中都有披露,数据获取简单,易于操作。每股收益通常用于评价不同公司之间或同一公司不同时期的相对盈利能力或上市公司的业绩,用以衡量普通股股东每持有一股所能享有的当期净利润,是经济决策的重要财务指标。每股收益=净利润÷发行在外普通股的加权平均数。

如果没有计算机辅助执行智能优化算法,完成50支股票的遴选任务可以有250种组合方法,仅依靠人工几乎不可能实现,而实证中计算机仅用了8.25秒就完成了500次迭代,执行结果如图2、图3所示。在可接受的计算时间内,从50支股票中选取最优投资组合,使得在具有初始投资成本约束的条件下,投资组合最大收益为28.38万元,这个实验结果是令人满意的,证明了遗传算法对于在投资组合优化中的应用确实高效可行。(图2、图3

综上,遗传算法作为一项强有力的智能优化算法,具有通用性广、理论依据可靠、推导过程严谨等优点。只要把数据样本导入到算法中,就会自动向着改良解与最优解遗传与进化,在将传统金融知识和理念最大限度发挥出来的同时,增强投资者处理数据与科学决策的整个过程,规避人类所无法避免的非理性判断。

(作者单位:北京科技大学)

 

主要参考文献:

1Harry Markowitz.Portfolio SelectionJ.Journal of Finance1952.0701.

2]张波,陈睿君,路璐.粒子群算法在投资组合中的应用[J.系统工程,2007.2508.

3]曹旺.MATLAB智能优化算法——从写代码到算法思想[M.北京:北京大学出版社,2021.

 
版权所有:合作经济与科技杂志社 备案号:冀ICP备12020543号
您是本站第 31435051 位访客