【发布时间】:2021-02-27 13:34:19
【问题描述】:
我曾尝试使用 BatchGetSymbols 检索多个股票代码的价格数据,以获取每周和每月价格数据 (ohlc),但每周和每月函数无法返回正确数据。当使用 'batchgetsymbols' 'freq.data = "weekly' 参数时,每周价格从周三开始,这对于每周价格数据是不正确的。每周 ohlc 数据应该在每周结束时(周一至周五)。
我发现检索正确的每周/每月数据最接近的方法是使用带有“quantmod”的“getsymbols”功能,但目前仅限于搜索一个单独的代码。有谁能帮我改变这个脚本来搜索和检索多个股票的每周 ohlc 数据?例如:
> library(quantmod)
stock_list <- c("FB", "AAPL", "GOOG","BA","DAL","TSLA")
start_date <- Sys.Date()-14
end_date <- Sys.Date()
master_df <- NULL
for (idx in seq(length(stock_list))){
idx = 1
stock_index = stock_list[idx]
getSymbols(stock_index, verbose = TRUE, src = "yahoo",
from=start_date,to=end_date)
temp_df = as.data.frame(to.weekly(get(stock_index))) # weekly data
temp_df$Date = row.names(temp_df)
temp_df$Index = stock_index
row.names(temp_df) = NULL
colnames(temp_df) = c("Open", "High", "Low", "Close",
"Volume", "Adjusted", "Date", "Index")
temp_df = temp_df[c("Date", "Index", "Open", "High",
"Low", "Close", "Volume", "Adjusted")]
master_df = rbind(master_df, temp_df)
}
任何帮助将不胜感激。
【问题讨论】:
标签: r quantmod yahoo-finance