主要内容

simulatenormalscenariosbydata.

从数据中模拟多元正态资产收益场景

用一个弗林特对象的assetreturn.争论simulatenormalscenariosbydata.不推荐。使用时间表而是对于财务时间序列。有关更多信息,请参阅将财务时间序列对象转换为时间表

描述

例子

obj.= simulateNormalScenariosByData (obj.assetreturn.模拟来自Portfolio对象的数据的多变量普通资产返回方案PortfolioCVaR或者Portfoliomad.对象。有关工作流的详细信息,请参阅portfoliocvar对象工作流程, 和PortfolioMAD对象的工作流

例子

obj.= simulateNormalScenariosByData (obj.assetreturn.NumScenarios名称,价值模拟来自Portfolio对象的数据的多变量普通资产返回方案PortfolioCVaR或者Portfoliomad.对象使用一个或多个指定的其他选项名称,价值对论点。

此功能估计资产从价格或返回数据返回的均值和协方差,然后使用这些估计来生成具有该函数的指定数量的方案mvnrnd.

数据可以在一个numsamples.-经过-NumAssets矩阵的numsamples.的集合按给定周期的价格或返回NumAssets资产,A桌子或者时间表

请注意

如果要多次使用该方法,并且每次调用函数时都要模拟相同的方案,请在每个函数调用之前RNG.种子)使用指定的整数种子。

例子

全部收缩

给定一个PortfolioCVaR对象p,可以使用simulatenormalscenariosbydata.模拟多变量正常资产返回方案的功能。

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; RawData = mvnrnd(m, C, 240); NumScenarios = 2000; p = PortfolioCVaR; p = simulateNormalScenariosByData(p, RawData, NumScenarios)
p = PortfolioCVaR with properties: BuyCost: [] SellCost: [] RiskFreeRate: [] ProbabilityLevel: [] Turnover: [] BuyTurnover: [] SellTurnover: [] NumScenarios: 2000 Name: [] NumAssets: 4 AssetList: [] InitPort: [] ainequity: [] bInequality: [] AEquality: [] bEquality: [] LowerBound: [] UpperBound: [] LowerBudget: [] UpperBudget: [] GroupMatrix:[] LowerGroup: [] UpperGroup: [] GroupA: [] GroupB: [] LowerRatio: [] UpperRatio: [] MinNumAssets: [] MaxNumAssets: [] BoundType: []
p = setDefaultConstraints(p);p = setProbabyLevel(p,0.9);DISP(P);
PortfolioCVaR with properties: BuyCost: [] SellCost: [] RiskFreeRate: [] ProbabilityLevel: 0.9000 Turnover: [] BuyTurnover: [] SellTurnover: [] NumScenarios: 2000 Name: [] NumAssets: 4 AssetList: [] InitPort: [] ainequal: [] bInequality: [] AEquality: [] bEquality: [] LowerBound: [4x1 double] UpperBound: [] LowerBudget: 1 UpperBudget:1 GroupMatrix: [] LowerGroup: [] UpperGroup: [] grouppa: [] GroupB: [] LowerRatio: [] UpperRatio: [] MinNumAssets: [] MaxNumAssets: [] BoundType: [4x1 categorical]

创建portfoliocvar对象p并使用simulatenormalscenariosbydata.函数已加载市场数据CAPMuniverse.mat模拟多变量普通资产返回方案。市场数据,AssetsTimeTable,是A.时间表的资产回报。

负载Capmuniverse.p = PortfolioCVaR (“AssetList”,资产);DISP(P);
NumScenarios: [] Name: [] NumAssets: 14 AssetList: {1x14 cell} InitPort: [] ainequity: [] bequity: [] AEquality: [] bEquality: [] LowerBound: [] UpperBound: [] LowerBudget: [] UpperBudget: [][] GroupMatrix: [] LowerGroup: [] UpperGroup: [] grouppa: [] GroupB: [] LowerRatio: [] UpperRatio: [] MinNumAssets: [] MaxNumAssets: [] BoundType: []

从每个资产的时间表数据中模拟场景CAPMuniverse.mat然后画出有效边界。

p = simulatenormalscenariosbydata(p,assetstimetable,10000,“missingdata”,真的);p = setDefaultConstraints(p);p = setProbabyLevel(p,0.9);PlotFrontier(P);

图包含轴。带有标题\ Bfefficientier的轴包含类型线的对象。

给定一个portfolio omad对象p,可以使用simulatenormalscenariosbydata.模拟多变量正常资产返回方案的功能。

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; RawData = mvnrnd(m, C, 240); NumScenarios = 2000; p = PortfolioMAD; p = simulateNormalScenariosByData(p, RawData, NumScenarios); p = setDefaultConstraints(p); disp(p);
Portfoliomad具有属性:Buycost:[] Sellcost:[]风险犯规:[] Guisturenver:[] Sellturnover:[] NumScenarios:2000名称:[] Numasset:4 assetlist:[] initport:[] aninyBinequality:[] Aequality:[]胎粪:[]下行:[4x1双]上行:[] upperBudget:1 upperBudget:1 GroupMatrix:[]较低组:[]上组:[] Groupa:[] GroupB:GroupB[] Upperratio:[] minnumassets:[] maxnumassets:[] Fundype:[4x1分类]

创建PortfolioMAD对象p并使用simulatenormalscenariosbydata.函数已加载市场数据CAPMuniverse.mat模拟多变量普通资产返回方案。市场数据,AssetsTimeTable,是A.时间表的资产回报。

负载Capmuniverse.p = portfoliomad(“AssetList”,资产);disp(p.assetlist');
{'aapl'} {'amzn'} {'csco'} {'戴尔'} {'eBay'} {'goog'} {'goog'} {'hpq'} {'hpq'} {'ibm'} {'INC'} {'INTC'} {'intc'} {'msft'}{'orcl'} {'yhoo'} {'market'} {'cash'}

从每个资产的时间表数据中模拟场景CAPMuniverse.mat然后画出有效边界。

p = simulatenormalscenariosbydata(p,assetstimetable,10000,“missingdata”,真的);p = setDefaultConstraints(p);PlotFrontier(P);

图包含轴。带有标题\ Bfefficientier的轴包含类型线的对象。

输入参数

全部收缩

投资组合的对象,使用a指定PortfolioCVaR或者Portfoliomad.目的。

有关创建A的更多信息PortfolioCVaR或者Portfoliomad.对象,看到

数据类型:对象

可以转换为资产返回的资产数据([numsamples.-经过-NumAssets]矩阵),指定为矩阵,桌子,或时间表

assetreturn.数据可以是:

  • numsamples.-经过-NumAssets矩阵。

  • 表格numsamples.的集合按给定周期的价格或返回NumAssets资产

  • 时间表对象numsamples.观察和NumAssets时间序列

数据类型:双倍的|桌子|时间表

要模拟的场景数,指定为正整数。

数据类型:双倍的

名称值对参数

指定可选的逗号分隔对名称,价值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:p = simulateNormalScenariosByData (p RawData NumScenarios‘DataFormat’,‘返回’,‘MissingData’,真的,GetAssetList,真的)

标志将输入数据转换为返回的价格,指定为逗号分隔对'datomformat'和一个具有值的字符向量:

  • '返回'- 数据in.assetreturn.包含资产总回报。

  • '价格'- 数据in.assetreturn.包含资产总回报价格。

数据类型:char

标志使用ECM算法处理指定为逗号分隔对的值组成“MissingData”和一个逻辑值真的或者错误的

  • 错误的- 不要使用ECM算法来处理值(排除值)。

  • 真的- 使用ECM算法处理值。

数据类型:逻辑

指示用于资产列表的资产名称的标志,指定为由逗号分隔的一对'getassetlist'和一个逻辑值真的或者错误的

  • 错误的—不要提取或创建资产名称。

  • 真的-从表或时间表中提取或创建资产名称。

如果一个桌子或者时间表使用assetreturn.参数和GetAssetList国旗是真的,列名来自桌子或者时间表中用作资产名称obj.assetlist.

如果通过矩阵和矩阵GetAssetList国旗是真的,默认资产名称是基于AbstractPortfolio财产defaultforassetlist.,这是“资产”

如果是GetAssetList国旗是错误的,没有动作发生,这是默认行为。

数据类型:逻辑

输出参数

全部收缩

更新后的投资组合对象,返回为PortfolioCVaR或者Portfoliomad.目的。有关创建投资组合对象的详细信息,请参阅

尖端

您还可以使用点表示法来模拟来自Portfoliocvar或Portfoliomad对象的数据的多变量普通资产返回方案。

obj = obj.simulatenormalscenariosbydata(Assetrurns,NumScenarios,名称,价值);

在R2012B中介绍
毫升>