3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,以指定价格下单(即下限价单)非常简单。平台提供了一系列下单函数,这些函数通常都包含一个 limit_price 参数,专门用于设置买卖的限价。
以下是几种常见的指定价格下单方法及代码示例:
limit_price 参数ptrade 中最常用的下单函数如 order、order_target、order_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)
如果你在编写 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)
对于科创板或创业板等支持盘后固定价交易的标的,可以使用 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)
39.00),而可转债、ETF、LOF 的价格精度为小数点后三位。传入 limit_price 时务必注意小数位数,否则可能导致柜台拒单。order 等函数时不传入 limit_price,系统会默认使用行情快照的最新价进行报单(市价单模拟)。