3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 PTrade 量化交易平台中,order_market 接口用于以市价类型进行快速下单委托。市价委托能显著提高成交速度,但在不同交易所(沪市、深市、科创板)所支持的市价类型有所不同。
order_market(security, amount, market_type, limit_price=None)
str): 股票/标的代码(如 '600570.SS' 或 '000001.SZ')。int): 交易数量。正数为买入,负数为卖出。int): 必填参数,市价委托类型编号。float): 保护限价,仅在科创板标的下单时生效。market_type 的取值范围为 0 至 5,不同市场(沪市主板、科创板、深市)支持的枚举类型区别如下:
| market_type 值 | 市价委托类型名称 | 适用市场与板块 | 功能说明 |
|---|---|---|---|
| 0 | 对手方最优价格 | 沪市科创板、深市 | 以当前盘口对手方的最优价格(买入按卖一价,卖出按买一价)申报。 |
| 1 | 最优五档即时成交剩余转限价 | 沪市主板、沪市科创板 | 依次与对手方五个最优价格档位撮合,未成交部分自动转为限价单挂单。 |
| 2 | 本方最优价格 | 沪市科创板、深市 | 以当前盘口本方的最优价格(买入按买一价,卖出按卖一价)申报。 |
| 3 | 即时成交剩余撤销 | 深市 | 立即与对手方撮合,未成交的部分自动撤销。 |
| 4 | 最优五档即时成交剩余撤销 | 沪市主板、沪市科创板、深市 | 依次与对手方五个最优价格档位撮合,未成交的部分自动撤销。 |
| 5 | 全额成交或撤销 | 深市 | 必须一次性全额成交,若无法全额成交则整单立即撤销。 |
注意事项:
market_type为必传参数,未传会导致策略报错终止。order_market不支持可转债交易。- 支持逆回购交易(卖出方向,amount 为负数,且不少于 10 张)。
交易所对于科创板股票的市价申报引入了保护限价机制:
在调用 order_market 下单科创板标的时,通过传入 limit_price 即可实现保护限价控制,防止因盘口流动性不足产生极端滑点。
以下示例展示了如何在 PTrade 的 handle_data 盘中事件中使用 order_market 接口:
def initialize(context):
# 设置交易标的(包含主板与科创板)
g.security_main = '600570.SS' # 恒生电子(主板)
g.security_kc = '688001.SS' # 华兴源创(科创板)
set_universe([g.security_main, g.security_kc])
def handle_data(context, data):
# 1. 主板股票:使用最优五档即时成交剩余撤销 (market_type=4)
order_market(g.security_main, 100, market_type=4)
# 2. 科创板股票:使用对手方最优价格 (market_type=0) 并设置保护限价 35.5 元
order_market(g.security_kc, 100, market_type=0, limit_price=35.5)