使用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
财产。
另请参阅
PortfolioMAD
|setDefaultConstraints
|setBounds
|setBudget
|setGroups
|setGroupRatio
|setEquality
|setInequality
|setTurnover
|setOneWayTurnover
相关的例子
- 使用PortfolioMAD Object为投资组合权重设置默认约束
- 创建portfolio omad对象
- 验证MAD投资组合问题
- PortfolioMAD对象沿整个边界估计有效投资组合
- 为PortfolioMAD对象估计有效边界
- 资产回报和使用PortfolioMAD对象的场景