组合对象
组合对象属性和函数
的投资组合
对象实现均值-方差组合优化。的所有性质和函数投资组合
对象是公共的,尽管一些属性和函数是隐藏的。看到投资组合
的性质和函数投资组合
对象。的投资组合
对象是一个值对象,其中对象的每个实例都是该对象的不同版本。自投资组合
对象也是MATLAB®对象,它继承了与MATLAB对象关联的默认函数。
使用投资组合对象
的投资组合
对象及其函数是均值-方差组合优化的接口。所以,几乎所有你用投资组合
对象可以使用相关的函数来实现。基本工作流程为:
设计你的投资组合问题。
使用
投资组合
要创建投资组合
对象或使用的各种集
函数来设置你的投资组合问题。使用估计函数来解决你的投资组合问题。
此外,还有一些函数可以帮助您查看中间结果和诊断计算。由于MATLAB特性的一部分投资组合
对象,您可以从工作区中保存和加载对象,并创建和操作对象数组。在解决了一个问题之后,在均值-方差投资组合优化的情况下,意味着你有资产回报的数据或时刻,以及投资组合的约束集合,使用投资组合
属性的属性投资组合
对象。投资组合
允许您从头创建对象或更新现有对象。自投资组合
对象是一个值对象,很容易创建一个基本对象,然后使用函数在基本对象的基础上创建新版本的基本对象。这对于比较一个基本问题和从这个基本问题导出的替代方案是有用的。详细信息请参见创建Portfolio对象.
设置和获取属性
属性的属性投资组合
使用任意一个投资组合
或各种集
功能。
请注意
虽然也可以直接设置属性,但不建议这样做,因为直接设置属性时不会执行错误检查。
的投资组合
对象支持使用名称-值对参数设置属性,这样每个参数名都是一个属性,每个值都是要分配给该属性的值。例如,设置AssetMean
而且AssetCovar
现有投资组合
对象p
用价值观米
而且C
,使用语法:
p =投资组合(p,“AssetMean”米,“AssetCovar”C);
除了投资组合
,它允许您一次设置一个单独的属性,属性组则设置在投资组合
具有各种“set”和“add”函数的对象。例如,要设置平均周转约束,请使用setTurnover
函数指定投资组合平均周转率和初始投资组合的界限。要从Portfolio对象中获取单个属性,可以直接获取属性,或者使用各种“get”函数从对象中获取属性组投资组合
对象。的投资组合
对象和集
函数有几个有用的特性:
显示投资组合对象
的投资组合
对象使用MATLAB提供的默认显示函数,其中显示
而且disp
使用或不使用对象变量名显示Portfolio对象及其属性。
保存和加载投资组合对象
保存并加载投资组合
对象使用MATLAB保存
而且负载
命令。
估算有效的投资组合和前沿
评估有效投资组合和有效边界是投资组合优化工具的主要目的。一个有效投资组合是指在给定的收益水平下满足最小风险和在给定的风险水平下满足最大收益的投资组合。“估计”和“绘图”函数的集合提供了探索有效边界的方法。“估计”函数要么获得有效的投资组合,要么获得风险和收益代理,以形成有效边界。在投资组合级别,函数集合在有效边界上估计有效投资组合,使用函数获得有效投资组合:
在有效边界的端点
为返回代理获取目标值
为风险代理获得目标值
沿着整个有效边界
这些功能还提供了从初始的或当前的投资组合转换到每个有效的投资组合所需的购买和销售。在有效边界层面,一组函数绘制有效边界,并在有效边界上估计有效投资组合的风险或回报代理。您可以在后续的分析中使用结果的有效投资组合或风险和回报代理。
组合对象的数组
尽管所有与a相关的函数投资组合
对象设计为在标量上工作投资组合
对象,MATLAB的数组功能使您能够设置和使用的数组投资组合
对象。最简单的方法是用repmat
函数。例如,要创建一个3 × 2的数组投资组合
对象:
p = repmat(Portfolio, 3,2);disp (p)
disp(p) 3×2带有属性的组合数组:BuyCost SellCost RiskFreeRate AssetMean AssetCovar TrackingError TrackingPort Turnover BuyTurnover SellTurnover Name NumAssets AssetList InitPort AInequality bInequality AEquality bEquality LowerBound UpperBound LowerBudget UpperBudget GroupMatrix LowerGroup UpperGroup GroupA GroupB LowerRatio UpperRatio MinNumAssets MaxNumAssets BoundType
投资组合
对象,你可以单独工作投资组合
索引数组中的对象。例如:p(i,j) =投资组合(p(i,j),…);
投资组合
对于(我
,j
的矩阵的元素投资组合
变量中的对象p
.
如果你建立一个数组投资组合
对象时,可以访问特定对象的属性投资组合
对象,以便您可以设置下界和上界磅
而且乌兰巴托
对于(我
,j
,k
的三维数组的元素投资组合
对象与
p(i,j,k) = setBounds(p(i,j,k),lb, ub);
[lb, ub] = getBounds(p(i,j,k));
投资组合
对象函数只能作用于一个对象投资组合
对象。
子类化投资组合对象
类的子类投资组合
对象重写现有函数或添加新属性或函数。方法创建派生类投资组合
类。函数的所有属性和函数投资组合
类,以及您选择添加到子类对象的任何新特性。的投资组合
类派生自一个抽象类AbstractPortfolio
.因此,还可以从创建派生类AbstractPortfolio
的属性和函数实现了一种完全不同的组合优化形式AbstractPortfolio
类。
数据表示约定
投资组合优化工具遵循以下关于与投资组合优化相关的不同数量表示的约定:
资产回报或价格以矩阵形式表示,给定资产的样本从下到行,资产从下到列。在价格的情况下,最早的日期必须在矩阵的顶部,增加的日期向下。
资产收益的平均值和协方差存储在一个向量和一个矩阵中,工具不要求平均值必须是列向量或行向量。
投资组合是向量或矩阵形式,给定投资组合的权重在行中向下,不同的投资组合在列中向下。
对投资组合的约束以这样一种方式形成,即投资组合是一个列向量。
投资组合风险和收益要么是标量,要么是列向量(对于多个投资组合风险和收益)。
另请参阅
相关的例子
- 创建Portfolio对象
- 使用默认值处理组合约束
- 资产配置案例研究
- 使用财务工具箱™的投资组合优化示例
- 基于半连续和基数约束的投资组合优化
- Black-Litterman组合优化使用金融工具箱™
- 利用因子模型优化投资组合
- 利用社会绩效衡量的投资组合优化
- 使用自定义目标使投资组合多样化