You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在R语言中获取股票财务信息?求替代quantmod的方案

确实,quantmod的getFinancials()因为Google Finance在2018年关停了相关接口,现在没法用了。给你几个在R里获取股票财务数据(包括NAV、股息、负债等)的替代方案,亲测可用:

1. 使用tidyquant包(对接Yahoo Finance)

tidyquant是tidyverse生态的一部分,整合了Yahoo Finance的数据源,用起来很顺手,适合需要做数据清洗和分析的场景。

安装并使用:

# 安装包
install.packages("tidyquant")
library(tidyquant)

# 获取AAPL的财务报表(资产负债表、利润表、现金流量表)
aapl_fin <- tq_get("AAPL", get = "financials")

# 提取负债数据(以资产负债表为例)
aapl_liabilities <- aapl_fin %>%
  filter(section == "Liabilities")

# 获取股息数据
aapl_dividends <- tq_get("AAPL", get = "dividends")

特点:和dplyr、ggplot2等tidyverse工具无缝配合,数据格式整洁,适合快速分析。

2. 使用finreportr包(对接SEC EDGAR)

如果需要更权威的美国上市公司财务数据,finreportr直接从SEC的EDGAR数据库拉取,数据来源官方,准确性高。

安装并使用:

# 安装包
install.packages("finreportr")
library(finreportr)

# 获取AAPL的年度财务报表
aapl_sec <- get_financial_statements("AAPL", year = 2023, period = "A")

# 提取负债数据
aapl_sec_liabilities <- aapl_sec$balance_sheet %>%
  filter(account == "Total Liabilities")

# 获取股息数据
aapl_sec_dividends <- get_dividends("AAPL", year = 2023)

特点:数据权威,但拉取速度可能稍慢,适合需要合规性数据的场景。

3. 使用yahooquery包(Yahoo Finance高级接口)

yahooquery是专门针对Yahoo Finance新API开发的包,功能比tidyquant更全面,能获取包括NAV、机构持仓、期权数据等更多信息。

安装并使用:

# 安装包
install.packages("yahooquery")
library(yahooquery)

# 创建Ticker对象
aapl <- Ticker("AAPL")

# 获取资产负债表(含负债数据)
aapl_balance_sheet <- aapl$balance_sheet(frequency = "annual")

# 获取股息数据
aapl_divs <- aapl$dividends()

# 获取NAV(针对基金/ETF类产品,股票可参考股东权益相关指标)
# spy <- Ticker("SPY")
# spy_nav <- spy$nav_price()

特点:功能最丰富,支持批量获取多个股票数据,适合深度数据需求。

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

火山引擎 最新活动