qmt编程之获取财务数据
qmt更加详细的教程方法,会持续慢慢梳理。
也可找寻博主的历史文章,搜索关键词查看解决方案 !
获取单季度/年度财务数据
查询股票的市值数据、资产负债数据、现金流数据、利润数据、财务指标数据. 详情通过财务数据列表查看! 可通过以下api进行查询 :
内置python
获取财务数据前,请先通过界面端数据管理 - 财务数据
下载
提示
财务数据接口通过读取下载本地的数据取数,使用前需要补充本地数据。除公告日期和报表截止日期为时间戳毫秒格式其他单位为元或 %,数据主要包括资产负债表(ASHAREBALANCESHEET)、利润表(ASHAREINCOME)、现金流量表(ASHARECASHFLOW)、股本表(CAPITALSTRUCTURE)的主要字段数据以及经过计算的主要财务指标数据(PERSHAREINDEX)。建议使用本文档对照表中的英文表名和迅投英文字段,表名不区分大小写。
ContextInfo.get_financial_data - 获取财务数据
财务数据接口有两种用法,入参和返回值不同,具体如下
用法1,返回目标数据对象
原型
内置python
ContextInfo.get_financial_data(fieldList, stockList, startDate, enDate, report_type = 'announce_time')
释义
获取财务数据,方法1
参数
字段名 | 类型 | 释义与用例 |
---|---|---|
fieldList | List(必须) | 财报字段列表:['ASHAREBALANCESHEET.fix_assets', '利润表.净利润'] |
stockList | List(必须) | 股票列表:['600000.SH', '000001.SZ'] |
startDate | Str(必须) | 开始时间:'20171209' |
endDate | Str(必须) | 结束时间:'20171212' |
report_type | Str(可选) | 报表时间类型,可缺省,默认是按照数据的公告期为区分取数据,设置为 'report_time' 为按照报告期取数据,' announce_time' 为按照公告日期取数据 |
提示
选择按照公告期取数和按照报告期取数的区别:
若某公司当年 4 月 26 日发布上年度年报,如果选择按照公告期取数,则当年 4 月 26 日之后至下个财报发布日期之间的数据都是上年度年报的财务数据。
若选择按照报告期取数,则上年度第 4 季度(上年度 10 月 1 日 - 12 月 31 日)的数据就是上年度报告期的数据。
返回值
函数根据stockList代码列表,startDate,endDate时间范围,返回不同的的数据类型。如下:
代码数量 | 时间范围 | 返回类型 |
---|---|---|
=1 | =1 | pandas.Series (index = 字段) |
=1 | >1 | pandas.DataFrame (index = 时间, columns = 字段) |
>1 | =1 | pandas.DataFrame (index = 代码, columns = 字段) |
>1 | >1 | pandas.Panel (items = 代码, major_axis = 时间, minor_axis = 字段) |
示例
示例
# coding:gbk
def init(C):
pass
def handlebar(C):
#取总股本和净利润
fieldList = ['CAPITALSTRUCTURE.total_capital', '利润表.净利润']
stockList = ["000001.SZ","000002.SZ","430017.BJ"]
startDate = '20171209'
endDate = '20231204'
data = C.get_financial_data(fieldList, stockList, startDate, endDate, report_type = 'report_time')
print(data)
返回值
<class 'pandas.core.panel.Panel'>
Dimensions: 3 (items) x 1453 (major_axis) x 2 (minor_axis)
Items axis: 000001.SZ to 430017.BJ
Major_axis axis: 20171211 to 20231204
Minor_axis axis: total_capital to 净利润