3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,用户可以通过调用内置的 get_lucky_info 接口来查询指定时间范围内的可转债及新股中签信息。这对于需要自动管理打新资金、确认中签结果的量化策略非常实用。
get_lucky_infojz_ufx 柜台的环境不支持该函数。get_lucky_info(start_date, end_date)
start_date (str):开始日期,格式必须为 "YYYYmmdd",例如 "20220928"。end_date (str):结束日期,格式必须为 "YYYYmmdd",例如 "20220929"。返回一个列表套字典的数据结构。如果无中签信息或查询异常,则返回一个空列表 []。
每个中签信息字典包含以下字段:
stock_code (str):证券代码(如 '371002.SZ')stock_name (str):证券名称(如 'shengshang' / '崧盛发债')occur_amount (float):中签数量business_price (float):成交价格/发行价格init_date (int):交易日期/中签日期以下示例展示了如何在每日盘前准备阶段(before_trading_start)自动获取前一交易日至今日的可转债及新股中签信息:
def initialize(context):
# 初始化策略,设置操作的股票池
g.security = "600570.SS"
set_universe(g.security)
def before_trading_start(context, data):
# 获取上一个交易日日期,并转换为 YYYYmmdd 格式
pre_date = str(get_trading_day(-1)).replace("-", "")
# 获取当前回测/交易日期
current_date = context.blotter.current_dt.strftime("%Y%m%d")
log.info("开始查询中签信息,查询区间: %s 至 %s" % (pre_date, current_date))
try:
# 获取上一交易日至今天的中签信息
lucky_info = get_lucky_info(pre_date, current_date)
log.info("中签信息查询结果: %s" % lucky_info)
if lucky_info:
for info in lucky_info:
log.info("恭喜中签!代码: %s, 名称: %s, 数量: %s, 价格: %s" %
(info['stock_code'], info['stock_name'], info['occur_amount'], info['business_price']))
else:
log.info("该区间内无中签记录。")
except Exception as e:
log.error("查询中签信息出现异常: %s" % e)
def handle_data(context, data):
pass
get_lucky_info 函数在同一分钟内多次调用时,会返回当前分钟首次查询的缓存数据。jz_ufx)可能无法获取该数据。