问题描述
get_stock_info的field参数可以指定哪些字段,是否可以获取股票的财务数据?
解决方案
在 ptrade 量化平台中,get_stock_info 函数主要用于获取股票、可转债、ETF 等的基础信息。
get_stock_info 的 field 参数支持的字段
field 参数用于指明数据结果集中所需输出的字段,支持传入单个字符串或字符串列表。目前支持的字段包括:
stock_name:股票代码对应的公司名(字符串类型)。listed_date:股票上市日期(字符串类型,格式如 '2003-12-16')。de_listed_date:股票退市日期。若未退市,则返回 '2900-01-01'(字符串类型)。
注意:如果 field 参数不填或传入 None,默认只会返回 stock_name 字段,不会返回上市和退市日期。
是否可以获取股票的财务数据?
不可以。get_stock_info 函数仅用于获取上述的基础信息(名称、上市/退市日期)。
如果您需要获取股票的财务数据(如资产负债表、利润表、现金流量表、估值数据等),需要使用专门的财务数据获取函数:get_fundamentals。
代码示例
1. 使用 get_stock_info 获取基础信息
def initialize(context):
g.security = ['600570.SS', '000001.SZ']
set_universe(g.security)
def handle_data(context, data):
# 获取多支股票的全部基础信息
stock_infos = get_stock_info(g.security, ['stock_name', 'listed_date', 'de_listed_date'])
log.info(stock_infos)
# 输出示例: {'600570.SS': {'stock_name': '恒生电子', 'listed_date': '2003-12-16', 'de_listed_date': '2900-01-01'}, ...}
2. 使用 get_fundamentals 获取财务数据
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 获取恒生电子前一交易日的市净率 (pb) 和 动态市盈率 (pe_dynamic)
val_data = get_fundamentals(g.security, 'valuation', fields=['pb', 'pe_dynamic'])
log.info(val_data)
总结来说,区分好基础信息和财务数据的获取接口,能够帮助您在 ptrade 平台上更高效地编写策略。