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

PTrade 中 set_commission 函数支持哪些交易类型?如何设置不同品种的佣金费率?

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

问题描述

PTrade中set_commission函数支持哪些交易类型?

想设置不同品种的佣金费率

解决方案

在 PTrade 量化交易平台中,set_commission 函数用于在回测模块中设置佣金费率,以便更真实地模拟交易成本。

set_commission 支持的交易类型

根据 PTrade API 文档,set_commission 函数的 type 参数目前支持以下三种交易类型:

  1. STOCK:普通股票买卖(默认值)。
  2. ETF:ETF 基金买卖。
  3. LOF:LOF 基金买卖。

默认佣金费率

如果不显式调用 set_commission 进行设置,PTrade 会采用以下默认费率:

  • 股票 (STOCK):每笔交易的佣金费率为万分之三(0.0003),最低扣 5 元。
  • ETF 基金:每笔交易的佣金费率为万分之八(0.0008)。
  • LOF 基金:每笔交易的佣金费率为万分之八(0.0008)。

注意:回测手续费计算公式为:手续费 = 佣金费 + 经手费。其中,经手费率为万分之 0.487。

如何设置不同品种的佣金费率

您可以在策略的 initialize 函数中多次调用 set_commission,通过指定不同的 type 参数来为不同品种设置特定的佣金费率。

接口说明

set_commission(commission_ratio=0.0003, min_commission=5.0, type="STOCK")
  • commission_ratio:佣金费率 (float)。
  • min_commission:最低交易佣金 (float)。
  • type:交易类型 (string),可选值为 "STOCK", "ETF", "LOF"

代码示例

以下示例展示了如何同时设置股票和 ETF 的佣金费率:

def initialize(context):
    # 设置股票池
    g.security = '600570.SS'
    set_universe(g.security)
    
    # 1. 设置股票的佣金费率为万分之二,最低手续费为 5 元
    set_commission(commission_ratio=0.0002, min_commission=5.0, type="STOCK")
    
    # 2. 设置 ETF 的佣金费率为万分之一,最低手续费为 1 元
    set_commission(commission_ratio=0.0001, min_commission=1.0, type="ETF")
    
    # 3. 设置 LOF 的佣金费率为万分之1.5,最低手续费为 2 元
    set_commission(commission_ratio=0.00015, min_commission=2.0, type="LOF")

def handle_data(context, data):
    pass

通过这种方式,您可以根据实际券商的费率标准,精确配置回测环境中的交易成本,从而提高回测结果的可靠性。