主要内容

使用POTTFOLIOCVAR对象使用线性不等式约束

线性不等式约束是可选的线性约束,对投资组合权重施加不平等系统(请参阅线性不平等约束)。线性不等式约束具有属性Ainequality对于不平等约束矩阵和Binequality对于不平等约束向量。

使用线性不等式约束使用投资组合功能

线性不等式约束的属性是使用投资组合目的。假设您拥有五个资产的投资组合,并且要确保前三个资产不超过投资组合的50%。设置这些约束:

a = [1 1 1 0 0];b = 0.5;p = portfoliocvar('ainequality', 一个,“ binequality',b);disp(p.numassets)disp(p. ainquality)disp(p.binequality)
5 1 1 1 0 0 0.5000

使用线性不等式约束使用setinequalityaddinequality功能

您还可以使用线性不等式约束设置属性setinequality。假设您拥有五个资产的投资组合,并且要确保前三个资产占投资组合的50%。给定投资组合目的p, 利用setinequality设置线性不等式约束:

a = [1 1 1 0 0];b = 0.5;p = portfoliocvar;p = setinequality(p,a,b);disp(p.numassets)disp(p. ainquality)disp(p.binequality)
5 1 1 1 0 0 0.5000

假设您要添加另一个线性不等式约束,以确保最后三个资产至少占投资组合的50%。您可以设置一个线性不平等的增强系统或使用addinequality功能以建立线性不等式约束。对于此示例,创建另一个不平等系统:

p = portfoliocvar;a = [1 1 1 0 0];%的第一个不等式约束b = 0.5;p = setinequality(p,a,b);a = [0 0 -1 -1 -1];%第二不平等约束b = -0.5;p = addinequality(p,a,b);disp(p.numassets)disp(p. ainquality)disp(p.binequality)
5 1 1 1 0 0 0 0 -1 -1 -1 0.5000 -0.5000

投资组合目的,setinequality, 和addinequality实施标量扩展Binequality属性基于矩阵的尺寸Ainequality财产。

也可以看看

|||||||||

相关示例

更多关于

外部网站