使用R语言从Google Finance提取企业数据时出错的技术求助
解决quantmod调用getSymbols从Google Finance提取数据失败的问题
嘿,看你给出的代码输出,quantmod的依赖包(xts、zoo、TTR)都正常加载了,但getSymbols的执行到一半就中断了对吧?这问题其实很常见——Google Finance早就停止了对第三方数据接口的支持,老版本的quantmod默认用它当数据源,自然会出问题。
给你几个可行的解决方案:
切换到Yahoo Finance数据源(最直接)
确保你的quantmod是最新版本,然后调用getSymbols时指定src = "yahoo"参数,还可以加上auto.assign = FALSE把数据直接赋值给变量(默认会创建全局变量,不太方便):# 先升级到最新版quantmod install.packages("quantmod") library(quantmod) # 获取苹果股票数据 appl.p <- getSymbols("AAPL", src = "yahoo", auto.assign = FALSE)检查并升级quantmod版本
老版本的quantmod默认数据源还是Google Finance,你可以用packageVersion("quantmod")查看当前版本,建议升级到0.4-18及以上,这个版本之后默认数据源已经调整为Yahoo Finance了,不用手动指定也能正常运行。备选:用tidyquant包获取数据
如果Yahoo的接口也出问题,tidyquant是个更好的选择,它封装了更多稳定的数据源,用法也更灵活:install.packages("tidyquant") library(tidyquant) # 获取苹果股票的日度行情数据 appl.p <- tq_get("AAPL", get = "stock.prices")
补充一句:Google Finance的第三方数据接口早在2018年左右就关停了,所以任何依赖它的老代码都会失效,必须切换到目前还在维护的数据源才行。
内容的提问来源于stack exchange,提问作者Mc3po
相关产品推荐
相关产品推荐

