You need to enable JavaScript to run this app. 如何修改getSymbols获取以周一为起始的最新周度股票数据
优惠活动
大模型
产品
解决方案
定价
更多

如何修改getSymbols获取以周一为起始的最新周度股票数据

问题原因

getSymbols 拉取周频数据时默认要求返回完整交易周的汇总数据,当你指定的to日期落在未结束的交易周内(比如周六、或者当周还没到周五收盘),接口会返回全为NA的无效行,这是底层数据源的周频统计规则导致的,不是参数设置错误。你之前指定to = "2021-05-22"返回全NA,就是因为2021-05-22属于2021年5月第三周的周六,该交易周还没被数据源判定为完整周,所以没有有效汇总数据。

解决方案

推荐优先使用「先拉日频再手动转周频」的方案,既可以拿到截至最新交易日的周频数据,也能避免NA问题,修改后的代码如下:

# 先拉取日度原始交易数据
d_daily <- as.data.frame(
  getSymbols(
    paste("WIPRO" , ".NS", sep = ""),
    from ="2000-01-01", 
    periodicity = "daily",
    return.class = 'zoo',
    env = NULL
  )
)
# 按周聚合生成周频数据,默认取每周最后一个交易日的交易指标
d <- apply.weekly(d_daily, last)

如果需要自定义周频统计规则(比如周开盘、周最高、周最低、周收盘、周累计成交量),可以自行修改apply.weekly的第二个参数,对应配置为取每周第一个值、最大值、最小值、最后一个值、求和即可。


内容的提问来源于stack exchange,提问作者Stupid_Intern

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 12:54:01