quantmod包getSymbols函数调用失效,请求代码更新方案
解决quantmod获取Yahoo Finance标普500数据失效的问题
原代码失效的核心原因是Yahoo Finance的公开API接口发生了调整,导致quantmod原有的yahoo数据源适配逻辑无法正常工作。以下是两种可行的解决方案:
方案一:使用yfR包(推荐,稳定性更高)
yfR是专门针对Yahoo Finance数据开发的R包,适配了最新的接口规则,使用更稳定:
# 首次使用先安装包 install.packages("yfR") library(yfR) # 获取标普500数据,可自行调整时间范围 sp <- yf_get(tickers = "^GSPC", first_date = "2000-01-01", # 起始日期 last_date = Sys.Date()) # 结束日期(默认当前日期)
方案二:升级quantmod到开发版继续使用
quantmod的GitHub开发版已经适配了Yahoo Finance的新接口,可通过以下步骤更新:
# 先安装devtools(首次使用) install.packages("devtools") library(devtools) # 安装quantmod开发版 install_github("joshuaulrich/quantmod") # 重新加载包并获取数据 library(quantmod) sp <- getSymbols("^GSPC", src = "yahoo", auto.assign = FALSE)
注意:如果使用方案二,可能需要处理Yahoo的反爬机制,若仍出现问题,优先推荐方案一。
内容的提问来源于stack exchange,提问作者Anastasia
相关产品推荐
相关产品推荐

