问题描述
不知道滑点值设置为多少合适
解决方案
在 PTrade 量化平台中,set_fixed_slippage 函数用于在回测环境中设置固定滑点。滑点是真实交易中不可避免的现象,合理设置滑点能让回测结果更贴近真实情况。
set_fixed_slippage 函数参数说明
该函数只有一个参数:
fixedslippage(float): 固定滑点值。它表示委托价格与最终成交价格之间的固定价差。默认值为0.0。
计算公式:
最终的成交价格 = 委托价格 ± (fixedslippage / 2)
参数设置示例
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
# 将滑点设置为固定的0.02元
# 假设原本买入交易的成交价为10元,则设置之后成交价将变成10.01元 (10 + 0.02/2)
set_fixed_slippage(fixedslippage=0.02)
def handle_data(context, data):
pass
滑点值设置为多少合适?
滑点值的设置没有绝对的标准,它取决于你交易的标的、策略的频率以及市场的流动性。以下是一些建议:
- 股票交易:
- 对于流动性好、盘口价差小的大盘股(如沪深300成分股),滑点可以设置得较小,例如
0.01或0.02元。 - 对于流动性较差、盘口价差大的中小盘股,滑点应适当调大,例如
0.02到0.05元,甚至更高。
- 对于流动性好、盘口价差小的大盘股(如沪深300成分股),滑点可以设置得较小,例如
- 策略频率:
- 高频策略: 对滑点非常敏感。如果你的策略是日内高频交易,滑点设置过小会导致回测收益虚高,建议根据实际盘口价差进行保守估计。
- 低频策略: 如月度调仓策略,对滑点相对不敏感,可以设置一个适中的值,如
0.02元。
- 参考最小报价单位:
- A股股票的最小报价单位是
0.01元。通常,将fixedslippage设置为0.02(即买卖各滑0.01元)是一个比较常见且保守的做法。
- A股股票的最小报价单位是
总结:
为了让回测结果更具参考价值,建议在初期将滑点设置得稍微保守一些(即偏大一点),例如 fixedslippage=0.02。在实盘运行一段时间后,可以根据实际的滑点情况,再回到回测环境中对该参数进行微调。