3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 PTrade 量化交易平台中,set_commission 函数用于在回测模块中设置佣金费率,以便更真实地模拟交易成本。
set_commission 支持的交易类型根据 PTrade API 文档,set_commission 函数的 type 参数目前支持以下三种交易类型:
如果不显式调用 set_commission 进行设置,PTrade 会采用以下默认费率:
注意:回测手续费计算公式为:手续费 = 佣金费 + 经手费。其中,经手费率为万分之 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
通过这种方式,您可以根据实际券商的费率标准,精确配置回测环境中的交易成本,从而提高回测结果的可靠性。