You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中从Yahoo Finance提取股票数据时如何指定日期范围?

解决方法

你可以直接在getSymbols()函数中指定时间范围,同时优化收盘价提取和合并的步骤,以下是修改后的完整代码:

# 加载quantmod包(未安装的话先运行 install.packages("quantmod"))
library(quantmod)

symbols <- c("SPY", "JNK", "EEM", "EMB", "TLT", "USO")

# 指定时间范围下载数据,from为起始日期,to为结束日期
getSymbols(symbols, from = "2022-09-01", to = "2022-11-13")

# 提取每只证券的收盘价并合并,同时重命名列名方便识别
ClosePrices <- do.call(merge, lapply(symbols, function(x) {
  close_col <- Cl(get(x))
  colnames(close_col) <- x
  return(close_col)
}))

# 查看结果
head(ClosePrices)

关键细节说明

  • getSymbols()的from和to参数直接限定了下载的时间区间,避免下载多余数据后再筛选,提升效率。
  • 提取收盘价时给列重命名,默认列名会是SPY.Close这类格式,重命名后直接显示证券代码,更直观。
  • 如果已经下载了全量数据,后续需要筛选时间范围,可以用window()函数:
    ClosePrices_filtered <- window(ClosePrices, start = "2022-09-01", end = "2022-11-13")
    

内容的提问来源于stack exchange,提问作者Eduardo Páez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 14:15:28