我希望您能帮忙翻译一下关于it技术的内容。以下是需要翻译的内容:
我正在尝试计算一组资产的滚动窗口(每天移动1次)协方差矩阵。
假设我的数据框如下:
df <- data.frame(x = c(1.5,2.3,4.7,3,8.4), y =c(5.3,2.4,8.4,1.3,2.5),z=c(2.5,1.3,6.5,4.3,2.8),u=c(1.1,2.5,4.3,2.5,6.3))
我期望输出结果如下:
我期望输出结果如下:
cov(df[1:3,]) :
x y z u
x 2.773333 3.666667 4.053333 2.613333
y 3.666667 9.003333 7.846667 2.776667
z 4.053333 7.846667 7.413333 3.413333
u 2.613333 2.776667 3.413333 2.573333
cov(df[2:4,]) :
x y z u
x 1.523333 4.283333 3.053333 1.23
y 4.283333 14.603333 7.253333 3.93
z 3.053333 7.253333 6.813333 2.22
u 1.230000 3.930000 2.220000 1.08
cov(df[3:5,]) :
x y z u
x 7.6233333 -0.5466667 -3.008333 5.1633333
y -0.5466667 14.4433333 5.941667 0.9233333
z -3.0083333 5.9416667 3.463333 -1.5233333
u 5.1633333 0.9233333 -1.523333 3.6133333
但是由于数据集中有很多行,所以所有内容都在一个循环中进行了...
如果我想通过将滚动窗口向前移动1天来按滚动基础计算协方差矩阵,可能的
for
循环会是什么样子?或者我应该使用一些apply
函数族?如果我想要为上面的循环创建时间序列对象,哪种时间序列类会更合适?现在我使用了
fPortfolio
包中的as.timeSeries
。
我就是无法理解...
最好的问候