3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 A 股市场中,盘后固定价交易是避开盘中剧烈波动、以收盘价进行大额或特定交易的重要手段。ptrade 平台提供了专属的 API 接口,支持对沪深两市的股票进行盘后固定价委托与撤单控制。
entrust_price),通常为当日收盘价或指定价格。after_trading_orderafter_trading_order(security, amount, entrust_price)
security (str): 股票代码(如 '300001.SZ')。amount (int): 交易数量。正数表示买入,负数表示卖出。entrust_price (float): 委托价格(必传)。order_id (str),失败返回 None。after_trading_cancel_orderafter_trading_cancel_order(order_param)
order_param (str/Order): Order 对象或者 order_id。以下示例展示了如何在每日 15:15(盘后固定价交易时间内)获取股票最新快照价格,并进行盘后固定价委托,随后在 5 秒后执行撤单的精细化控制逻辑:
# -*- coding: utf-8 -*-
import time
def initialize(context):
# 初始化策略,设置操作的股票(以创业板特锐德为例)
g.security = "300001.SZ"
set_universe(g.security)
# 注册定时任务:在 15:15 执行盘后固定价交易逻辑
run_daily(context, post_market_trade, time="15:15")
g.has_run = False
def post_market_trade(context):
log.info("开始执行盘后固定价交易逻辑...")
# 获取目标股票的最新行情快照
snapshot = get_snapshot(g.security)
if snapshot is not None and g.security in snapshot:
# 获取最新成交价作为盘后固定价委托价
last_px = snapshot[g.security].get("last_px", 0)
if last_px > 0:
log.info("当前最新价为: %s,准备进行盘后固定价买入申报..." % last_px)
# 1. 申报:买入 200 股
order_id = after_trading_order(g.security, 200, float(last_px))
if order_id:
log.info("盘后固定价委托成功,订单编号: %s" % order_id)
# 模拟等待 5 秒后进行撤单控制
time.sleep(5)
log.info("开始对订单 %s 进行盘后撤单申报..." % order_id)
# 2. 撤单
after_trading_cancel_order(order_id)
log.info("盘后撤单指令已发送。")
else:
log.error("盘后固定价委托失败!")
else:
log.warning("未获取到有效的最新价格,无法申报。")
else:
log.warning("获取行情快照失败。")
def handle_data(context, data):
# 盘中 handle_data 保持空置,所有逻辑由 15:15 的定时任务触发
pass