【问题标题】:Downloading Yahoo stock prices in R - date setting在 R 中下载 Yahoo 股票价格 - 日期设置
【发布时间】:2020-05-12 18:06:25
【问题描述】:

我正在使用 tseries 包从 yahoo Finance 下载股票数据。问题是我没有得到最近的日期 - 最后的价格总是 2 天前。 下面是我的代码,您能否建议我应该更正什么以获得所有可用的价格?

谢谢!

`dir <- "D:/Yahoo stock prices"  #location
setwd(dir)

# Packages needed
require(tseries)
require(zoo)

YH <- read.csv2(file="SBI.csv",header=T, sep=";", dec=".")
date <- "2012-09-20"

penny_stocks <- c("SMDS.L", "MNDI.L", "SKG.L")

prices <- NULL
for(i in 1:length(YH[,1])){
    prices <- try(get.hist.quote(as.character(YH[i,1]),
                                 start=date,
                                 quote='Open'
                                 )
                  ,silent=TRUE
    )
    if(!is.character(prices)){
      if(as.character(YH[i,1]) %in% penny_stocks) prices <- prices / 100

      prices <- as.data.frame(prices)
      prices <- cbind(rownames(prices),prices)
      colnames(prices) <- c("date",as.character(YH[i,1]))

      if(length(prices) > 1){
        if(i == 1){
            allprices <- prices
            names <- c("date",as.character(YH[i,1]))
          } else {

            names <- append(colnames(allprices),as.character(YH[i,1]))
            allprices <- merge(allprices,prices,by ="date", all.x = TRUE)
            colnames(allprices) <- names
          }      
      }
    }

}

write.csv2(allprices,"Prices 200511.csv")
warnings()

`

【问题讨论】:

  • 请提供一个最小的、可重现的例子。使用dput(data) 提供您的数据,这将增加获得帮助的机会

标签: r yahoo-finance stock


【解决方案1】:

在撰写本文时,雅虎网站上的可用数据截至 2020 年 5 月 12 日。您需要在 tseries 中默认指定结束日期,结束日期定义为Sys.Date() - 1。所以使用tseries::get.hist.quote("SMDS.L", end = Sys.Date(), quote = "Open") 将返回数据直到 2020-05-12。现在您会期望默认值足够好,但是如果数据不在美国,雅虎数据和获取正确的最后记录存在很多问题。可能有一个流程在关闭一天后加载数据。

请注意,tseries::get.hist.quote 的默认设置与对quantmod::getSymbols 的底层函数调用的默认设置略有不同。 tseries 使用默认的Sys.Date() - 1,quantmod 使用 Sys.Date()。开始日期也不同。 tseries 使用“1991-01-02”作为开始日期,quantmod 使用“2007-01-01”。

【讨论】:

    猜你喜欢
    • 2011-03-31
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多