主要内容

使用PortfolioMAD对象处理线性不等式约束

线性不等式约束是可选的线性约束,它对投资组合的权重施加了不等式系统线性不等式约束).线性不等式约束具有一定的性质AInequality对于不等式约束矩阵,和bInequality对于不等式约束向量。

设置线性不等式约束PortfolioMAD函数

方法设置线性不等式约束的属性PortfolioMAD对象。假设您有一个由五种资产组成的投资组合,您希望确保前三种资产不超过您投资组合的50%。要设置这些约束:

A = [1 1 1 0 0];B = 0.5;p = PortfolioMAD(“AInequality”一个,“bInequality”, b);disp(p.NumAssets) disp(p. ainequal) disp(p.bInequality)
5 1 1 1 00 0.5000

设置线性不等式约束setInequality而且addInequality功能

还可以使用设置线性不等式约束的属性setInequality.假设您有一个由五种资产组成的投资组合,您希望确保前三种资产在您的投资组合中所占的比例不超过50%。给定一个PortfolioMAD对象p,使用setInequality设置线性不等式约束条件:

A = [1 1 1 0 0];B = 0.5;p = PortfolioMAD;p = set不等式(p, A, b);disp(p.NumAssets) disp(p. ainequal) disp(p.bInequality)
5 1 1 1 00 0.5000

假设您想要添加另一个线性不等式约束,以确保后三种资产至少占您投资组合的50%。你可以建立一个线性不等式的增广系统,或者使用addInequality函数建立线性不等式约束。对于这个例子,创建另一个不等式系统:

p = PortfolioMAD;A = [1 1 1 0 0];第一个不等式约束B = 0.5;p = set不等式(p, A, b);A = [0 0 -1 -1];%秒不等式约束B = -0.5;p = add不等式(p, A, b);disp(p.NumAssets) disp(p. ainequal) disp(p.bInequality)
5 1 1 1 000 00 -1 -1 0.5000 -0.5000

PortfolioMAD对象,setInequality,addInequality实现标量展开bInequality属性中矩阵的维数AInequality财产。

另请参阅

|||||||||

相关的例子

更多关于