问题描述
想用比例方式设置滑点
解决方案
在PTrade量化平台中,如果您希望以比例方式设置滑点,可以使用 set_slippage 函数。滑点在真实交易场景中是不可避免的,在回测中设置合理的滑点有利于让回测结果更逼近真实场景。
函数说明
set_slippage(slippage=0.1)
- 使用场景:仅在回测模块可用。
- 参数解析:
slippage(float):滑点比例。它表示委托价格与最后成交价格之间的价差比例。默认值为0.1。
滑点计算公式
这个价差是当时价格的一个百分比。例如,如果您设置 slippage = 0.2(即0.2%),在撮合成交时,委托价格会加减当时价格的0.1%(即一半)。
最终成交价格 = 委托价格 ± 委托价格 * slippage / 2
- 买入时:成交价会比委托价高(委托价格 + 委托价格 * slippage / 2)
- 卖出时:成交价会比委托价低(委托价格 - 委托价格 * slippage / 2)
Python 代码示例
您需要在策略的 initialize (初始化) 函数中调用此接口进行设置:
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
# 将滑点比例设置为0.2 (即0.2%)
# 假设买入委托价为10元,则实际成交价为 10 + 10 * 0.2 / 2 = 10.1元
set_slippage(slippage=0.2)
def handle_data(context, data):
# 策略逻辑
pass
注意事项
- 如果您想设置固定金额的滑点(例如固定加减0.02元),请使用另一个函数
set_fixed_slippage(fixedslippage=0.02)。 - 合理设置滑点可以有效评估策略在真实市场流动性下的抗冲击能力,避免回测出现“虚高”的收益。