问题描述
在实盘交易中想设置滑点
解决方案
根据 PTrade API 文档,滑点函数不能在交易模块(实盘交易)中使用。
1. 接口使用场景说明
在 PTrade 中,用于设置滑点的两个主要函数是:
set_fixed_slippage()(设置固定滑点)set_slippage()(设置滑点比例)
这两个函数的使用场景均明确标注为:仅在回测模块可用。
2. 为什么实盘交易不能设置滑点?
滑点(Slippage)是指委托价格与实际成交价格之间的价差。在回测环境中,为了让历史数据回测更逼近真实的交易环境,我们需要人为地“模拟”这种价差,因此需要使用滑点函数来设置。
而在**实盘交易(交易模块)**中,您的订单是直接报送到券商柜台并进入交易所撮合系统的。实际的成交价格完全由当时市场的真实买卖盘(流动性)决定,是客观发生的,因此无法也无需通过代码去“设置”滑点。
3. 实盘交易中如何控制滑点?
虽然不能“设置”滑点,但您可以通过调整下单方式来“控制”实盘中的滑点风险:
- 使用限价单 (Limit Order):在使用
order()、order_target()等函数时,传入limit_price参数。这样可以确保成交价格不会劣于您设定的价格,从而严格控制滑点,但代价是可能无法完全成交。 - 合理选择市价单类型:如果使用
order_market()进行市价委托,可以通过market_type参数选择合适的市价单类型(如:最优五档即时成交剩余撤销等),以避免在极端行情下以偏离预期过远的价格成交。 - 关注盘口流动性:在下单前,可以通过
get_gear_price()或get_snapshot()获取实时的盘口档位数据,根据买卖一档的挂单量来决定您的委托数量和价格,避免大单直接击穿盘口造成巨大滑点。