3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 A 股市场中,科创板(688开头的股票)与创业板(300开头的股票)支持盘后固定价格交易。ptrade 提供了专属的 API 接口 after_trading_order 和 after_trading_cancel_order 来满足盘后交易需求。
after_trading_orderafter_trading_order(security, amount, entrust_price)
'300001.SZ'。order_id),若失败则返回 None。after_trading_cancel_orderafter_trading_cancel_order(order_param)
order_id。以下策略展示了如何在盘后阶段(15:00 - 15:30)通过定时任务获取收盘价并进行盘后固定价委托及撤单操作:
import time
def initialize(context):
# 设置标的为创业板股票
g.security = "300001.SZ"
set_universe(g.security)
# 设定在 15:15 触发盘后交易逻辑
run_daily(context, order_test, time="15:15")
g.flag = False
def order_test(context):
# 1. 获取行情快照以拿到最新收盘价
snapshot = get_snapshot(g.security)
if snapshot and g.security in snapshot:
last_px = snapshot[g.security].get("last_px", 0)
if last_px > 0:
# 2. 盘后固定价委托买入 200 股
order_id = after_trading_order(g.security, 200, float(last_px))
log.info("盘后委托已提交,订单ID: %s" % order_id)
# 3. 模拟等待后撤单(根据策略需求操作)
time.sleep(5)
if order_id:
after_trading_cancel_order(order_id)
log.info("已发送撤单申请,订单ID: %s" % order_id)
def handle_data(context, data):
pass
after_trading_order 与 after_trading_cancel_order 接口仅支持在 Ptrade 客户端交易模块 中运行,回测环境不可用。entrust_price 为必传参数,通常需传入当日收盘价格,限制精度的股票请按小数点后两位传入。after_trading_order 报单后,建议记录订单状态或设置标志位,避免在循环或回调中重复下单。