3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在聚宽(JoinQuant)平台中,要获取单只或多只股票连续多个季度的财务数据(如营业收入、净利润等三大报表科目),最方便、最推荐的接口是 get_history_fundamentals。
相比于传统的 get_fundamentals(通常需要手动循环或传入不同 statDate),get_history_fundamentals 专为查询历史多个报告期的数据而设计,能够一次性返回结构化的时间序列数据,极大地提高了数据获取效率并避免了未来函数。
get_history_fundamentalsget_history_fundamentals(security, fields, watch_date=None, stat_date=None, count=1, interval='1q', stat_by_year=False)
security: 股票代码或列表,例如 '000001.XSHE'。fields: 财务数据科目的列表。营业收入属于利润表(income.total_operating_revenue 或 income.operating_revenue),净利润属于利润表(income.net_profit)。stat_date: 统计截止日期,例如 '2023q4'。与 watch_date 二选一。count: 查询历史报告期的数量。获取过去 5 个季度,则设置 count=5。interval: 报告期间隔,'1q' 表示按季度间隔。stat_by_year: 是否返回年度数据。获取季度数据应设为 False。以下代码展示了如何在 JoinQuant 策略或研究环境中,获取平安银行(000001.XSHE)过去 5 个季度的营业收入和净利润:
# 导入聚宽函数库
from jqdata import *
def get_quarterly_financials():
# 1. 定义要查询的股票
security = '000001.XSHE'
# 2. 定义要查询的财务字段(营业收入和净利润)
# income.operating_revenue: 营业收入
# income.net_profit: 净利润
fields = [
income.statDate, # 报表统计季度
income.operating_revenue,
income.net_profit
]
# 3. 调用 get_history_fundamentals 接口
# 获取截止到 2023q4 往前连续 5 个季度的数据
df = get_history_fundamentals(
security=security,
fields=fields,
stat_date='2023q4',
count=5,
interval='1q',
stat_by_year=False
)
# 4. 打印输出结果
print("平安银行过去 5 季度财务数据:")
print(df)
# 运行函数
get_quarterly_financials()
执行上述代码后,您将获得一个 pandas.DataFrame,每一行代表该股票的一个报告期,数据结构清晰,非常便于后续的量化分析与计算:
| code | statDate | operating_revenue | net_profit |
|---|---|---|---|
| 000001.XSHE | 2022q4 | 41,400,000,000 | 10,500,000,000 |
| 000001.XSHE | 2023q1 | 45,098,000,000 | 14,602,000,000 |
| 000001.XSHE | 2023q2 | 43,510,000,000 | 10,785,000,000 |
| 000001.XSHE | 2023q3 | 42,020,000,000 | 14,248,000,000 |
| 000001.XSHE | 2023q4 | 39,850,000,000 | 10,450,000,000 |
(注:表中数值仅为格式演示,实际数值以聚宽数据库返回为准)
watch_date 参数(传入 context.current_dt 或 context.previous_date),而不是 stat_date。因为 watch_date 会严格根据历史实际发布日期过滤数据,确保回测时不会拿到尚未公布的未来财报。get_history_fundamentals 每次调用最多返回 5000 条 数据。如果需要获取大量股票的多季度数据,建议分批次(按股票池分批或按时间分批)获取。valuation(市值表)的查询。如需获取市值、PE、PB 等每日更新的数据,请使用 get_valuation 接口。