simulateNormalScenariosByMoments

从资产收益的均值和协方差模拟多元正态资产收益情景

描述

例子

obj= simulateNormalScenariosByMoments (obj,AssetMean,AssetCovar,NumScenarios)从资产收益的均值和协方差模拟多元正态资产收益情景PortfolioCVaRPortfolioMAD对象。有关工作流的详细信息,请参见PortfolioCVaR对象的工作流,PortfolioMAD对象的工作流

例子

obj= simulateNormalScenariosByMoments (obj,AssetMean,AssetCovarNumScenarios,NumAssets)利用可选的输入,从portfolio var或PortfolioMAD对象的资产回报均值和协方差模拟多元正态资产回报场景NumScenarios

请注意

此函数覆盖与之关联的现有场景PortfolioCVaRPortfolioMAD物体,也可能,NumScenarios

如果您想要使用这个函数多次和你想模拟相同的场景在函数被调用时,每次每个函数调用之前rng(种子)使用指定的整数种子。

例子

全部折叠

鉴于PortfolioCVaR对象p,可以使用simulateNormalScenariosByMoments函数来模拟来自时刻的多元正常资产回报场景。

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 = setDefaultConstraints(p); p = setProbabilityLevel(p, 0.95); AssetMean = [.5]
AssetMean = 0.5000
AssetCovar = [5]
AssetCovar = 0.5000
NumScenarios = 100
NumScenarios = 100
(p, AssetMean, AssetCovar, numscenario)
p = PortfolioCVaR属性:BuyCost: [] SellCost: [] RiskFreeRate: [] ProbabilityLevel: 0.9500营业额:[]BuyTurnover: [] SellTurnover: [] NumScenarios: 100姓名:[]NumAssets: 4 AssetList: [] InitPort: [] AInequality: [] bInequality: [] AEquality: [] bEquality:[]下界:x1双[4]UpperBound: [] LowerBudget: 1 UpperBudget: 1 GroupMatrix: [] LowerGroup: [] UpperGroup: [] GroupA: [] GroupB: [] LowerRatio: [] UpperRatio: [] MinNumAssets: [] MaxNumAssets: [] BoundType:[4 x1分类)

鉴于PortfolioMAD对象p,可以使用simulateNormalScenariosByMoments函数来模拟来自时刻的多元正常资产回报场景。

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 = PortfolioMAD; p = setScenarios(p, AssetScenarios); p = setDefaultConstraints(p); AssetMean = [.5]
AssetMean = 0.5000
AssetCovar = [5]
AssetCovar = 0.5000
NumScenarios = 100
NumScenarios = 100
(p, AssetMean, AssetCovar, numscenario)
p = PortfolioMAD属性:BuyCost: [] SellCost: [] RiskFreeRate:[]营业额:[]BuyTurnover: [] SellTurnover: [] NumScenarios: 100姓名:[]NumAssets: 4 AssetList: [] InitPort: [] AInequality: [] bInequality: [] AEquality: [] bEquality:[]下界:x1双[4]UpperBound: [] LowerBudget: 1 UpperBudget: 1 GroupMatrix: [] LowerGroup: [] UpperGroup: [] GroupA: [] GroupB: [] LowerRatio: [] UpperRatio: [] MinNumAssets: [] MaxNumAssets: [] BoundType: [4 x1分类)

输入参数

全部折叠

对象,使用PortfolioCVaRPortfolioMAD对象。

有关创建PortfolioCVaRPortfolioMAD对象,看到

数据类型:对象

资产回报的平均值,指定为一个向量。

请注意

如果AssetMean是标量,且资产的数量已知,则发生标量扩展。如果无法确定资产的数量,则此函数假定NumAssets=1

数据类型:

资产回报的协方差,指定为对称正半正定矩阵。

请注意

  • 如果AssetCovar为标量,且资产个数已知,则该标量值沿对角线形成对角矩阵。如果它是不可能确定资产的数量,这种方法假定NumAssets=1

  • 如果AssetCovar是一个向量,由该向量沿对角线形成一个对角矩阵。

  • 如果AssetCovar非对称正半正定矩阵,使用nearcorr为相关矩阵创建正半正定矩阵。

数据类型:

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

数据类型:

资产的数量,指定为标量。

数据类型:

输出参数

全部折叠

更新投资组合对象,作为一个返回PortfolioCVaRPortfolioMAD对象。创建一个组合对象的更多信息,请参阅

提示

您还可以使用点符号来模拟多变量正常资产回报场景,从资产回报的平均值和协方差PortfolioCVaRPortfolioMAD对象。

obj = obj。simulatenormalscenario osmoments (AssetMean, AssetCovar, numscenario, NumAssets);

介绍了R2012b