使用Yahoo Finance的每日数据时,如何纠正“要替换的项目数不是替换长度的倍数”?

时间:2019-01-04 17:29:35

标签: r finance yahoo-finance

我对R很陌生。我收到如下错误代码:

Error in data.mat.d[, i] <- i.prices : number of items to replace is not a multiple of replacement length` 

我已经从Yahoo!下载了50家投资组合公司的每日财务报表。使用tseries软件包中的“ for”函数和“ get.hist.quotes”进行财务处理。雅虎第一家公司提供的数据似乎不适合矩阵“ data.mat.d”(每天的数据矩阵)。

我尝试更改矩阵和从Yahoo提取数据的函数的日期范围。但是,我不确定我还有其他选择。

time.period.d <- seq(as.Date("2000/2/1"), as.Date("2018/12/31"), "months")
N <- length(sector.codes)
T.d <- length(time.period.d)
data.mat.d <- matrix(0, nrow = T.d, ncol = N)
dimnames(data.mat.d) <- list(time.period.d, sector.codes)

for(i in sector.codes) {
 i.prices <- get.hist.quote(instrument = i, start = "2000/2/1", end = "2018/12/31", 
                         quote = "AdjClose", provider = "yahoo", origin = "1970/01/01",
                         compression = "d", retclass = "zoo")
 index(i.prices) <- as.yearmon(index(i.prices))
 data.mat.d[ , i] <- i.prices
}

我希望它能够提取必要的数据并将其正确地输入到矩阵中(就像上面显示的一样),就像我们为月度数据所做的工作一样。

0 个答案:

没有答案