书接上回~与历史行情类似,财务数据下载也可以分为简单下载和批量下载两个方式
1. download_financial_data:简单财务数据下载
适用于下载少量股票的指定财务报表
函数原型
download_financial_data(stock_list, table_list=[])
实战演练:下载“贵州茅台”和“宁德时代”的利润表和资产负债表
from xtquant import xtdata
client = xtdata.get_client()
stock_list = ["600519.SH", "300750.SZ"]
table_list = ["Income", "Balance"]
print(f"开始下载 {stock_list} 的 {table_list} 数据...")
xtdata.download_financial_data(stock_list, table_list)
print("财务数据下载完成!")
# 下载完成后可以获取财务数据
financial_data = xtdata.get_financial_data(stock_list, table_list)
print("获取到的财务数据:")
for stock in stock_list:
print(f"\\n{stock} 的财务数据:")
for table in table_list:
print(f"{table} 表:")
print(financial_data[stock][table].head())2. download_financial_data2:高级财务数据下载
这个版本功能更强,允许根据财报披露日期进行筛选,并同样支持进度回调
函数原型
download_financial_data2(stock_list, table_list=[], start_time, end_time, callback=None)
实战演练:下载2023年发布过财报的所有A股公司的三张报表
from xtquant import xtdata
# 下载000001.SZ 2023年的三张财务报表
stock_list = ["000001.SZ"]
table_list = ["Income", "Balance", "CashFlow"] # 利润表、资产负债表、现金流量表
print(f"开始下载 {stock_list} 的财务报表数据...")
xtdata.download_financial_data(stock_list, table_list)
print("财务数据下载完成!")
# 获取财务数据
financial_data = xtdata.get_financial_data(stock_list, table_list, "20230101", "20231231")
print("获取到的财务数据:")
for stock in stock_list:
print(f"\n{stock} 2023年财务报表:")
for table in table_list:
print(f"\n{table} 表:")
print(financial_data[stock][table])总结与最佳实践
1.优先使用批量版本:对于任何超过10只股票的下载任务,推荐优先使用 download_history_data2 和 download_financial_data2,并通过 callback 监控
2.理解同步与回调:xtdata的下载指令是阻塞式的,但 callback 能让你在等待过程中获得反馈。这对于长时间运行的下载任务至关重要
3. 数据存储位置:所有下载的数据默认存储在MiniQMT客户端的 userdata_mini/datadir 目录下。我们可以通过 get_local_data 来读取
QMT/miniQMT免费申请
QMT免费领取学习案例
QMT落地辅助策略代写服务
需要的朋友欢迎联系 ~~~
著作权归文章作者所有。