主要内容

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

线性不等式约束是可选的线性约束,其施加在产品组合权重上的不等式系统(参见线性不平等约束)。线性不平等约束具有属性粉碎对于不等式约束矩阵,和培训对于不等式约束载体。

使用该设置线性不等式约束Portfoliomad.功能

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

a = [1 1 1 0 0];b = 0.5;p = portfoliomad('粉碎', 一种,'Binequality',b);DISP(P.Numassets)DISP(P.ainequality)DISP(P.Binequity)
5 1 1 1 0 0 0.5000

使用该设置线性不等式约束setinequality.兼容性职能

您还可以使用以下设置线性不等式约束的属性setinequality.。假设您有五个资产的投资组合,您希望确保前三名资产不超过50%的投资组合。给予A.Portfoliomad.目的P.,使用setinequality.设置线性不等式约束:

a = [1 1 1 0 0];b = 0.5;p = portfoliomad;p = setinequality(p,a,b);DISP(P.Numassets)DISP(P.ainequality)DISP(P.Binequity)
5 1 1 1 0 0 0.5000

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

p = portfoliomad;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.ainequality)DISP(P.Binequity)
5 1 1 1 0 0 0 0 -1 -1 -1 0.5000 -0.5000

Portfoliomad.目的,setinequality., 和兼容性在上面实施标量扩展培训基于矩阵的维度的财产粉碎财产。

也可以看看

|||||||||

相关例子

更多关于