3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化平台的回测环境中,滑点(Slippage)是模拟真实交易中委托价格与实际成交价格之间价差的重要机制。关于同时设置 set_fixed_slippage(固定滑点)和 set_slippage(百分比滑点)时的处理逻辑,以下是详细的解析与建议:
根据 ptrade 官方 API 文档,并未明确说明两者同时设置时的叠加或优先级规则。在绝大多数标准量化框架的底层实现中,滑点模型通常是单一的。因此,如果在 initialize 函数中同时调用了这两个接口,通常是后调用的函数会覆盖先调用的函数,即最后一次设置的滑点模型生效。
为了保证回测结果的准确性和逻辑的严谨性,强烈建议在策略中只选择其中一种滑点模式进行设置,避免同时使用。
set_fixed_slippage)最终成交价格 = 委托价格 ± fixedslippage / 2set_slippage)最终成交价格 = 委托价格 ± 委托价格 * slippage / 2在编写策略时,请在 initialize 函数中明确选择一种滑点模型:
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
# 【推荐做法】根据策略需求,二选一即可
# 选项 A:使用固定滑点(例如:买卖各承担 0.01 元的滑点)
# set_fixed_slippage(fixedslippage=0.02)
# 选项 B:使用百分比滑点(例如:买卖各承担千分之一的滑点)
set_slippage(slippage=0.002)
def handle_data(context, data):
pass