主要内容

estimateAssetMoments

估计资产的回报数据的均值和协方差

使用一个弗林特对象的AssetReturns的观点estimateAssetMoments不推荐。使用时间表而不是金融时间序列。有关更多信息,请参见把金融时间序列对象弗林特时间表

描述

例子

obj= estimateAssetMoments (obj,AssetReturns)估计均值和协方差数据的资产回报投资组合对象。在工作流程的详细信息,请参见组合对象的工作流

例子

obj= estimateAssetMoments (___,名称,值)估计均值和协方差投资组合的资产回报数据对象与一个或多个附加选项名称,值对参数。

例子

全部折叠

为了说明使用estimateAssetMoments函数,生成随机抽样120观察资产回报四资产从资产回报率的均值和协方差的变量Cportsim函数。默认的行为portsim创建模拟数据与估计均值和协方差相同时刻的输入C。除了返回创建的系列portsim函数的变量X变量,创建一个系列的价格Y:

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; X = portsim(m', C, 120); Y = ret2tick(X);

鉴于资产回报和价格变量XY从上面,下面的例子证明等效方法来估计资产组合对象的时刻。创建一个组合对象p直接与资产回报的时刻投资组合创建对象和一个第二组合对象获取资产回报率的均值和协方差资产返回数据X使用estimateAssetMoments函数。

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; X = portsim(m', C, 120); p = Portfolio(“的意思是”米,“柯伐合金”C);q =投资组合;q = estimateAssetMoments (q, X);[passetmean, passetcovar] = getAssetMoments (p)
passetmean =4×10.0042 0.0083 0.0100 0.0150
passetcovar =4×40.0005 0.0003 0.0002 0.0003 0.0024 0.0017 0.0010 0.0002 0.0017 0.0048 0.0028 0 0.0010 0.0028 0.0102
[qassetmean, qassetcovar] = getAssetMoments (q)
qassetmean =4×10.0042 0.0083 0.0100 0.0150
qassetcovar =4×40.0005 0.0003 0.0002 -0.0000 0.0003 0.0024 0.0017 0.0010 0.0002 0.0017 0.0048 0.0028 -0.0000 0.0010 0.0028 0.0102

注意方法收益率相同的时刻。的默认行为estimateAssetMoments功能是使用资产的回报。相反,如果你有资产价格,如变量Y,estimateAssetMoments函数接受一个参数名称“DataFormat”与一个相应的值设置为“价格”表明的输入方法是资产价格的形式,而不是返回(默认参数值“DataFormat”“返回”)。下面的例子比较组合对象直接赋值的时刻p从资产价格数据与估计的时刻Y在投资对象:

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; X = portsim(m', C, 120); Y = ret2tick(X); p = Portfolio(“的意思是”米,“柯伐合金”C);q =投资组合;q = estimateAssetMoments (q, Y,“dataformat”,“价格”);[passetmean, passetcovar] = getAssetMoments (p)
passetmean =4×10.0042 0.0083 0.0100 0.0150
passetcovar =4×40.0005 0.0003 0.0002 0.0003 0.0024 0.0017 0.0010 0.0002 0.0017 0.0048 0.0028 0 0.0010 0.0028 0.0102
[qassetmean, qassetcovar] = getAssetMoments (q)
qassetmean =4×10.0042 0.0083 0.0100 0.0150
qassetcovar =4×40.0005 0.0003 0.0002 -0.0000 0.0003 0.0024 0.0017 0.0010 0.0002 0.0017 0.0048 0.0028 -0.0000 0.0010 0.0028 0.0102

为了说明使用estimateAssetMoments函数与AssetReturns数据仍在继续时间表对象,使用CAPMuniverse.mat它包含一个时间表对象(AssetTimeTable返回数据)。

负载CAPMuniverseAssetsTimeTable.Properties;头(AssetsTimeTable, 5)
ans =5×14时间表时间apple amazon cisco戴尔EBAY google hp IBM intel microsoft ORCL yahoo市场现金⒈替替替替替_____ _____ _____ __________ 03 - 1月- 2000年南0.03244 0.075368 0.05698 0.088805 0.1742 0.008775 -0.002353 0.12829 -0.001627 0.054078 0.097784 -0.012143 0.00020522 04 -简- 2000南-0.075613 -0.033966 -0.046667 -0.084331 -0.08324 -0.05608 -0.08353 -0.093805 -0.033802 -0.0883 -0.067368 -0.03166 0.00020339 05 - 1月- 2000年南-0.006356 0.03516 0.008199 0.014634 -0.14877 -0.003039 0.070984 0.066875 0.010567 -0.052837 -0.073363 0.011443 0.00020376 06 - 1月- 2000年南-0.063688 -0.017241 -0.05824 -0.086538 -0.060072 -0.016619 -0.038847 -0.012302 -0.033477 -0.058824 -0.10307 0.011743 0.00020266 07 - 1月- 2000年南0.028416 -0.004386 0.04127 0.047368 0.061013 0.0587 -0.037708 -0.000964 0.013091 0.076771 0.10609 0.02393 0.00020157

请注意,google缺失的数据(),因为它是2004年8月前未列出。的estimateAssetMoments函数有一个名称-值对的论点“MissingData”与一个布尔值表示是否使用金融工具箱™的缺失数据功能的软件。的默认值“MissingData”是假删除所有样品值。然而,如果“MissingData”被设置为true,estimateAssetMoments使用ECM算法来估计资产的时刻。

r =投资组合;(r, r = estimateAssetMoments AssetsTimeTable,“dataformat”,“返回”,“missingdata”,真正的);

此外,estimateAssetMoments功能也从一个时间表对象提取资产名称或标识符名称参数“GetAssetList”设置为真正的(它的默认值)。如果“GetAssetList”值是真正的,时间表列标识符用于设置AssetList房地产投资组合的对象。显示这个,组合对象的形成r是重复的“GetAssetList”标志设置为真正的

(r, r = estimateAssetMoments AssetsTimeTable,“GetAssetList”,真正的);disp (r.AssetList”)
{“apple”} {amazon的}{cisco的}{“戴尔”}{“易趣”}{“google”} {“hp”} {“IBM”} {intel的}{“微软”}{‘ORCL} {“yahoo”}{‘市场’}{“现金”}

创建一个投资组合对象为三种资产。

AssetMean = (0.0101110;0.0043532;0.0137058);AssetCovar = [0.00324625 0.00022983 0.00420395;0.00022983 0.00049937 0.00019247;0.00420395 0.00019247 0.00764097);AssetMean = AssetMean / 12
AssetMean =3×10.0008 0.0004 0.0011
AssetCovar = AssetCovar / 12
AssetCovar =3×3103×0.2705 0.0192 0.3503 0.0192 0.0416 0.0160 0.3503 0.0160 0.6367
X = portsim (AssetMean AssetCovar 120);p =组合(“AssetMean”AssetMean,“AssetCovar”,AssetCovar);p = setDefaultConstraints (p);

使用setBounds与半连续约束集=00.02< =< =0.5对所有=1,……NumAssets。

p = setBounds (p, 0.02, 0.5,“BoundType”,“条件”,“NumAssets”3);

当处理一个投资组合对象,setMinMaxNumAssets功能使您能够设置基数约束的多头组合。这集的基数约束投资组合对象,分配资产总数满足之间的非零半连续约束MinNumAssetsMaxNumAssets。通过设置MinNumAssets=MaxNumAssets= 2,只有两三个资产投资组合。

p = setMinMaxNumAssets (p, 2 2);

使用estimateAssetMoments估计均值和协方差数据的资产回报投资组合对象。

p = estimateAssetMoments (p (X);[passetmean, passetcovar] = getAssetMoments (p)
passetmean =3×10.0008 0.0004 0.0011
passetcovar =3×3103×0.2705 0.0192 0.3503 0.0192 0.0416 0.0160 0.3503 0.0160 0.6367

estimateAssetMoments函数使用的适应解决来解决这个问题。使用setSolverMINLP功能配置SolverType和选项。

p.solverOptionsMINLP
ans =结构体字段:MaxIterations: 1000 AbsoluteGapTolerance: 1.0000 e-07 RelativeGapTolerance: 1.0000 e-05 NonlinearScalingFactor: 1000 ObjectiveScalingFactor: 1000显示:“关闭”CutGeneration:“基本”MaxIterationsInactiveCut: 30 ActiveCutTolerance: 1.0000 e-07 IntMasterSolverOptions: [1 x1 optim.options。Intlinprog] NumIterationsEarlyIntegerConvergence: 30

输入参数

全部折叠

对象组合,使用指定的投资组合对象。创建一个组合对象的更多信息,请参阅

数据类型:对象

矩阵,,或时间表包含资产价格数据,可以转化为资产回报,被指定NumSamples——- - - - - -NumAssets矩阵。

AssetReturns数据可以是:

  • NumSamples——- - - - - -NumAssets矩阵。

  • NumSamples价格或返回的集合在一个给定的周期性NumAssets资产

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

使用可选的DataFormat参数转换AssetReturns输入数据,资产价格到资产的回报。使用的资产价格数据的时候要小心,因为投资组合优化通常需要总回报率而不是简单的价格回报。

数据类型:||时间表

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:p = estimateAssetMoments (p Y“dataformat”、“价格”)

国旗将输入数据价格转化为回报,指定为逗号分隔组成的“DataFormat”和一个特征向量的值:

  • “返回”——数据AssetReturns包含资产总回报率。

  • “价格”——数据AssetReturns包含资产总回报价格。

数据类型:字符

标志指示是否使用ECM算法或不包括样品值,指定为逗号分隔组成的“MissingData”和一个逻辑值真正的

处理缺失数据的时间序列(表示值),MissingData国旗要么使用ECM算法获得最大似然估计的存在值或排除样品值。因为默认的是,有必要说明MissingData作为真正的使用ECM算法。

可接受的值MissingData是:

  • ——不使用ECM算法来处理值(排除值)。

  • 真正的——使用ECM算法来处理值。

ECM算法的更多信息,请参阅ecmnmle多元正态回归

数据类型:逻辑

国旗表明资产名称用于资产列表,指定为逗号分隔组成的“GetAssetList”和一个逻辑值真正的。可接受的值GetAssetList是:

  • ——不提取或创建资产名称。

  • 真正的——从一个表中提取或创建资产名称或时间表对象。

如果一个时间表传递给这个函数使用吗AssetReturns参数和GetAssetList国旗是真正的从表中,列名或时间表对象作为资产名称obj.AssetList

如果一个矩阵和传递GetAssetList国旗是真正的、默认资产名称的基础上创建的AbstractPortfolio财产defaultforAssetList,这是“资产”

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

数据类型:逻辑

输出参数

全部折叠

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

提示

您还可以使用点符号来估计资产回报率的均值和协方差的数据。

obj = obj.estimateAssetMoments (AssetReturns);

版本历史

介绍了R2011a