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

PTrade回测中佣金费率是如何计算的?set_commission函数详解

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

问题描述

PTrade回测中佣金费率是如何计算的?

想了解set_commission函数的费率计算方式

解决方案

在PTrade量化交易平台的回测环境中,合理设置佣金费率对于评估策略的真实收益至关重要。PTrade提供了set_commission函数来专门处理这一设置。以下是关于佣金费率计算方式及该函数的详细解析:

一、 回测手续费计算公式

在PTrade回测中,单笔交易的总手续费由两部分组成:

总手续费 = 佣金费 + 经手费

  1. 佣金费计算

    • 公式:佣金费 = 佣金费率 * 交易总金额
    • 最低佣金限制:如果按上述公式计算出的佣金费小于您设置的最低佣金(如5元),则该笔交易的佣金费将直接按最低佣金收取。
  2. 经手费计算

    • 公式:经手费 = 经手费率 * 交易总金额
    • 固定费率:在PTrade中,经手费率固定为万分之0.487(0.0000487)。

二、 set_commission 函数详解

set_commission 函数仅在回测模块可用,且必须在 initialize (初始化) 函数中调用。

函数语法

set_commission(commission_ratio=0.0003, min_commission=5.0, type="STOCK")

参数说明

  • commission_ratio (float):佣金费率。
    • 默认值:股票每笔交易默认万分之三(0.0003),ETF基金、LOF基金默认万分之八(0.0008)。
  • min_commission (float):最低交易佣金。
    • 默认值:每笔交易最低扣5元(5.0)。
  • type (string):交易类型。
    • 默认值:"STOCK"。目前支持 "STOCK" (股票), "ETF", "LOF"

三、 策略代码示例

以下是一个在策略初始化时自定义佣金费率的完整示例:

def initialize(context):
    # 设置操作的股票池
    g.security = '600570.SS'
    set_universe(g.security)
    
    # 自定义佣金设置:
    # 将股票交易的佣金费率设置为万分之二点五 (0.00025)
    # 将单笔最低手续费设置为 3.0 元
    set_commission(commission_ratio=0.00025, min_commission=3.0, type="STOCK")

def handle_data(context, data):
    # 策略交易逻辑
    pass

四、 注意事项

  1. 真实性模拟:建议根据您实际开户券商的费率标准来设置 commission_ratiomin_commission,这样回测得出的资金曲线和收益率才更具实盘参考价值。
  2. 印花税:上述计算仅包含佣金和经手费,实际A股交易中卖出时还会产生印花税(目前为单边收取),PTrade回测引擎会自动处理印花税的扣除,无需在 set_commission 中额外设置。