我试图维持10个资产组合股票的方差 - 协方差矩阵。数据由10个股票的回报列表示。即。
Stock A Stock B
Return 1 Return 1
Return 2 Return 2
Etc Etc
当我上传我的数据时,我尝试了cov(data)
功能,但它不起作用。我一直收到这条消息:
“未定义函数'sum'用于'dataset'类型的输入参数。
cov中的错误(第154行)xc = bsxfun(@ minus,x,sum(x,1)/ m); %删除'数据集'类型的输入参数的meanUndefined函数'sum'。
cov中的错误(第154行)xc = bsxfun(@ minus,x,sum(x,1)/ m); %删除意味着“
我的问题是如何继续寻找每只股票的平均收益率和方差 - 协方差矩阵?
答案 0 :(得分:0)
不推荐使用数据集对象,因此您应该考虑使用表格。但是使用你想要的数据集
>> dataAsMatrix = double(NameOfYourDataSetVariable);
>> cov(dataAsMatrix)
>> mean(dataAsMatrix)
要转换为表,请使用`dataset2table',
>> dataAsTable = dataset2table(NameOfYourDataSetVariable);
然后,对于某些操作,您可以执行
之类的操作>> varfun(@mean,dataAsTable)
虽然对于cov
我认为您仍然需要提取数据
>> cov(dataAsTable{:,:})