您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 投融资/租赁 > Matlab在马柯维茨均值-方差模型的简单应用
Matlab在马柯维茨均值-方差模型的简单应用陈思仰20100512003Markowitz(1952)发展了一个在不确定条件下严格陈述的可操作的资产组合选择理论:均值-方差方法Mean-Variancemethodology.马科维茨(H.Markowitz,1927~)《证券组合选择理论》马柯维茨模型以预期收益率期望度量收益;以收益率方差度量风险。通常以资产的历史收益率的均值作为未来期望收益率,可能会造成“追涨的效果”,在实际中这些收益率可能是由研究员给出;在计算组合风险值时协方差对结果影响较大,通常以资产的历史收益率的协方差度量资产风险与相关性,这种计算方法存在预期误差,即未来实际协方差矩阵与历史协方差矩阵间的存在偏差。均值-方差分析的含义一个随机变量的概率分布可以用一些数值特征—矩来描述:一阶原点矩——均值(数学期望)二阶中心矩——方差均值和方差是同一随机变量在同一时期运动轨迹的不同统计值,分别用于对金融活动收益与风险的衡量均值-方差分析的含义是:投资者的效用函数由资产的收益和风险决定,用简化的数学方式表示即投资者的效用函数仅包括均值和方差两个自变量。期望收益率的衡量:以均值来衡量,是指在未来不确定情况下对投资收益率所有可能的取值的加权平均。其权数为相应的概率值。风险的衡量:以方差来衡量,是未来收益率的所有可能取值对期望收益率的偏离的加权平均。权数仍然为相应的概率值。标准差:也反映未来收益率的所有可能取值对期望收益率的偏离程度。均值-方差组合选择的实现方法:•收益——证券组合的期望报酬•风险——证券组合的方差•风险和收益的权衡——求解二次规划首先,投资组合的两个相关特征:•它的期望回报率(均值);•可能的回报率围绕其期望偏离程度的某种度量,其中方差作为一种度量在分析上是最易于处理的.其次,理性的投资者将选择并持有有效率投资组合,即那些在给定的风险水平下的期望回报最大化的投资组合,或者那些在给定期望回报率水平上使风险最小化的投资组合.再次,通过对某种资产的期望回报率、回报率的方差和某一资产与其它资产之间回报率的相互关系(用协方差度量)这三类信息的适当分析,辨识出有效投资组合在理论上是可行的。最后,通过求解二次规划,可以算出有效投资组合的集合,计算结果指明各种资产在投资者的投资中所占份额,以便实现投资组合的有效性——即对给定的风险使期望回报率最大化,或对于给定的期望回报使风险最小化。模型理论经典马柯维茨均值-方差模型为:21minmax()..1pTpniiXXErXRstxT其中,12(,,...,)TnRRRR;()iiREr是第i种资产的预期收益率;12(,,...,)TnXxxx是投资组合的权重向量;()ijnn是n种资产间的协方差矩阵;()ppREr和2p分别是投资组合的期望回报率和回报率的方差。•以华北制药、中国石化、上海机场三只股票,如何构使用马柯维茨模型构建投资组合模型?•资产数据如下表表1三只股票的日回报率、风险数据及协方差矩阵收益率均值(%)收益率标准差(%)协方差矩阵(×0.0001)华北制药0.05402.305.272.801.74中国石化0.02752.062.804.261.67上海机场0.02361.701.741.672.90模型理论经典马柯维茨均值-方差模型为:21minmax()..1pTpniiXXErXRstxT其中,12(,,...,)TnRRRR;()iiREr是第i种资产的预期收益率;12(,,...,)TnXxxx是投资组合的权重向量;()ijnn是n种资产间的协方差矩阵;()ppREr和2p分别是投资组合的期望回报率和回报率的方差。函数语法:[PortRisk,PortReturn]=portstats(ExpReturn,ExpCovariance,PortWts)输入参数:ExpReturn:资产预期收益率ExpCovariance:资产的协方差矩阵PortWts:资产权重输出参数:PortRisk:资产组合风险(标准差)PortReturn:资产组合预期收益(期望)假设等权重配置华北制药、中国石化、上海机场,则资产组合的风险与收益为多少?M文件:Portstatstest.m•注释:ones(n,m)为生产元素都为1的n×m矩阵,ones(1,3)=[1,1,1].PortWts=1/3*[1,1,1]=[1/3,1/3,1/3]ExpReturn=[0.0005400.0002750.000236];ExpCovariance=0.0001*[5.272.801.74;2.804.261.67;1.741.672.90];PortWts=1/3*ones(1,3);[PortRisk,PortReturn]=portstats(ExpReturn,ExpCovariance,PortWts)PortRisk=0.016617PortReturn=3.5033e-004•2.有效前沿计算函数马柯维茨均值-方差模型为经典的带约束的二次优化问题,在给定期望收益时,方差最小解唯一(可行解域为凸),frontcon使用,matlab优化工具箱的fmincon函数进行求解frontcon函数算法:11minmin=max()..1..1ppTTipnniiiiXXXXXReErXRstxstxTT•给定计算相应风险最小的组合,即得到有效前沿上一点(有效组合),给定一系列可以有效描绘出有效前沿。组合的收益介于单个资产的最大收益与最小收益之间,例如示例中最大收益为0.0540%、最小收益为0.0236%,为根据NumPorts在最大收益与最小收益间进行等分即可。•函数语法:•[PortRisk,PortReturn,PortWts]=frontcon(ExpReturn,ExpCovariance,NumPorts,PortReturn,AssetBounds,Groups,GroupBounds,varargin)•输入参数:•ExpReturn:资产预期收益率;•ExpCovariance:资产的协方差矩阵;•NumPorts:(可选)有效前沿上输出点的个数,默认为10;•PortReturn:(可选)给定有效前沿上输出回报点个数;•AssetBounds:(可选)每种资产权重的上下限,例如,上海机场的最大持仓比例为10%;•Groups:(可选)资产分组,Groups(i,j)=1表示第j个资产属于第i个群(例如,行业);•GroupBounds:每个资产群约束(例如,某个行业配置能超过20%)•输出函数:•PortRisk:资产组合风险(标准差)•PortReturn:资产组合预期收益(期望)•PortWts:资产组合中各资产权重如何配置华北制药、中国石化、上海机场,则资产组合为有效组合?M文件:frontcontest.mExpReturn=[0.0005400.0002750.000236];ExpCovariance=0.0001*[5.272.801.74;2.804.261.67;1.741.672.90];NumPorts=10;[PortRisk,PortReturn,PortWts]=frontcon(ExpReturn,ExpCovariance,NumPorts)PortRisk=1.0e-002*1.56531.57591.60741.65861.72771.81281.91292.02842.15672.2956PortReturn=1.0e-003*0.28430.31270.34110.36950.39800.42640.45480.48320.51160.5400PortWts=0.12740.24560.62700.22700.19790.57510.32650.15030.52320.42610.10260.47130.52570.05490.41940.62530.00720.36750.719600.28040.813100.18690.906500.09351.0000-0.00000.0000如果各个资产投资上限为50%,求解有效前沿?ExpReturn=[0.0005400.0002750.000236];ExpCovariance=0.0001*[5.272.801.74;2.804.261.67;1.741.672.90];NumPorts=10;AssetBounds=[0,0,0;0.5,0.5,0.5]%设置资产上限[PortRisk,PortReturn,PortWts]=frontcon(ExpReturn,ExpCovariance,NumPorts,[],AssetBounds)1.0e-002*PortRisk=1.58181.58421.59141.60341.62001.64081.66491.69201.74121.9449PortReturn=1.0e-003*0.30240.31400.32570.33740.34910.36080.37250.38410.39580.4075PortWts=0.17680.32320.50000.22090.27910.50000.26500.23500.50000.30910.19090.50000.35320.14680.50000.39540.11730.48730.43630.09770.46600.47730.07810.44460.50000.20050.29950.50000.50000.0000•3.约束条件下有效前沿•在实际构建投资组合时候要考虑到合法合规或者风险管理等限制条件,这样会给组合构建带来约束,例如基金“双百分只十规则”:基金投资于一证券的市值不能超过基金资产的10%,基金投资于一上市公司股票不能超过该公司市值的10%;Matlab求解约束条件下有效前沿的为portopt函数;函数语法:[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,ExpCovariance,NumPorts,PortReturn,ConSet,varargin)输入参数:ExpReturn:资产预期收益率ExpCovariance:资产的协方差矩阵NumPorts:(可选)有效前沿上输出点的个数,默认为10PortReturn:(可选)给定有效前沿上输出点回报ConSet:组合约束,一般通过portcons进行设置Varargin:主要为优化算法中的一些参数输出函数:PortRisk:资产组合风险(标准差)PortReturn:资产组合预期收益(期望)PortWts:资产组合中各资产权重注释:portcons函数ConSet=portcons(varargin)portcons该函数比较复杂,使用举例的方式进行说明。例配置华北制药、中国石化、上海机场三个资产,华北制药最大配置50%,中国石化最大配置90%,上海机场最大配置80%,华北制药为资产集合A,中国石化、上海机场组成资产计划B,集合A的最大配置为50%,集合B的最大配置为80%,集合A的配置不能超过集合B的1.5倍,则如何配置。M文件为portopttest.M约束条件设置如下:AssetNum=3;资产数量三个PVal=1;配置比例,100%表示满仓配置,若80%,则设PVal=0.8;AssetMin=0;各资产最低配置AssetMax=[0.50.90.8];各资产最高配置GroupA=[100];资产集合A(例如,行业)GroupB=[011];资产集合B(例如,行业)GroupMax=[0.50,0.80];资产集合A最大配置50%,B最大80%AtoBmax=1.5;集合A的配置不能超过集合B的1.5倍ConSet=portcons('
本文标题:Matlab在马柯维茨均值-方差模型的简单应用
链接地址:https://www.777doc.com/doc-4145988 .html