说明 / 示例
用法: ContextInfo.get_financial_data(fieldList,stockList,startDate,endDate,report_type=’announce_time’)
释义: 获取财务数据
参数:
fieldList:字段列表,如 [‘CAPITALSTRUCTURE.total_capital’, ‘ASHAREINCOME.net_profit_incl_min_int_inc’] (例子中取了股本结构中的总股本,与利润表中的净利润),更多支持字段参见[4. 财务数据接口使用方法](#4. 财务数据接口使用方法)
stockList:股票列表,如 [‘600000.SH’, ‘000001.SZ’]
startDate:开始时间,如 ‘20171209’
endDate:结束时间,如 ‘20171212’
report_type:时间类型,可缺省,默认是按照数据的公告期为区分取数据,设置为’report_time’为按照报告期取数据,可选值:’announce_time’,’report_time’
返回:
函数根据stockList代码列表,startDate,endDate时间范围的大小范围不同的数据类型
(1)代码列表1-时间范围为1返回: pandas.Series index=字段
(2)代码列表1-时间范围为n返回: pandas.DataFrame index=时间,columns=字段
(3)代码列表n-时间范围为1返回: pandas.DataFrame index=代码,columns=字段
(4)代码列表n-时间范围为n返回: pandas.Panel items=代码,major_axis=时间,minor_axis=字段
选择按照公告期取数和按照报告期取数的区别:若某公司当年4月26日发布上年度年报,如果选择按照公告期取数,则当年4月26日之后至下个财报发布日期之间的
数据都是上年度年报的财务数据,如果选择按照报告期取数,则上年度第4季度(上年度10月1日-12月31日)的数据就是上年度报告期的数据.代码1-时间1:pandas.Series index = 字段
*注:必须安装pandas
示例:
```py
def handlebar(ContextInfo):
# 取股本结构中的总股本,与利润表中的净利润
fieldList = ['CAPITALSTRUCTURE.total_capital', 'ASHAREINCOME.net_profit_incl_min_int_inc']
stockList = ['600000.SH', '000001.SZ']
startDate = '20171209'
endDate = '20171212'
# 获取20171209-20171212时间段浦发银行和平安银行的总股本及利润表的净利润
ContextInfo.get_financial_data(fieldList, stockList, startDate, endDate)
```
用法二
用法: ContextInfo.get_financial_data(tabname,colname,market,code,report_type=’report_time’,barpos) (与上一个 ContextInfo.get_financial_data 可同时使用)
释义: 获取财务数据
参数:
tabname:表格名称
colname:字段名称
market:市场
code:股票代码
barpos:当前 bar 的索引
report_type:时间类型,可缺省,默认是按照数据的公告期为区分取数据,设置为’report_time’为按照报告期取数据,可选值:’announce_time’,’report_time
返回: number
示例:
```py
def handlebar(ContextInfo):
index = ContextInfo.barpos
# 获取当前时间点浦发银行利润表的净利润,更多支持字段参见[财务数据接口使用方法]
ContextInfo.get_financial_data('ASHAREINCOME', 'net_profit_incl_min_int_inc', 'SH', '600000', index)
```