概述
Ptrade提供了丰富的财务数据API接口,涵盖估值、三大财务报表、财务指标分析等多个维度。以下是各接口的详细说明和使用示例。
接口通用参数说明
security: 股票代码或股票列表table_name: 数据表名称(如’valuation’, 'balance_statement’等)fields: 需要查询的字段,可以是字符串或列表date: 查询日期(格式:‘YYYYMMDD’或’YYYY-MM-DD’)start_year,end_year: 年份范围report_types: 报告类型(1=一季度,2=中报,3=三季报,4=年报)date_type: 日期类型merge_type: 合并类型
1. 估值数据 (valuation)
接口说明
get_fundamentals(security, 'valuation', fields=None, date=None)
注意事项
- 只支持按天查询模式
- 换手率(turnover_rate)和滚动股息率(dividend_ratio)返回带%的字符串,需自行转换
- date字段使用注意事项:
- 不回测中默认获取context.blotter.current_dt交易日收盘后更新的数据
- 建议使用date参数入参上一个交易日日期
示例代码
# 获取股票池
stocks = get_index_stocks('000906.XBHS')
# 或指定股票池
stocks = ['600570.SS', '000001.SZ']
# 获取估值数据
valuation_data = get_fundamentals(stocks, 'valuation')
# 获取特定日期的市净率
pb_data = get_fundamentals(stocks, 'valuation', date='20180410', fields='pb')
# 获取多个字段数据
multi_field_data = get_fundamentals(
stocks,
'valuation',
date='2018-04-24',
fields=['total_value', 'pe_dynamic', 'turnover_rate', 'pb']
)
# 处理带%的字段(转换示例)
def parse_percentage(value):
if isinstance(value, str) and '%' in value:
return float(value.strip('%')) / 100
return value
# 应用转换
if 'turnover_rate' in valuation_data.columns:
valuation_data['turnover_rate'] = valuation_data['turnover_rate'].apply(parse_percentage)
主要字段说明
| 字段名称 | 类型 | 说明 |
|---|---|---|
| trading_day | str | 交易日期 |
| total_value | str | A股总市值(元) |
| float_value | str | A股流通市值(元) |
| naps | float64 | 每股净资产(元/股) |
| secu_code | str | 证券代码 |
| pe_dynamic | str | 动态市盈率 |
| turnover_rate | str | 换手率(需转换) |
| pb | float64 | 市净率 |
| roe | float64 | 净资产收益率 |
2. 资产负债表 (balance_statement)
接口说明
get_fundamentals(security, 'balance_statement', fields, date=None,
start_year=None, end_year=None, report_types=None,
date_type=None, merge_type=None)
示例代码
# 按日期查询模式 - 获取特定日期的总资产数据
total_assets = get_fundamentals('600570.SS', 'balance_statement', 'total_assets', '20160628')
# 按年份查询模式 - 获取2013-2015年第一季度总资产数据
multi_year_data = get_fundamentals(
'600570.SS',
'balance_statement'

最低0.47元/天 解锁文章
2432

被折叠的 条评论
为什么被折叠?



