问题描述
想了解佣金费率默认值
解决方案
在 PTrade 量化交易平台中,set_commission 函数用于在回测模块中设置交易的佣金费率。了解其默认参数对于准确评估策略的回测收益至关重要。
set_commission 函数的默认参数
该函数的完整签名及默认参数如下:
set_commission(commission_ratio=0.0003, min_commission=5.0, type="STOCK")
默认参数详解
-
commission_ratio(佣金费率)- 默认值:
0.0003(即万分之三)。 - 说明:默认情况下,股票每笔交易的佣金费率是万分之三。需要注意的是,如果是 ETF 基金或 LOF 基金,默认的佣金费率是万分之八(
0.0008)。
- 默认值:
-
min_commission(最低交易佣金)- 默认值:
5.0。 - 说明:默认每笔交易最低扣除 5 元佣金。如果按费率计算出的佣金不足 5 元,则按 5 元收取。
- 默认值:
-
type(交易类型)- 默认值:
"STOCK"。 - 说明:指定设置佣金的交易品种类型。目前支持
"STOCK"(股票)、"ETF"和"LOF"。
- 默认值:
回测手续费计算规则补充
在 PTrade 的回测环境中,手续费的计算公式如下:
- 手续费 = 佣金费 + 经手费
- 佣金费 = 佣金费率 * 交易总金额(若计算结果小于
min_commission,则取min_commission) - 经手费 = 经手费率(固定为万分之0.487) * 交易总金额
代码示例
如果您想修改默认的佣金设置,例如将佣金费率改为万分之二,最低佣金改为 3 元,可以在 initialize 函数中这样设置:
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
# 将股票的佣金费率设置为万分之二,最低手续费设置为3元
set_commission(commission_ratio=0.0002, min_commission=3.0, type="STOCK")
def handle_data(context, data):
pass
注意:set_commission 函数仅在回测模块中可用,实盘交易中的手续费由券商实际费率决定。