主要内容

PortfolioVar对象

PortfolioCVaR对象属性和函数

这个PortfolioCVaR对象实现条件风险价值(CVaR)投资组合优化。系统的所有性质和功能PortfolioCVaR对象是公共的,尽管某些属性和函数是隐藏的。看见PortfolioCVaR关于PortfolioCVaR对象这个PortfolioCVaR对象是一个值对象,其中对象的每个实例都是对象的不同版本。自从PortfolioCVaR对象也是一个MATLAB®对象,它继承与MATLAB对象关联的默认函数。

使用PortfolioCVaR对象

这个PortfolioCVaR对象及其函数是条件风险价值投资组合优化的接口。所以,几乎所有你用它做的事情PortfolioCVaR对象可以使用函数完成。基本工作流程是:

  1. 设计你的投资组合问题。

  2. 使用PortfolioCVaR创建PortfolioCVaR对象或使用各种集合函数来设置您的投资组合问题。

  3. 使用估计函数来解决你的投资组合问题。

此外,还可以使用函数来帮助您查看中间结果和诊断计算。因为MATLAB功能是PortfolioCVaR对象,则可以从工作区保存和加载对象,并创建和操作对象数组。在解决了一个问题(在CVaR投资组合优化的情况下,这意味着您拥有资产回报的场景、数据或时刻、概率水平以及投资组合上的一系列约束)后,使用PortfolioCVaR设置PortfolioCVaR对象

PortfolioCVaR允许您从头开始创建对象或更新现有对象PortfolioCVaR对象是一个值对象,很容易创建一个基本对象,然后使用函数在基本对象的基础上创建基本对象的新版本。这有助于将基本问题与从基本问题导出的备选方案进行比较。有关详细信息,请参阅创建PortfolioCVaR对象.

设置和获取属性

您可以设置PortfolioCVaR使用PortfolioCVaR对象或各种设置功能。

笔记

虽然也可以直接设置属性,但不建议这样做,因为直接设置属性时不会执行错误检查。

这个PortfolioCVaR对象支持使用名万博1manbetx称-值对参数设置属性,以便每个参数名称都是属性,每个值都是要分配给该属性的值。例如,设置下界,预算概率水平现有数据库中的属性PortfolioCVaR对象P,使用以下语法:

p=投资组合风险(p,“LowerBound”, 0,“预算”1.“概率水平”, 0.95);

除了PortfolioCVaR对象,它允许您一次设置一个单独的属性,属性组在PortfolioCVaR具有各种“设置”和“添加”功能的对象。例如,要设置平均营业额约束,请使用周转率函数指定投资组合周转率和初始投资组合的界限。从数据库中获取单个属性的步骤PortfolioCVaR对象,直接获取属性或使用一系列“获取”函数从PortfolioCVaR对象这个PortfolioCVaR对象和设置函数有几个有用的特性:

  • 这个PortfolioCVaR对象和设置函数试图通过显式或隐式输入确定问题的维度。

  • 这个PortfolioCVaR对象和设置函数尝试使用默认选项解决歧义。

  • 这个PortfolioCVaR对象和设置函数在可能的情况下对数组执行标量扩展。

  • CVaR功能尝试诊断问题并发出警告。

显示PortfolioVar对象

这个PortfolioCVaR对象使用MATLAB提供的默认显示函数,其中陈列disp展示PortfolioCVaR对象及其属性(带或不带对象变量名)。

保存和加载PortfolioCVaR对象

保存和加载PortfolioCVaR对象使用MATLAB拯救负载命令。

估计有效投资组合和前沿

估计有效投资组合和有效前沿是CVaR投资组合优化工具的主要目的。一有效投资组合指满足给定回报水平的最低风险和给定风险水平的最大回报标准的投资组合。一组“估计”和“绘图”函数提供了探索有效边界的方法。“估计”函数获得有效的投资组合或风险和回报代理,形成有效的前沿。在投资组合层面,一组函数在有效边界上估计有效投资组合,并使用函数获得有效投资组合:

  • 在有效边界的端点

  • 实现返回代理的目标值

  • 达到风险代理的目标值

  • 沿着整个有效边界

这些功能还提供从初始或当前投资组合转换到每个有效投资组合所需的购买和销售。在有效边界层,一组函数绘制有效边界,并估计有效边界上有效投资组合的风险或回报代理。您可以在后续分析中使用生成的有效投资组合或风险和回报代理。

PortfolioCVaR对象数组

虽然所有与PortfolioCVaR对象设计用于处理标量PortfolioCVaR对象,MATLAB的阵列功能使您能够设置和使用PortfolioCVaR物体。最简单的方法是使用雷普马特函数。例如,创建PortfolioCVaR物体:

p=repmat(PortfolioCVaR,3,2);显示(p)
显示(p)带属性的3×2 PortfolioVar数组:BuyCost SellCost RiskFreeRate概率级别营业额BuyTurnations SellTurnations NumScenarios名称NumAssets资产列表InitPort AInequality bInequality AEquality bEquality LowerBound UpperBound LowerBudget UpperBudget GroupMatrix LowerGroup UpperGroup A GroupB LowerRatio UpperRatio MinumAssetsMaxNumAssets边界类型
在设置了PortfolioCVaR对象,您可以处理单个对象PortfolioCVaR通过索引在数组中创建对象。例如:
p(i,j)=PortfolioCVaR(p(i,j),…);
这个例子调用PortfolioCVaR为了(,J)矩阵的元素PortfolioCVaR变量中的对象P.

如果您设置了一个PortfolioCVaR对象,则可以访问特定对象的属性PortfolioCVaR对象,以便设置上下限乌兰巴托为了(,J,K)三维数组的元素PortfolioCVaR带有

p(i,j,k)=立根(p(i,j,k),lb,ub);
一旦设置好,您就可以使用
[lb,ub]=getBounds(p(i,j,k));
PortfolioCVaR对象函数只在一个对象上工作PortfolioCVaR一次一个对象。

子类化PortfolioCVaR对象

您可以将PortfolioCVaR对象重写现有函数或添加新属性或函数。为此,请从PortfolioCVaR班这将为您提供PortfolioCVaR类以及选择添加到子类对象的任何新功能。这个PortfolioCVaR类派生自一个名为抽象投资组合. 因此,还可以从中创建派生类抽象投资组合它使用抽象投资组合

数据表示的约定

CVaR投资组合优化工具遵循以下关于与投资组合优化相关的不同数量表示的约定:

  • 场景的资产回报或价格采用矩阵形式,给定资产的样本沿着行向下,资产穿过列。在价格的情况下,最早的日期必须在矩阵的顶部,随着日期的增加而下降。

  • 投资组合是向量或矩阵形式,给定投资组合的权重沿行向下,不同的投资组合穿过列。

  • 投资组合的约束是以这样一种方式形成的,即投资组合是一个列向量。

  • 投资组合风险和回报是标量或列向量(对于多个投资组合风险和回报)。

另见

相关实例

更多关于

外部网站