get_stock_info只返回股票名称,没有返回上市日期?
使用get_stock_info获取股票信息时,发现只返回了股票名称,没有返回上市日期,为什么?
问题描述
解决方案
在 ptrade 量化交易平台中,使用 get_stock_info 接口时如果只返回了股票名称而没有返回上市日期,是因为没有指定 field 参数。
根据 ptrade API 文档规定:
- 当
field参数不做入参(即不填)或者传入None时,接口**默认只返回stock_name(股票名称)**字段。 - 如果需要获取上市日期(
listed_date)或退市日期(de_listed_date),必须在调用时显式地通过field参数传入所需的字段列表。
解决方法
在调用 get_stock_info 时,将 field 参数设置为包含 'listed_date' 的列表即可。支持的字段包括:
stock_name:股票代码对应公司名listed_date:股票上市日期de_listed_date:股票退市日期
代码示例
def initialize(context):
g.security = ['600570.SS', '600571.SS']
set_universe(g.security)
def handle_data(context, data):
# 默认用法:只返回股票名称
stock_info_default = get_stock_info(g.security[0])
log.info("默认返回: %s" % stock_info_default)
# 输出类似: {'600570.SS': {'stock_name': '恒生电子'}}
# 正确用法:指定 field 参数获取上市日期和退市日期
stock_infos = get_stock_info(g.security, field=['stock_name', 'listed_date', 'de_listed_date'])
log.info("指定字段返回: %s" % stock_infos)
# 输出类似: {'600570.SS': {'stock_name': '恒生电子', 'listed_date': '2003-12-16', 'de_listed_date': '2900-01-01'}, ...}
通过显式传入 field=['stock_name', 'listed_date'],您就可以成功获取到股票的上市日期了。