如何用R的Quantmod包批量获取股票最新交易数据并导出Excel
R语言批量获取股票行情并导出Excel实现方案
首先加载所需依赖包,示例采用tidyquant对接公开行情数据源,writexl用于导出Excel文件:
# 首次使用先安装依赖包 install.packages(c("tidyquant", "writexl", "dplyr")) # 加载包 library(dplyr) library(tidyquant) library(writexl)
如果是A股股票代码,需要先按照数据源要求补全后缀,避免匹配失败:
# A股代码补全后缀示例:沪市加.SS,深市加.SZ v1 <- sapply(v1, function(x) { if (substr(x, 1, 1) == "6") { return(paste0(x, ".SS")) } else { return(paste0(x, ".SZ")) } }) %>% unname()
批量获取所有股票的最新交易日行情数据:
# 批量拉取行情并筛选最新交易日数据 final_data <- v1 %>% tq_get(get = "stock.prices") %>% group_by(symbol) %>% # 仅保留每个股票最新的一条交易记录 filter(date == max(date)) %>% ungroup() %>% # 调整列名与顺序匹配需求 select(股票代码 = symbol, Open, Close, High, Low, Volume)
导出最终结果到Excel文件:
write_xlsx(final_data, "股票最新行情汇总.xlsx")
注意事项
- 若默认数据源访问受限,可自行替换为其他公开行情接口的R包适配逻辑,核心数据合并逻辑无需修改
- 拉取港股、美股等其他市场标的时,需提前对应修改股票代码的后缀规则
- 单批拉取标的数量过多时,可在拉取逻辑中增加休眠间隔避免被接口限流
内容的提问来源于stack exchange,提问作者Vasco de Gama
相关产品推荐
相关产品推荐

