🚀 AI 一键生成 ptrade 策略代码

ptrade量化平台如何使用限价单(指定价格下单)?附代码示例

ptrade | 发布时间: 2026/5/21
以下内容由 EasyQuant 生成。

问题描述

ptrade如何以指定价格下单?

/

解决方案

在 ptrade 量化交易平台中,以指定价格下单(即下限价单)非常简单。平台提供了一系列下单函数,这些函数通常都包含一个 limit_price 参数,专门用于设置买卖的限价。

以下是几种常见的指定价格下单方法及代码示例:

1. 基础限价单:使用 limit_price 参数

ptrade 中最常用的下单函数如 orderorder_targetorder_value 等,均支持通过传入 limit_price 参数来实现限价委托。

按数量限价买卖 (order)

order(security, amount, limit_price=None) 函数用于买卖指定数量的标的。

def initialize(context):
    g.security = '600570.SS'
    set_universe(g.security)

def handle_data(context, data):
    # 以 39.00 元的价格,限价买入 100 股恒生电子
    order(g.security, 100, limit_price=39.00)
    
    # 以 45.00 元的价格,限价卖出 100 股恒生电子
    order(g.security, -100, limit_price=45.00)

指定目标数量限价买卖 (order_target)

order_target(security, amount, limit_price=None) 用于买卖股票,直到持仓数量达到指定的 amount

def handle_data(context, data):
    # 以 39.00 元的限价,买入/卖出股票,使最终持仓达到 1000 股
    order_target('600570.SS', 1000, limit_price=39.00)

指定目标价值限价买卖 (order_value / order_target_value)

  • order_value(security, value, limit_price=None):买卖指定价值的股票。
  • order_target_value(security, value, limit_price=None):调整持仓市值到指定价值。
def handle_data(context, data):
    # 以 39.00 元的限价,买入价值 10000 元的股票
    order_value('600570.SS', 10000, limit_price=39.00)

2. Tick 级别的高频限价单

如果你在编写 Tick 级别的策略(使用 tick_data 函数),需要使用专门的 order_tick 函数。

order_tick(sid, amount, priceGear='1', limit_price=None) 允许你指定盘口档位或具体价格。

def tick_data(context, data):
    security = '600570.SS'
    # 以 56.5 元的指定价格下买单,买入 100 股
    # 注意:当传入 limit_price 时,下单价格以 limit_price 为准,忽略 priceGear
    order_tick(security, 100, limit_price=56.5)

3. 盘后固定价委托

对于科创板或创业板等支持盘后固定价交易的标的,可以使用 after_trading_order 函数。

after_trading_order(security, amount, entrust_price)

def handle_data(context, data):
    # 在盘后交易时段,以 40.00 元的固定价格委托买入 200 股
    after_trading_order('300001.SZ', 200, 40.00)

⚠️ 重要注意事项

  1. 价格精度:股票的价格精度通常为小数点后两位(如 39.00),而可转债、ETF、LOF 的价格精度为小数点后三位。传入 limit_price 时务必注意小数位数,否则可能导致柜台拒单。
  2. 默认行为:在交易场景中,如果调用 order 等函数时不传入 limit_price,系统会默认使用行情快照的最新价进行报单(市价单模拟)。
  3. 价格笼子:在实盘交易中,限价单的价格必须符合交易所的“价格笼子”规定(如科创板/创业板的 2% 限制),超出限制的限价单可能会被直接作为废单处理。