使用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
使用线性不等式约束使用setinequality
和addinequality
功能
您还可以使用线性不等式约束设置属性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
财产。
也可以看看
投资组合
|setDefaultConstraints
|setbounds
|setBudget
|setGroups
|setGroupratio
|固定性
|setinequality
|定居
|setonewaytournover
相关示例
- 创建投资组合对象
- 使用默认值使用CVAR投资组合约束
- 验证CVAR投资组合问题
- 估算整个投资组合对象的整个边界的有效投资组合
- 估计投资组合对象的有效边界
- 资产返回和场景使用POTTFOLIOCVAR对象
- 使用CVAR投资组合优化的对冲
- 计算CVAR投资组合的最大奖励风险比率