1. 引言
1952年,美国经济学家Markowitz在其发表的(Portfolio Selection) [1] 文中,第一次从数理经济学的角度揭示了如何通过分散投资以达到降低风险的作用,开创了现代投资分析理论的先河。Markowitz在 [1] 中提出了均值–方差模型,用均值和方差分别表示资产的收益和风险,将资产的配置问题转化为一个二次规划问题,即在既定的收益情况下,寻求风险最小的组合,或是给定风险的情况下,寻找收益最大化的投资组合,建立了著名的马科维茨投资组合理论。Sharp对马科维茨均值–方差模型进行了简化,提出了单指数模型,将组合的风险和收益与市场组合联系起来,大大降低了模型的计算量 [2] 。Sharp,Lintner和Mossin对马科维茨模型进行了进一步的发展,建立了资本资产定价模型,对证券收益和市场组合收益之间变动的敏感性进行了分析 [3] [4] [5] 。经过多位学者的深入研究,马科维兹投资组合理论在应用性等方面得到了极大的提升。随着我国金融体系与世界的接轨,人民币国际化的大趋势,以及外汇、债券、大宗商品、衍生品等金融工具的发展和完善,金融风险管理成为金融学的一个重要课题。如何在这种不确定的环境下进行资本的优化和配置成为机构投资者和普通投资人面临的重要问题,也即投资组合优化问题。
本文研究了带基数约束和半连续变量的投资组合问题。首先,我们参考经典的马科维兹投资组合模型,通过方差刻画投资组合的风险,并且考虑现实投资中的交易条件,在对个股的持有量和预算进行了限制,在合理控制各项约束的条件下最小化投资组合的风险。由于模型中引入基数约束来限制股票的数量,这使得该问题是NP-难的。故而,我们考虑原问题的一个新的等价形式,得到比原连续松弛更好的下界。数值实验表明通过优化软件CPLEX求解新的等价问题可以更快地求得最优解。我们利用中国A股市场的沪深300成分股进行了数值分析,结果表明经过改进的投资组合模型具有更好的准确性和求解效率,对投资者有一定的助益。
在本文中,我们用
来表示
的非负象限,
来表示
的对称矩阵集,
表示AB的迹,即
,对于任意
,
表示
为第i个对角元素的对角矩阵。
2. 模型构建
假设可投资风险资产集合为n种股票,各股票的收益率分别为
,各股票的投资比例分别为
。通过设定预期收益ρ,使得
来保证投资收益。Q来表示各资产的收益率之间的协方差矩阵。根据马科维兹投资组合理论,均值—方差模型表示为:
基于实际投资的考虑,本文在模型中还增加了两个约束。首先,由于组合投资中的交易成本和管理费用的考虑,投资者不可能同时持有很多种的股票,故而引入了基数约束,规定组合中股票数量不超过K种,即
。同时,为防止在组合中占有比例过小的股票对整体组合的风险和收益产生影响,以及交易费用的考虑,投资者需要对每个股票的最小买入量
的设置来规避占有比例过小的股票的存在。另外,“鸡蛋不能放在同一个篮子中”,出于分散风险的考虑本文亦对每个股票的持有上限量进行限制。综上,令
,称其为半连续变量,表示如果第i个股票不被持有,投资比例
等于0,如果第i个股票被持有,投资比例
介于
和
之间。基于以上考虑,我们建立了如下含基数约束和半连续变量的均值–方差模型(P):
其中Q为n阶半正定对称矩阵;同时
(
且为整数)通常用来表示非零变量的个数。
在不考虑交易费用的情况下,以上模型实际上是带有基数约束和半连续变量的二次优化问题,即选择合适的投资组合在满足各约束条件下最小化组合风险。
3. 模型求解
在本节里,我们将讨论上述带有基数约束和半连续变量的投资组合模型的一种新的更为有效的0-1二次混合整数规划形式。
对于含半连续变量的二次规划问题,文献中 [6] 比较常见的方式是引入0-1变量,将其转化为等价的混合整数二次规划问题。通过引入0-1变量
来替代上文的半连续变量
(
),上述均值–方差模型(P)可以等价转化为以下形式:
由于基数约束的引入,问题(PC)是NP-难的。尽管现有的整数规划软件CPLEX可以通过分支定界法来求解线性、非线性等整数规划问题,基于实际投资活动效率优先原则,须设计对应的算法来保证其求解能力。由于分支定界法的求解效率取决于它的连续松弛下界,连续松弛下界越高,分支定界法求解的越快。因此本文旨在寻找原问题(PC)的一个等价形式,通过求解新等价形式的最优参数来提升原问题的连续松弛下界,进而保证分支定界法算法效率的提升。Billionnet和Ellouni在论文 [7] 中提到了一种提升连续松弛下界的新思路,方法是在原目标函数上加了两个在可行域内等于零的函数,分别是
和
,继而通过选取合适的参数
和
来使得连续松弛的下界得以提升。受其启发,本文借鉴使用论文 [7] 中添至原目标函数的两个函数
和
,将之合并作为函数
,并在此基础上创新性地添加函数
。
对于
、
的构造,须使得对于任意满足如下两个条件:
,
的
,
,总有
和
。令
,
,
,
,
。
,
分别表示为如下形式:
由于
,
,故而可以把
、
加到原目标函数上去,从而形成问题(PC)的如下等价形式:
对于等价形式
,我们可以通过进一步适当添加新的二次有效不等式来提升连续松弛的下界,从而提高求解SDP松弛求解的效率。Anstreicher [8] 提出了一种问题(P)的SDP + RLT松弛方法,方法是在原SDP松弛上通过添加新的RLT约束:
,
。受其启发,本文引入新变量
。令
,
,因此问题
可以等价表述为:
其中
。
回顾一下,我们通过将
转化为凸函数
,使得我们可以通过基于连续松弛的分支定界法来求解等价问题
。由于分支定界法非常依赖于搜索树根节点的下界,而这个下界等同于在一定的多项式时间内可解的问题
的连续松弛的最优值。我们令
来表示
将
转化为
的连续松弛,令
来表示
的值。故而我们接下来要确认参数
,使得
的连续松弛的值尽可能最优。更准确而言,我们将要求解以下问题:
在接下来的定理一中,我们会说明问题(CP)等同于问题(P)的半定松弛的SDP对偶形式。因此,问题(CP)的最优解
可以通过求解(SDP)在多项式时间内得到。
定理一:问题
等于以下半正定规划问题:
其中
设
为(SDP)的最优解,则
为(CP)的最优解,且
。
用
来表示
的拉格朗日对偶形式,对偶系数的范围分别为:
,
,
。用
表示
组成的向量,故而
的拉格朗日对偶问题可以表示为:
因此,拉格朗日对偶
可以表示为:
其中:
运用Shor的半定松弛框架(见Ben-Tal A第3.4章所著):
其中:
4. 数值实验
在本节,我们将进行一系列带有基数约束和半连续约束的均值方差模型的数值实验。本实验的目的在于比较原问题(P)和经过改进的模型
得出连续松弛下界的数值差异,从而验证改进的模型对于求解分支定界算法效率是否具有提升效果。
本文选择的数据为WIND数据库中沪深300成分股和行业指数,样本数据期间为2007年1月到2016年12月。首先,我们选择其中的沪深300行业指数作为因子,各个股票收益率通过对行业指数收益率进行线性回归建立因子模型。然后,我们选取沪深300指数的成分股作为可投资对象集合。最后我们通过设计Matlab程序来比较两个模型连续松弛的下界。
为了完成上述MV问题的实验,本文从沪深300中随机选取股票数量为40个,股票上限数量K = 5。对称矩阵Q的元素是由行业收益率建立的多因子模型确立,单个股票收益率
由选取的40只个股收益率的平均数确定,组合预期收益率
设定为个股收益率
的1.5倍。最小和最大买入限制
和
分别在区间[0.175, 0.225]和[0.325, 0.375]中随机选取。两个SDP问题是通过Matlab 2016a求解,运行程序的电脑配置为PC (2.5 GHz,8 GB RAM)。
我们给出了标准整数规划模型和我们改进的整数规划模型的连续松弛的下界。标准整数规划模型的连续松弛下界为57.9172,经改进的整数规划模型的连续松弛下界为67.3507。从给出的结果可以观察,相较于标准整数规划模型,改进的整数规划模型求解得到的连续松弛下界相比于原问题得到的连续松弛下界提升了16.3%。故而在实际投资活动中,本文所提出的改进模型能够更有效地求解真实投资环境中的问题,从而更好地提升投资效率和效益。
5. 结论
本文研究了带基数约束的投资组合问题。首先,我们参考经典的马科维兹投资组合模型,通过方差刻画投资组合的风险,并且考虑现实投资中的种种因素,在对个股的持有量和预算进行了限制,在合理控制各项约束的条件下最小化投资组合的风险。由于模型中引入基数约束来限制股票的数量,这使得该问题是NP-难的。故而,我们考虑原问题的一个新的等价形式,得到比原连续松弛更好的下界。数值实验表明改进的模型可以得到更好额连续松弛下界,从而对于求解分支定界算法效率有着明显的提升效果。