ContextInfo.get_raw_financial_data - 获取原始财务数据
ContextInfo.get_raw_financial_data 是 QMT 内置 Python 中用于获取原始财务数据的接口。
原型
ContextInfo.get_raw_financial_data(fieldList,stockList,startDate,endDate,report_type='announce_time')
释义
ContextInfo.get_raw_financial_data 是 QMT 内置 Python 中用于获取原始财务数据的接口。
研究:官方目录未明确;回测:官方目录未明确;模拟:官方目录未明确;实盘:官方目录未明确。
参数
| 参数 | 是否必填 | 官方原始定义 |
|---|---|---|
fieldList |
是 | fieldList |
stockList |
是 | stockList |
startDate |
是 | startDate |
endDate |
是 | endDate |
report_type |
否 | report_type='announce_time' |
返回值
函数根据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 = 字段)
示例
示例返回值
#encoding:gbk
获取财务数据
import pandas as pd
import numpy as np
import talib
def to_zw(a):
'''0.中文价格字符串'''
import numpy as np
try:
header = '' if a > 0 else '-'
if np.isnan(a):
return '问题数据'
if abs(a) < 1000:
return header + str(int(a)) + "元"
if abs(a) < 10000:
return header + str(int(a))[0] + "千"
if abs(a) < 100000000:
return header + str(int(a))[:-4] + "万" + str(int(a))[-4] + '千'
else:
return header + str(int(a))[:-8] + "亿" + str(int(a))[-8:-4] + '万'
except:
print(f"问题数据{a}")
return '问题数据'
def after_init(C):
fieldList = ['ASHAREINCOME.net_profit_excl_min_int_inc','ASHAREINCOME.revenue'] # 字段表
stockList = ['000001.SZ'] # 标的
a=C.get_raw_financial_data(fieldList,stockList,'20150101','20300101',report_type = 'report_time') # 获取原始财务数据
# print(a)
for stock in a:
for key in a[stock]:
for t in a[stock][key]:
print(key, timetag_to_datetime(int(t),'%Y%m%d'), to_zw(a[stock][key][t]))
print('-' *22)
print('-' *22)
详细说明
使用提示
取原始财务数据,与get_financial_data相比不填充每个交易日的数据
功能说明
取原始财务数据,与get_financial_data相比不填充每个交易日的数据
参数详细说明
| 字段名 | 类型 | 释义与用例 |
|---|---|---|
| fieldList | List(必须) | 字段列表:例如 ['资产负债表.固定资产','利润表.净利润'] |
| stockList | List(必须) | 股票列表:例如['600000.SH','000001.SZ'] |
| startDate | Str(必须) | 开始时间:例如 '20171209' |
| endDate | Str(必须) | 结束时间:例如 '20171212' |
| report_type | Str(可选) | 时间类型,可缺省,默认是按照数据的公告期为区分取数据,设置为 'report_time' 为按照报告期取数据,可选值:'announce_time','report_time' |
返回值
函数根据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 = 字段) |