PortfolioCVaR

创建有条件价值在风险投资组合优化和分析PortfolioCVaR对象

描述

使用PortfolioCVaR创建PortfolioCVaR条件风险价值组合优化的对象。

对于CVaR的投资组合优化的主要工作流程是创建一个实例PortfolioCVaR对象完全指定一个组合优化问题,并在操作PortfolioCVaR对象使用支持的函数来获取和万博1manbetx分析有效的投资组合。有关此工作流的详细信息,请参见PortfolioCVaR对象工作流程

你可以使用PortfolioCVaR以多种方式反对。在PortfolioCVaR对象,最简单的语法是:

P = PortfolioCVaR;
这句法创建PortfolioCVaR对象,p,以便所有对象属性都为空。

PortfolioCVaR对象还接受的名称 - 值对的集合的参数为属性及其值。该PortfolioCVaR函数接受用于与一般语法属性输入:

p=PortfolioCVaR('property1',value1,'property2',value2,…);

如果PortfolioCVaR对象已经存在,则语法允许的第一(且仅第一个参数)PortfolioCVaR对象是具有要添加或修改的属性的后续名称-值对参数的现有对象。例如,给定PortfolioCVaR对象p,一般的语法是:

P = PortfolioCVaR(P, 'property1',值1, 'property2',值2,...);

输入参数名不区分大小写,但必须完全指定。此外,可以使用可选参数名指定多个属性(请参见属性名称的快捷方式)。该PortfolioCVaRobject尝试从输入中检测问题维度,一旦设置好,后续输入可以进行各种标量或矩阵展开操作,从而简化制定问题的整个过程。此外,aPortfolioCVaR对象是一个值对象,使得给定的图集p中,下面的代码创建两个对象,pq,那是不同的:

