🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

PTrade量化平台set_limit_mode函数:回测不限流设置指南

ptrade | 发布时间: 2026/6/3
以下内容由 EasyQuant 生成。

问题描述

PTrade中set_limit_mode函数如何设置不限流?

想让回测不受成交量限制

解决方案

在 PTrade 量化平台中,如果你希望在回测时不受真实市场成交量的限制(即不限流),可以通过在 initialize 初始化函数中调用 set_limit_mode 函数,并将其参数设置为 'UNLIMITED' 来实现。

函数说明

set_limit_mode(limit_mode='LIMIT')

  • 使用场景:仅在回测模块可用。
  • 接口说明:用于设置回测的成交数量限制模式。对于月度调仓等低频策略,对流动性冲击不是很敏感,不做成交量限制可以让回测更加便捷。

参数详解

  • limit_mode (str):设置成交数量限制模式,控制回测撮合交易时对成交数量是否做限制。
    • 'LIMIT':默认值,限制成交数量(受真实市场成交量影响)。
    • 'UNLIMITED'不限制成交数量(即你所需要的不限流模式)。

代码示例

以下是一个完整的策略示例,展示了如何设置回测不限流:

def initialize(context):
    # 设置我们要操作的股票
    g.security = '600570.SS'
    set_universe(g.security)
    
    # 核心设置:回测中不限制成交数量
    set_limit_mode('UNLIMITED')

def handle_data(context, data):
    # 在不限流模式下,这里的委托数量即使超过了真实市场的成交量,也会被全部撮合成交
    order(g.security, 1000000) 

⚠️ 注意事项

  1. 仅限回测:此函数仅在回测环境中生效,实盘交易中订单始终受限于交易所的实际盘口和成交量。
  2. 脱离真实流动性:设置为 'UNLIMITED' 后,实际撮合成交量是可以大于该时间段的实际成交总量的。这虽然方便了低频策略(如按月调仓)的回测,但对于高频策略或资金量极大的策略,可能会导致回测结果严重失真(忽略了流动性冲击和滑点)。请根据你的策略类型谨慎使用。