使用组合对象处理组比率约束
组比率约束是可选的线性约束,维持资产组之间比例关系的边界(参见群体比率约束).尽管约束是作为一般约束实现的,但通常的约定是指定一对组矩阵,用布尔指示符(或真正的
或假
或与1
或0
)为每个组矩阵中的每个元素。目标是确保基本组与比较组的比例在指定的范围内。组比约束具有以下属性:
GroupA
对于基隶属矩阵GroupB
对于比较隶属度矩阵LowerRatio
对于基团比例的下界约束UpperRatio
对于组的比例的上限约束
设置组比约束投资组合
函数
属性设置组比率约束的属性投资组合
对象。例如,假设您希望投资组合中金融公司与非金融公司的比例永远不超过50%。假设你有六项资产,分别是三家金融公司(资产1-3)和三家非金融公司(资产4-6)。设置分组比例约束。
Ga = [1 1 1 0 0 0];%金融公司Gb = [0 0 0 1 1 1];%非金融公司p =投资组合(“GroupA”遗传算法,“GroupB”、GB、“UpperRatio”, 0.5);disp(p.NumAssets) disp(p.GroupA) disp(p.GroupB) disp(p.UpperRatio)
6 1 1 1 000 00 1 1 1 0.5000
组矩阵遗传算法
而且GB
在这个例子中可以用逻辑矩阵真正的
而且假
产生相同结果的元素:
GA = [true true true false false false];%金融公司GB = [false false false true true true];%非金融公司p =投资组合(“GroupA”遗传算法,“GroupB”、GB、“UpperRatio”, 0.5);disp(p.NumAssets) disp(p.GroupA) disp(p.GroupB) disp(p.UpperRatio)
6 1 1 1 000 00 1 1 1 0.5000
设置组比约束setGroupRatio
而且addGroupRatio
功能
还可以使用以下命令设置组比率约束的属性setGroupRatio
.例如,假设您希望投资组合中金融公司与非金融公司的比例永远不超过50%。假设你有六项资产,分别是三家金融公司(资产1-3)和三家非金融公司(资产4-6)。给定一个投资组合
对象p
,使用setGroupRatio
设置组约束。
GA = [true true true false false false];%金融公司GB = [false false false true true true];%非金融公司p =投资组合;p = setGroupRatio(p, GA, GB, [], 0.5);disp(p.NumAssets) disp(p.GroupA) disp(p.GroupB) disp(p.UpperRatio)
6 1 1 1 000 00 1 1 1 0.5000
LowerRatio
属性为空([]
).
假设您希望添加另一个组比率约束,以确保奇数资产的权重至少占投资组合中非金融资产权重的20%。可以设置增广群比矩阵,并为无约束群比边界引入无限边界,或者可以使用addGroupRatio
函数构建组比率约束。在本例中,为第二个组约束创建另一个组矩阵:
p =投资组合;GA = [true true true false false false];%金融公司GB = [false false false true true true];%非金融公司p = setGroupRatio(p, GA, GB, [], 0.5);GA = [true false true false true false true false];%奇数公司GB = [false false false true true true];%非金融公司p = addGroupRatio(p, GA, GB, 0.2);disp(p.NumAssets) disp(p.GroupA) disp(p.GroupB) disp(p.LowerRatio) disp(p.UpperRatio)
6 1 1 1 000 1 0 1 0 1 000 0 1 1 1 1 000 1 1 1 1 1 000 1 1 1 1 -Inf 0.2000 0.5000 Inf
addGroupRatio
确定哪些边界是无界的,因此您只需要关注想要设置的约束。
的投资组合
对象,setGroupRatio
,addGroupRatio
对象上实现标量展开LowerRatio
或UpperRatio
中基于组矩阵维数的属性GroupA
而且GroupB
属性。
另请参阅
投资组合
|setDefaultConstraints
|setBounds
|setBudget
|setGroups
|setGroupRatio
|setEquality
|setInequality
|setTurnover
|setOneWayTurnover
|setTrackingPort
|setTrackingError
相关的例子
- 创建Portfolio对象
- 使用默认值处理组合约束
- 验证组合对象的组合问题
- 为投资组合对象的整个有效边界估计有效投资组合
- 估计投资组合对象的有效边界
- 使用投资组合对象的约束规范
- 资产配置案例研究
- 投资组合优化示例
- 基于半连续和基数约束的投资组合优化
- Black-Litterman组合优化
- 利用因子模型优化投资组合
- 使用社会绩效衡量的投资组合优化
- 投资组合多元化