Q = PortfolioCVaR(P,...

创建后PortfolioCVaR对象,你可以使用相关的对象函数来设置组合的限制,分析了有效边界,并验证了投资组合模型。

有关条件风险价值组合优化的理论基础的更多详细信息,请参见投资组合优化理论

创建

描述

p=叶状体创建空的PortfolioCVaR反对有条件价值在风险投资组合优化和分析。然后,您可以添加元素到PortfolioCVaR对象使用支持的“add”和“set万博1manbetx”函数。有关详细信息,请参见创建PortfolioCVaR对象

p= PortfolioCVaR(名称、值创建PortfolioCVaR对象(p)和套属性使用名称 - 值对。例如,p=PortfolioCVaR(“资产清单”,资产(1:12)). 可以指定多个名称-值对。

p= PortfolioCVaR(p名称、值创建PortfolioCVaR对象(p使用先前创建的)PortfolioCVaR宾语p和套属性使用名称 - 值对。可以指定多个名称 - 值对。

输入参数

展开全部

先前构造PortfolioCVaR对象,使用指定的PortfolioCVaR

属性

展开全部

设置对象

名称或在宇宙中的资产的符号,被指定为字符向量的单元阵列或一个字符串数组。

数据类型:细胞|

初始组合,指定为矢量。

数据类型:

对于命名的实例PortfolioCVaR对象,指定为字符向量或字符串。

数据类型:烧焦|

在宇宙中的资产,指定为一个整数标量的数量。

数据类型:

项目组合对象约束

线性等式约束矩阵,指定为矩阵。

数据类型:

线性不等式约束矩阵,指定为矩阵。

数据类型:

线性等式约束矢量,指定为矢量。

数据类型:

线性不等式约束向量,指定为向量。

数据类型:

基团A的权重由B组的权重,指定为矩阵来界定。

数据类型:

B组权重,指定为矩阵。

数据类型:

组成员矩阵,指定为矩阵。

数据类型:

下界约束,指定为向量。

数据类型:

下限的预算约束,指定为标量。

数据类型:

下限组约束,指定为矢量。

数据类型:

最低分配比率A组B族,指定为向量。

数据类型:

上界约束,指定为向量。

数据类型:

上限预算约束,指定为标量。

数据类型:

上界组约束,指定为向量。

数据类型:

之间分配的最大比A组B族,指定为向量。

数据类型:

每个资源权重的边界类型,指定为标量字符向量或字符串,或字符向量的单元格数组或字符串数组。有关详细信息,请参见的setBounds

数据类型:烧焦|细胞|

资产组合中分配的最小资产数,指定为标量数值。有关详细信息,请参见集minmaxnumassets

数据类型:

在投资组合的资产分配的最大数,指定为标数值。欲了解更多信息,请参阅集minmaxnumassets

数据类型:

营业额的限制,指定为标量。

数据类型:

在营业额的限制,指定为标量。

数据类型:

采购的周转限制,指定为标量。

数据类型:

投资组合对象建模

比例购买成本,指定作为载体。

数据类型:

无风险利率,指定为标量。

数据类型:

值高危概率水平为1 - (丢失概率),指定为一个标量。

数据类型:

的场景数,指定为整数标量。

数据类型:

比例的销售费用,指定作为载体。

数据类型:

对象函数

setAssetList 设立资产标识符的列表
setInitPort 成立初始或当前的投资组合
setDefaultConstraints设置默认约束 与非负的权重那笔1建立投资组合限制
estimateAssetMoments 基于数据的资产收益率均值和协方差估计
固定成本 设置比例交易成本
addEquality 添加线性等式约束的投资组合权重存在的制约因素
addGroupRatio 添加投资组合权组比限制到现有组比率限制
addGroups 将组合权重的组约束添加到现有组约束
addInequality 加入线性不等式约束的投资组合权重存在的制约因素
的getBounds 获得投资对象的投资组合权界限
getBudget 获得投资对象预算约束边界
getCosts 从投资组合对象获取买卖交易成本
获得平等 从portfolio对象获取等式约束数组
获取组比率 从portfolio对象中获取组比率约束数组
getGroups 获得从组合对象组约束阵列
得到不平等 获得不平等从投资对象约束阵列
GetOneway营业额 获得投资对象单向周转约束
setGroups 对于投资组合权重设置组限制
集合不等式 设置为线性投资组合权不等式约束
的setBounds 为投资组合对象设置投资组合权重的界限
集minmaxnumassets 对投资组合对象中的资产数量设置基数约束
setBudget 建立预算约束
固定成本 设置比例交易成本
setDefaultConstraints设置默认约束 与非负的权重那笔1建立投资组合限制
setEquality 建立投资组合权重的线性等式约束
setGroupRatio 建立组合权重的组比率约束
setInitPort 成立初始或当前的投资组合
setoneway翻转 设置单向投资组合周转约束
setTurnover 设置最大投资组合周转约束
checkFeasibility 对检查对象的组合输入组合的可行性
估计界 对于一套组合的估计全球的上限和下限
estimateFrontier 有效前沿上最优投资组合的指定个数估计
估计边境线 估计有针对性的投资组合回报最优投资组合
估算边界风险 估计有针对性的组合风险的最佳组合
估计边界 有效前沿端点的最优投资组合估计
plotFrontier 绘制有效边界
预计收益 估计平均组合收益
估计风险 根据与对应的物体相关的风险代理估算投资组合的风险
塞索尔弗 选择主解算器,并指定组合优化相关求解器选项
setProbabilityLevel 集概率水平VaR和CVaR的计算
塞纳里奥 集资产收益情景通过直接矩阵
getScenarios 获得投资对象的场景
simulateNormalScenariosByData 从数据模拟多元正常资产收益情景
simulateNormalScenariosByMoments 从资产收益均值和协方差模拟多元正态资产收益情景
estimateScenarioMoments 估计均值和资产收益情景协方差
估计端口变量 估值下的风险为PortfolioCVaR对象

estimatePortStd

例子

全部折叠

您可以创建一个PortfolioCVaR对象,p的,没有输入参数并且使用显示它显示

P = PortfolioCVaR;DISP(P);
PortfolioCVaR与属性:BuyCost:[] SellCost:[] RiskFreeRate:[] ProbabilityLevel:[]营业额:[] BuyTurnover:[] SellTurnover:[] NumScenarios:[]名称:[] NumAssets:[]资产列表:[] InitPort:[] AInequality:[] bInequality:[] AEquality:[] bEquality:[]下界:[] UPPERBOUND:[] LowerBudget:[] UpperBudget:[] GroupMatrix:[] LowerGroup:[] UpperGroup:[] A组:[]组B:[] LowerRatio:[] UpperRatio:[] MinNumAssets:[] MaxNumAssets:[] BoundType:[]

这种方法提供了一种方法,可以用PortfolioCVaR功能。然后,可以使用关联的set函数设置和修改PortfolioCVaR反对。

你可以使用PortfolioCVaR直接反对成立一个“标准”的投资组合优化问题。鉴于资产收益的场景在变资产支持中,这个问题被完全规定如下:

m=[0.05;0.1;0.12;0.18];C=[0.0064 0.00408 0.00192 0;0.00408 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0.0119 0.0336 0.1225];m=m/12;C=C/12;AssetScenarios=mvnrnd(m,C,20000);p=PortfolioCVaR(“方案”,资产支持,...“下界”,0,'降低预算'1,'UpperBudget'1,...'ProbabilityLevel',0.95)
p=PortfolioCVaR,带属性:BuyCost:[]SellCost:[]无风险率:[]概率水平:0.9500营业额:[]BuyOffolution:[]销售额:[]NumCenarios:20000姓名:[]NumAssets:4资产清单:[]初始端口:[]aineEquality:[]bInequality:[]AEquality:[]bEquality:[]LowerBound:[4x1 double]上限:[]LowerBudget:1上限预算:1组矩阵:[]下组:[]上组:[]A组:[]B组:[]下组:[]上比率:[]最小资产:[]最大资产:[]边界类型:[]

注意,下骨属性值经受标量以来扩张资产支持提供该问题的尺寸。

通过一系列步骤是实现建立一个“标准”的CVaR投资组合优化问题的相同任务的另一种方式,因为资产支持变量为:

m=[0.05;0.1;0.12;0.18];C=[0.0064 0.00408 0.00192 0;0.00408 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0.0119 0.0336 0.1225];m=m/12;C=C/12;AssetScenarios=mvnrn(m,C,20000);p=PortfolioCVaR;p=setScenarios(p,AssetScenarios);p=PortfolioCVaR(p,“下界”,0);P = PortfolioCVaR(P,'降低预算'1,'UpperBudget'p=setprobabilityvel(p,0.95);plotFrontier(p);

这样的工作,因为调用PortfolioCVaR在这个特定的顺序。在这种情况下,调用初始化资产支持提供了该问题的尺寸。如果你是最后做到这一步,你就必须明确标注尺寸下骨属性,如下所示:

m=[0.05;0.1;0.12;0.18];C=[0.0064 0.00408 0.00192 0;0.00408 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0.0119 0.0336 0.1225];m=m/12;C=C/12;AssetScenarios=mvnrn(m,C,20000);p=PortfolioCVaR;p=PortfolioCVaR(p,“下界”,零(尺寸(μm)));P = PortfolioCVaR(P,'降低预算'1,'UpperBudget',1);p=setprobabilityvel(p,0.95);p=setScenarios(p,AssetScenarios);plotFrontier(p);

如果没有指定的大小下骨但是,相反,输入一个标量参数,PortfolioCVaR对象假定你要定义一个单一资产的问题,并在调用集合资产的方案有四个资产产生错误。

您可以创建一个PortfolioCVaR对象,pPortfolioCVaR对象使用属性名称的快捷方式。

m=[0.05;0.1;0.12;0.18];C=[0.0064 0.00408 0.00192 0;0.00408 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0.0119 0.0336 0.1225];m=m/12;C=C/12;AssetScenarios=mvnrnd(m,C,20000);p=PortfolioCVaR(“方案”,资产支持,'磅',0,'预算'1,'请',0.95)
p=PortfolioCVaR,带属性:BuyCost:[]SellCost:[]无风险率:[]概率水平:0.9500营业额:[]BuyOffolution:[]销售额:[]NumCenarios:20000姓名:[]NumAssets:4资产清单:[]初始端口:[]aineEquality:[]bInequality:[]AEquality:[]bEquality:[]LowerBound:[4x1 double]上限:[]LowerBudget:1上限预算:1组矩阵:[]下组:[]上组:[]A组:[]B组:[]下组:[]上比率:[]最小资产:[]最大资产:[]边界类型:[]

虽然不推荐,但是可以直接设置属性,但是不会对输入执行错误检查。

M = [0.05;0.1;0.12;0.18];C = [0.0064 0.00408 0.00192 0;0.00408 0.0289 0.0204 0.0119;0.00192 0.0204 0.0576 0.0336;0 0.0119 0.0336 0.1225];M = M / 12;C = C / 12; AssetScenarios = mvnrnd(m, C, 20000); p = PortfolioCVaR; p = setScenarios(p, AssetScenarios); p.ProbabilityLevel = 0.95; p.LowerBudget = 1; p.UpperBudget = 1; p.LowerBound = zeros(size(m)); disp(p)
带属性的PortfolioCVaR:BuyCost:[]SellCost:[]无风险率:[]概率级别:0.9500营业额:[]BuyOverlose:[]销售额:[]NumCenarios:20000姓名:[]NumAssets:4资产列表:[]初始端口:[]AInequality:[]bInequality:[]AEquality:[]bEquality:[]LowerBound:[4x1 double]上限:[]LowerBudget:1上限预算:1组矩阵:[]下组:[]上组:[]A组:[]B组:[]下组:[]上比率:[]最小资产:[]最大资产:[]边界类型:[]

场景不能被直接分配给PortfolioCVaR对象。方案必须始终通过任一设定PortfolioCVaR功能,塞纳里奥函数,或任何方案模拟函数。

创建高效的投资组合:

加载军帽p=叶状体(“资产列表”,资产(1:12));P = simulateNormalScenariosByData(P,数据(:,1:12),,20000,'缺失数据',true);p=setDefaultConstraints(p);p=setProbabilityLevel(p,0.95);plotFrontier(p);

pwgt = estimateFrontier(P,5);pnames =细胞(1,5);对于I = 1:5 pnames {I} =的sprintf('端口%d',一世);结束Blotter=数据集([{pwgt},pnames],'obsnames',p.AssetList);DISP(吸墨纸);
端口1端口2端口3端口4 PORT5 AAPL 0.010562 0.07364 0.11931 0.13073 0 AMZN 0 0 0 0 0 CSCO 0 0 0 0 0 DELL 0.022649 0 0 0 0 EBAY 0 0 0 0 0 GOOG 0.203 0.38011 0.56202 0.75919 1 HPQ 0.042772 0.0094711 0 0 0 IBM 0.44444 0.364560.26305 0.11009 0 0 INTC 0 0 0 0 MSFT 0.27658 0.17222 0.055624 0 0 0 ORCL 0 0 0 0 0 YHOO 0 0 0 0

更多关于

展开全部

参考

[1]用于PortfolioCVaR对象引用的完整列表,请参见投资组合优化

在r2012 b中引入