gpt4 book ai didi

r - getFinancials (quantmod) 和 tq​​_get (tidy quant) 不起作用?

转载 作者:行者123 更新时间:2023-12-02 20:27:57 24 4
gpt4 key购买 nike

对于财务数据,我在 quantmod 和tinyquant 中都遇到了相同的错误。谁能看看这是否可以重现?这是谷歌金融服务器的问题吗?以下功能均不适用于我。我不确定是我的问题还是服务器的问题。

    tq_get("AAPL", get= "financials")
[1] NA
Warning message:
x = 'AAPL', get = 'financials': Error in thead[x]:thead[x + 1]: NA/NaN
argument

和:

    getFin("AAPL")
Error in thead[x]:thead[x + 1] : NA/NaN argument

有人可以帮忙吗?

最佳答案

试试这个:

library(jsonlite)
library(httr)

transpose_df <- function(df_list){
df_list$maxAge <- NULL
myColnames <- df_list$endDate$fmt
df_list$endDate <- NULL

mydf <- data.frame(row.names = colnames(df_list))

for (i in 1:length(df_list)) {
for (j in 1:4) {
tryCatch(
{
mydf[i,j] <- df_list[j,i]$raw
},
error = function(cond){
mydf[i,j] <- NA
}
)

}
}
colnames(mydf) <- myColnames
return(mydf)
}

scrapy_stocks <- function(stock){
for (i in 1:length(stock)) {
tryCatch(
{
url <- paste0('https://query1.finance.yahoo.com/v10/finance/quoteSummary/',stock[i],'?formatted=true&lang=en-US&region=US&modules=incomeStatementHistory%2CcashflowStatementHistory%2CbalanceSheetHistory&corsDomain=finance.yahoo.com')
a <- GET(url)
a <- content(a, as="text")

df <- fromJSON(a, simplifyDataFrame = TRUE)

df_is <- df$quoteSummary$result$incomeStatementHistory$incomeStatementHistory[[1]]
df_is <- transpose_df(df_is)

df_bs <- df$quoteSummary$result$balanceSheetHistory$balanceSheetStatements[[1]]
df_bs <- transpose_df(df_bs)

df_cs <- df$quoteSummary$result$cashflowStatementHistory$cashflowStatements[[1]]
df_cs <- transpose_df(df_cs)
assign(paste0(stock[i],'.f'),value = list(IS = df_is,BS = df_bs,CF = df_cs),envir = parent.frame())
},
error = function(cond){
message(stock[i], "Give error ",cond)
}
)
}
}

scrapy_stocks(c('PETR4.SA','VALE3.SA'))

您可以将其称为 scrapy_stocks(c("AAPL","GOOGL")) 并以 AAPL.f$IS,AAPL 的形式访问其数据.f$BSAAPL.f$CF

自从我使用 R 以来已经有一段时间了,所以可能有更好的方法来做到这一点,特别是转置 Dataframe,但我认为它是有效的。我希望它可以帮助别人。

在 URL 中,如果您使用 balanceSheetHistory,您将获得年度值,如果您使用 balanceSheetHistoryQuarterly,您还可以获得季度数字。人们可以轻松地适应这一功能。

关于r - getFinancials (quantmod) 和 tq​​_get (tidy quant) 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49452906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com