Python SDK文档
5.API介绍
5.8老版本数据函数
以下接口在终端版本号大于 3.17.0.0 的版本不再维护,请切换到新的通用接口
get_fundamentals
- 查询基本面数据
获取基本面数据
此函数掘金公版(体验版/专业版/机构版)不支持,请切换到stk_get_fundamentals_balance - 查询资产负债表数据等新接口
函数原型:
get_fundamentals(table, symbols, start_date, end_date, fields=None, filter=None, order_by=None, limit=1000, df=False)
参数:
参数名 | 类型 | 说明 |
---|---|---|
table | str | 表名,只支持单表查询. 具体表名及 fields 字段名及 filter 可过滤的字段参考 财务数据文档 |
symbols | str or list | 标的代码, 多个代码可用 , (英文逗号)分割, 也支持 ['symbol1', 'symbol2'] 这种列表格式,使用时参考symbol ,免费版本只支持单个标的,多标的只返回第一个 |
start_date | str | 开始时间, (%Y-%m-%d 格式) |
end_date | str | 结束时间, (%Y-%m-%d 格式) |
fields | str | 查询字段 (必填) |
filter | str | 查询过滤,使用方法参考例 3. 例 4 |
order_by | str or None | 排序方式, 默认 None . TCLOSE 表示按 TCLOSE 升序排序. -TCLOSE 表示按 TCLOSE 降序排序. TCLOSE, -NEGOTIABLEMV 表示按 TCLOSE 升序, NEGOTIABLEMV 降序综合排序 |
limit | int | 数量. 默认是1000 , 为保护服务器, 单次查询最多返回 40000 条记录 |
df | bool | 是否返回 dataframe 格式, 默认 False, 返回 list[dict] |
返回值:
key | value 类型 | 说明 |
---|---|---|
symbol | str | 标的代码 |
pub_date | datetime.datetime | 公司发布财报的日期. |
end_date | datetime.datetime | 财报统计的季度的最后一天. |
fields | dict | 相应指定查询 fields 字段的值. 字典 key 值请参考 财务数据文档 |
示例:
例 1: 取股票代码 SHSE.600000, SZSE.000001
, 离 2017-01-01
最近一个交易日的 股票交易财务衍生表的 TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI
字段的值
get_fundamentals(table='trading_derivative_indicator', symbols='SHSE.600000, SZSE.000001', start_date='2017-01-01', end_date='2017-01-01', fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI', df=True)
输出:
symbol pub_date end_date NEGOTIABLEMV PEMRQ PELFYNPAAEI PETTMNPAAEI PELFY TURNRATE PETTM TOTMKTCAP TCLOSE
SHSE.600000 2016-12-30 00:00:00 2016-12-30 00:00:00 3.3261e+11 6.4605 7.0707 6.6184 6.925 0.0598 6.4746 3.50432e+11 16.21
SZSE.000001 2016-12-30 00:00:00 2016-12-30 00:00:00 1.33144e+11 6.2604 7.1341 6.2644 7.1462 0.2068 6.8399 1.56251e+11 9.1
例 2: 取股票代码 SHSE.600000, SZSE.000001
, 指定时间段 2016-01-01 -- 2017-01-01
股票交易财务衍生表 的 TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI
字段的值
get_fundamentals(table='trading_derivative_indicator', symbols='SHSE.600000, SZSE.000001', start_date='2016-01-01', end_date='2017-01-01',
fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI', df=True)
例 3: 取指定股票 SHSE.600000, SHSE.600001, SHSE.600002
离 2017-01-01
最近一个交易日, 且满足条件 PCTTM > 0 and PCTTM < 10
股票交易财务衍生表 的 TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI
字段的值
get_fundamentals(table='trading_derivative_indicator', symbols='SHSE.600000, SHSE.600001, SHSE.600002', start_date='2017-01-01', end_date='2017-01-01', filter='PCTTM > 0 and PCTTM < 10',
fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI', df=True)
# 或者这样写
my_symbols = ['SHSE.600000', 'SHSE.600001', 'SHSE.600002']
get_fundamentals(table='trading_derivative_indicator', start_date='2017-01-01', end_date='2017-01-01', filter='PCTTM > 0 and PCTTM < 10', symbols=my_symbols,
fields='TCLOSE,NEGOTIABLEMV,TOTMKTCAP,TURNRATE,PELFY,PETTM,PEMRQ,PELFYNPAAEI,PETTMNPAAEI', df=True)
例 4: 取指定股票 SHSE.600000, SZSE.000001
离 2016-01-20
最近一个财报, 同时满足条件 CURFDS > 0 and TOTLIABSHAREQUI > 0
的 资产负债 的数据
get_fundamentals(table='balance_sheet', start_date='2016-01-20', end_date='2016-01-20',
fields='CURFDS, SETTRESEDEPO, PLAC, TRADFINASSET, ',
symbols='SHSE.600000, SZSE.000001',
filter='CURFDS > 0 and TOTLIABSHAREQUI > 0',
df=True)
# 或者这样写
my_symbols = ['SHSE.600000', 'SZSE.000001']
get_fundamentals(table='balance_sheet', start_date='2016-01-20', end_date='2016-01-20',
fields='CURFDS, SETTRESEDEPO, PLAC, TRADFINASSET, ',
symbols=my_symbols,
filter='CURFDS > 0 and TOTLIABSHAREQUI > 0',
df=True)
注意:
1. 当 start_date
== end_date
时, 取所举每个股票离 end_date
最近业务日期(交易日期或报告日期) 一条数据,当 start_date
< end_date
时, 取指定时间段的数据,当 start_date
> end_date
时, 返回空list/空DataFrame
2. 当不指定排序方式时,返回的list/DataFrame
以参数pub_date/end_date
来排序
3. start_date 和 end_date 中月,日均可以只输入个位数,例:'2010-7-8'
或'2017-7-30'
4. 若输入包含无效标的代码,则返回的list/DataFrame
只包含有效标的代码对应的数据
5. 在该函数中,table 参数只支持输入一个表名,若表名输入错误或以'table1,table2'
方式输入多个表名,函数返回空list/空DataFrame
6. 若表名输入正确,但查询字段中出现非指定字符串,则程序直接报错
get_fundamentals_n
- 查询基本面数据最新 n 条
取指定股票的最近 end_date
的 count
条记录
此函数掘金公版(体验版/专业版/机构版)不支持,请切换到stk_get_fundamentals_balance_pt - 查询资产负债表截面数据等新接口
函数原型:
get_fundamentals_n(table, symbols, end_date, fields=None, filter=None, order_by=None, count=1, df=False)
参数:
参数名 | 类型 | 说明 |
---|---|---|
table | str | 表名,只支持单表查询. 具体表名及 fields 字段名及 filter 可过滤的字段参考 财务数据文档 |
symbols | str | 标的代码, 多个代码可用 , (英文逗号)分割, 也支持 ['symbol1', 'symbol2'] 这种列表格式& |