1. 引言
投资行业是金融市场的核心组成部分,它包含了股票、债券、期货、基金、私募股权等多个领域,其主要目的是通过资金的有效配置来实现资产的增值。随着全球经济的不断发展和金融市场的日益成熟,投资行业呈现出多元化和国际化的趋势。当然,各国政府的政策环境对投资市场的影响也不容忽视。现如今,许多国家都在推动金融市场的开放和创新投资行业提供了良好的政策环境,同时,监管政策也在不断完善。
投资行业在给我们带来高收益的同时,也会面临着多种风险,比如说:市场风险、信用风险、流动性风险等。投资者在进行投资决策时,需要充分考虑宏观经济环境、政策调控以及面临的风险等因素对投资的影响,抓住投资机会,从而实现风险效用的最大化。因此,选择最优的投资组合对于投资者来说是必不可少的。
2. 文献综述
迄今为止,已经有大量的文献表明,马科维茨投资组合理论在金融领域是一个长期研究课题。研究者们主要是从投资人的角度,以投资组合的构建和持有为核心,考虑如何提高投资收益和降低所对应的风险水平。
其中有部分研究介绍了马科维茨理论在不同股票市场实践中的应用。比如:吴伟力和赵柳悦在2023年运用马科维茨投资组合理论对我国的深交所股票市场进行了分析,并研究了是否增加无风险资产两种情况的投资组合,最后给予了散户贴近实际的投资建议[1]。王一凡在2020年以马科维茨均值–方差理论为依据,验证了该投资比率策略的有效性及动态策略的平稳性,同时,也验证了马科维茨均值–方差理论可运用于数量较少的能源期货投资组合中[2]。
然后,还有一些研究将马科维茨投资组合理论应用于多种投资领域,如:P2P网络借贷投资、私募股权、亚太地区房地产业以及碳金融市场。这些研究结果表明,马科维茨投资组合理论适用于不同的投资领域,能够帮助投资者更好地进行投资组合构建和风险管理。
综上所述,该模型能够较好地协调收益和风险问题,有效提高投资收益率和降低风险程度。本文在该模型的基础上,利用Matlab软件研究分析在允许卖空和不允许卖空两种不同条件下选取的几只沪股通股票该如何进行投资组合。
3. 相关理论
3.1. 马科维茨理论[3]
马科维茨模型,也称为Markowitz模型或均值–方差模型,是一种用于优化投资组合的数学模型。它首次出现是在美国经济学家哈里·马科维茨于1952年发表的《投资组合选择》这篇论文中。而当时传统的股票选择方法,主要基于个股的盈利能力、市场地位等因素进行分析,从而忽略了各个股票之间的相关性,也就是忽略了投资组合的风险问题。因此,马科维茨在其文章中介绍了怎样定量评价收益率和风险水平,并形成了均值–方差模型的基本架构。在该模式中通过对不同组合的回报与风险进行全面的考量,建立最优预期投资组合,并设定最优预期投资权重,以实现最佳的风险回报平衡点。
此外,马科维茨投资组合理论还包含下列前提假设:
1) 证券市场是有效的。在完全有效的市场中,市场上所有可用的信息都已经公开并且被所有市场参与者都已经充分了解并反映在市场中。即该市场是一个信息完全公开、信息完全传递、信息完全解读、无信息时滞的市场。
2) 投资者为理性的个体。遵循不满足和风险厌恶的行为方式,且影响投资决策的变量是预期收益和风险两个因素。在同一风险水平上,投资者偏好收益较高的资产组合;在同一收益水平上,则偏好风险较小的资产组合。
3) 单期投资。马科维茨模型通常只适用于单期投资,即只考虑在特定的时间段内建立的投资组合。在这种投资方式中,投资者需要仔细分析和评估市场的风险和收益,以确定最佳的投资策略和资产配置,从而实现期望的收益和控制风险。
4) 证券的收益率服从正态分布。马科维茨模型假设资产收益符合正态分布,即证券的收益率为具有一定概率分布的随机变量,这意味着资产收益会围绕其期望值上下波动,且波动幅度符合统计规律性质。
5) 资产具有无限可分性。在上述假设基础上,通过揭示资产组合的可行集,并从中分离出资产组合的有效集,再结合投资者的效用无差异曲线,最终得到投资者的最优选择。
6) 无税收及交易成本等。马科维茨模型假设投资者在不同投资资产对象之间的转换没有成本,也就是说,买卖交易都是自由的、免费的,而不需要承担任何开销。
基于上述的假设条件,马科维茨建立了选择最优投资组合的均值–方差模型(本文用均值来代表股票的期望收益率,用方差来衡量实际收益率与期望的偏差,即风险)。
假设构造风险最小的组合,则目标函数为:
(1)
其约束条件为:
(2)
其中,
为投资组合的收益率,
、
分别为第i只、第j只股票的期望收益率;
、
分别为第i只、第j只股票在投资组合中所占的权重;
为该投资组合所面临的风险(即组合方差);
为第i只股票与第j只股票之间的协方差。
3.2. 二次规划理论
二次规划是指在约束下最小化一个二次函数的问题[4],即一个二次型函数的优化问题。形式化地,二次规划可以表示为:
(3)
其约束条件如下:
(4)
二次规划是一种重要的约束优化问题,可以应用于多个领域。由于二次规划模型对于某些问题具有更高的凸性和更好的解决方案,因此应用范围更加广泛,能够解决许多实际问题。它在信号处理、机器学习、持续优化、货运和财务规划等领域中都有应用,如支持向量机(SVM)、统计建模、图像处理、物流分配等。
要解决二次规划问题,有很多数学算法和数值方法,如拉格朗日乘子法、内点法等。这些算法的基本思想为,把二次规划问题转化成容易求解的问题或通过迭代方法寻找优化的解。
可以使用拉格朗日乘子法求得上述二次规划的最优解[5]。
首先,构造拉格朗日函数:
(5)
其次,求偏导,得到Kuhn-Tucker条件为:
(6)
最后,解上面方程组就可以得出二次规划的最优解。
4. 实证研究[6]
4.1. 样本选取
本文选取2023年12月1日至2024年3月8日之间62个交易日期间,在东方财富沪股通中选取5只来自不同行业的股票进行投资组合。选取了中国海洋石油(00883)、中国移动(600941)、腾讯控股(00700)、工商银行(601398)、工业富联(601138)这5只股票的日收盘价作为我们的样本数据。
4.2. 求资产的投资收益率
本文将这5只股票的日收盘价作为资产的价格,利用Matlab软件运行如下程序,将资产价格转换为资产的投资收益率。
clear;clc
[num_data,text_data]=xlsread('马科维茨模型数据.xlsx');
data_struct.name=text_data(1,:);
data_struct.date=text_data(:,1);
r=price2ret(num_data)
(注:收益率是通过前一天的日收盘价计算的,因此只有61个交易日的投资收益率)
4.3. 描述性统计分析
1) 计算各股票的期望收益率
通过Matlab程序软件将前面转换后的股票收益率利用mean函数来计算这5只股票在选取的交易日期间的期望收益率,运行之后得出这5只股票的期望收益率分别为:0.40% (中国石油)、0.26% (中国移动)、−0.13% (中国医药)、0.19% (工商银行)、0.81% (工业富联)。由此可见,2023年12月到2024年3月8日这个区间的收益率都不是特别高。
2) 计算股票的方差和标准差
首先通过std函数计算出各股票的标准差,然后对标准差进行平方得到其方差。计算结果见表1。
Table 1. Variance and standard deviation of each stock
表1. 各股票的方差和标准差
|
标准差 |
方差 |
中国石油 |
0.0225 |
0.0005 |
中国移动 |
0.0148 |
0.0002 |
中国医药 |
0.0221 |
0.0005 |
工商银行 |
0.0104 |
0.0001 |
工业富联 |
0.0432 |
0.0019 |
根据马科维茨投资组合模型理论可知:标准差越大,则该股票(或该组合)所面临的风险越大,投资者的收益稳定性也较差。如表1可以看出:工业复联的标准差0.0432是5只股票里最大的,投资风险最大,收益稳定性也较差;工商银行的标准差0.0104是其中最小的,投资风险最小,收益稳定性也较好。同时,可以得到它们的风险大小排名:工业富联 > 中国石油 > 中国医药 > 中国移动 > 工商银行。
3) 计算协方差矩阵
利用Matlab软件计算出这5只股票之间的协方差。如果两只股票之间的协方差越大,说明这两只股票之间的相关性越强;如果协方差等于0,则说明这两只股票之间不具有相关性。这5只股票之间的协方差见表2。
Table 2. Covariance matrix between stocks
表2. 各股票之间的协方差矩阵
|
中国石油 |
中国移动 |
中国医药 |
工商银行 |
工业富联 |
中国石油 |
0.0005 |
0.0002 |
0.0002 |
0.0001 |
0.0001 |
中国移动 |
0.0002 |
0.0002 |
0 |
0.0001 |
0.0002 |
中国医药 |
0.0002 |
0 |
0.0005 |
0 |
0.0003 |
工商银行 |
0.0001 |
0.0001 |
0 |
0.0001 |
0 |
工业富联 |
0.0001 |
0.0002 |
0.0003 |
0 |
0.0019 |
由表2可以看出:各股票之间的协方差很小,说明他们之间的相关性很弱;其中,中国医药与中国移动、工商银行之间的协方差等于0,说明它们之间不相关。
4) 计算相关系数
利用Matlab软件求出各股票之间的相关系数,相关系数是衡量两变量之间相关程度的一个重要指标。表3是5只股票之间的一个相关系数表。
Table 3. Table of correlation coefficient between stocks
表3. 各股票之间的相关系数表
|
中国石油 |
中国移动 |
中国医药 |
工商银行 |
工业富联 |
中国石油 |
1 |
0.6195 |
0.3672 |
0.4108 |
0.1194 |
中国移动 |
0.6195 |
1 |
0.1311 |
0.4247 |
0.2578 |
中国医药 |
0.3672 |
0.1311 |
1 |
0.0068 |
0.3154 |
工商银行 |
0.4108 |
0.4247 |
0.0068 |
1 |
0.0734 |
工业富联 |
0.1194 |
0.2578 |
0.3154 |
0.0734 |
1 |
如表3所示:以中国石油为例,它与其他股票之间的相关系数都是正的,说明它们之间呈现的是正相关关系;但是相关系数都较小,其中,与中国移动之间的相关系数最大,达到了0.6195,说明他们之间的相关程度较高。
5. 模型建立与求解
5.1. “允许卖空”条件下的投资组合模型[7]
1) 模型的建立
根据所选择的样本数据来构造目标函数:
(7)
式中,
、
分别为证券i和证券j所占的权重(权数),
为证券i和证券j之间的协方差。
其约束条件为:
(8)
2) 模型的求解
本文主要选择拉格朗日乘子法来求解上述二次规划问题。
首先,构造拉格朗日函数:
(9)
其次,对其进行求偏导,可得:
(10)
最后,结合公式(9)和公式(10)组成方程组,利用如下Matlab程序软件进行求解。
clear;clc
%获得收益率向量mu和协方差矩阵S
mu=[0.0040 0.0026-0.0013 0.0019 0.0081]; %期望收益率
S=[0.0005 0.0002 0.0002 0.0001 0.0002;
0.0002 0.0002 0.0000 0.0001 0.0002;
0.0002 0.0000 0.0005 0.0000 0.0003;
0.0001 0.0001 0.0000 0.0001 0.0000;
0.0001 0.0002 0.0003 0.0000 0.0019]; %协方差矩阵
%构建二次规划目标函数
H=2*S;
f=zeros(5,1);
Aeq=ones(1,5);
beq=1;
lb=-Inf(5,1); %对权重没有上下限
ub=Inf(5,1);
%解决二次规划拉格朗日函数
options=optimoptions('quadprog','Display','none');
W=quadprog(H,f,[],[],Aeq,beq,lb,ub,[],options);
%计算投资组合的均值和方差
port_mean=mu*W;
port_var=W’*S*W;
%输出结果
disp(W);
disp(port_mean);
disp(port_var);
通过运算得出了最优投资组合的收益率
= 0.11%,投资风险
= 0.007853,各股票的投资权重如表4所示。
5.2. “禁止卖空”条件下的投资组合模型[8]
“禁止卖空”与“允许卖空”不同于:当允许卖空时,绝大部分最优的权重值有非0值(或正数或负数);当禁止卖空时,许多权重值为零。即在上述“允许卖空”模型的约束条件上加上
。
Table 4. Weight of each stock under the “short allowed” condition
表4. “允许卖空”条件下各股票所占权重
股票名称 |
投资比例 |
中国石油 |
−0.1381 |
中国移动 |
0.1261 |
中国医药 |
0.2087 |
工商银行 |
0.7973 |
工业富联 |
0.0060 |
1) 模型的建立
构造目标函数:
(11)
式中,
、
分别为证券i和证券j所占的权重(权数),
为证券i和证券j之间的协方差。
其约束条件为:
(12)
2) 模型的求解
首先,构造拉格朗日函数:
(13)
其次,对其进行求偏导,可得:
(14)
最后,结合公式(13)和公式(14)组成方程组,利用如下Matlab程序软件进行求解。
clear;clc
%获得收益率向量mu和协方差矩阵S
mu=[0.0040 0.0026-0.0013 0.0019 0.0081]; %期望收益率
S=[0.0005 0.0002 0.0002 0.0001 0.0002;
0.0002 0.0002 0.0000 0.0001 0.0002;
0.0002 0.0000 0.0005 0.0000 0.0003;
0.0001 0.0001 0.0000 0.0001 0.0000;
0.0001 0.0002 0.0003 0.0000 0.0019]; %协方差矩阵
%构建二次规划目标函数
H=2*S;
f=zeros(5,1);
Aeq=ones(1,5);
beq=1;
lb=zeros(5,1);
ub=ones(5,1);
%解决二次规划拉格朗日函数
options=optimoptions('quadprog','Display','none');
W=quadprog(H,f,[],[],Aeq,beq,lb,ub,[],options);
%计算投资组合的均值和方差
port_mean=mu*W;
port_var=W'*S*W;
%输出结果
disp(W);
disp(port_mean);
disp(port_var);
因此,我们求得在“禁止卖空”的条件下,最优投资组合的收益率
= 0.15%,投资风险
= 0.00827,各股票的投资权重如表5所示。
Table 5. Weight of each stock under the “no short selling” condition
表5. “禁止卖空”条件下各股票所占权重
股票名称 |
投资比例 |
中国石油 |
0 |
中国移动 |
0.0015 |
中国医药 |
0.1538 |
工商银行 |
0.8254 |
工业富联 |
0.0193 |
6. 实证结论
6.1. 实证结果分析
利用马科维茨投资组合模型,在各股票的期望收益率和协方差矩阵已知的情况下,可以计算出最优投资组合下各股票所占的权重。根据表4所展示的结果显示,在“允许卖空”条件下,最优投资组合的收益率
= 0.11%,投资风险
= 0.007853,其中,工商银行占了79.73%,工业富联只占了0.6%;同时根据表5所展示的结果显示,在“禁止卖空”条件下,最优投资组合的收益率
= 0.15%,投资风险
= 0.00827,其中,工商银行占了82.54%。由此可见,“禁止卖空”条件下的组合收益率较高,同时所对应的风险(标准差)也较大;且无论在哪种条件下,工商银行所占的比重都是最大的。
6.2. 马科维茨模型在实际运用中所存在的问题
1) 数据的不确定性问题
马科维茨模型需要使用历史数据来估计资产的期望收益和协方差矩阵,然而,历史数据可能不准确或不具有代表性,尤其是对于新兴市场或特定行业的资产来说,不准确的数据可能导致模型的预测结果不准确。
2) 市场的有效性问题
马科维茨模型的前提条件之一就是处于一个完全有效的市场之中。在完全有效的市场中,市场价格反映了所有的可用信息,因此,投资者无法通过分析可用信息来获得超额收益。由于市场本身可能存在失灵的现象,所以完全有效的市场是一种理想状态。在实际生活中大多存在的是次级有效市场,市场价格虽然受到某些信息的影响,但这些信息并不是完全反映在市场中,从而我们可以通过分析这些信息来获得一些超额的收益。
3) 交易成本问题
马科维茨模型假设投资者在不同资产之间的转换是不产生交易成本的,即在投资过程中不考虑交易成本,但是在实际生活中,交易费用是不可忽视的。在投资市场中,交易成本会影响投资者的投资风险和收益率。一般来说,如果投资者的交易成本较高,他面临的风险也就相对较大,收益率也会相对降低。
4) 时序关联性问题
马科维茨模型通常忽略了资产收益之间的时序关联性,即忽略了资产收益率的自相关性和异方差性。在实际市场中,资产收益率往往存在相关性和波动聚集现象,忽略这些时序关联性可能导致模型的预测结果不准确。
6.3. 投资建议
1) 分散投资
分散投资是一种降低投资风险的有效策略。通过将资金分散投资于不同市场、不同行业、不同资产类别,可以减少单一投资出现亏损的可能性,以达到风险分散和收益最大化的目标。
2) 定期调整投资组合
投资者应定期评估和调整投资组合的权重分配,以适应市场变化和自身资产配置需求的变化。定期的重新优化投资组合可以帮助投资者保持良好的资产配置,并在市场波动中获得更好的回报。
3) 确定个人的风险偏好
不同投资者的风险偏好程度各不相同,因此,投资者在投资时,应该根据自身情况进行选择。对于高风险偏好投资者来说,可以选择有效前沿上方较高收益率的投资组合,这些投资组合通常具有较高的波动性,但也有较高的潜在收益;对于中等风险偏好投资者来说,可以选择有效前沿上的中间范围投资组合,这些投资组合在风险和收益之间取得了平衡;对于低风险偏好投资者来说,可以选择有效前沿下方较低风险的投资组合,这些投资组合的波动性较低,同时预期收益率也较低。