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

如何用getSymbols()仅获取谷歌(GOOG)的调整后价格?

解决方案

要实现你想要的类似yahoo(GOOG)返回谷歌调整后价格的效果,你可以基于quantmod包的getSymbols()写一个简洁的函数,核心是控制数据的返回方式并精准提取调整后价格列。

这里是具体的实现代码:

# 先确保加载quantmod包
library(quantmod)

yahoo <- function(symbol = "GOOG") {
  # 获取指定标的的数据,auto.assign=FALSE避免自动在全局环境创建变量
  stock_data <- getSymbols(symbol, auto.assign = FALSE, src = "yahoo")
  # 提取调整后价格(quantmod提供的Ad()函数可直接获取对应列)
  adjusted_price <- Ad(stock_data)
  # 返回调整后价格的时间序列
  return(adjusted_price)
}

使用方式:

  • 直接调用yahoo(),默认返回谷歌的调整后价格时间序列
  • 调用yahoo("AAPL")就能获取苹果的调整后价格,完全满足你想要的灵活调用需求

关键细节说明:

  • auto.assign = FALSE:这个参数是核心,默认getSymbols()会把数据以标的名称为变量名加载到全局环境,设置为FALSE后会直接返回数据对象,方便我们在函数内部处理
  • Ad(stock_data):quantmod返回的OHLCV数据对象中,调整后价格对应的列可以用Ad()快捷提取,不用手动去查找列索引
  • 你可以根据需求修改默认参数symbol = "GOOG",比如把默认标的改成其他你常用的代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:40:14