## 原型

```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 | &gt;1 | pandas.DataFrame (index = 时间, columns = 字段)
&gt;1 | =1 | pandas.DataFrame (index = 代码, columns = 字段)
&gt;1 | &gt;1 | pandas.Panel (items = 代码, major_axis = 时间, minor_axis = 字段)

## 示例

```python
示例返回值

#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 | &gt;1 | pandas.DataFrame (index = 时间, columns = 字段) |
| &gt;1 | =1 | pandas.DataFrame (index = 代码, columns = 字段) |
| &gt;1 | &gt;1 | pandas.Panel (items = 代码, major_axis = 时间, minor_axis = 字段) |
