使用基于百分比的佣金进行Python回溯测试

使用基于百分比的佣金进行Python回溯测试,python,pandas,stocks,back-testing,Python,Pandas,Stocks,Back Testing,我正在编写一个脚本,使用bt python框架对一组股票的一些策略进行回溯测试。在bt文档()中,它说: 佣金(fn(数量)):要使用的佣金功能 所以当我运行代码时 result = bt.Backtest(strategy, data, initial_capital= 100000.00, commissions=) 我想传递一个函数,返回基于百分比的佣金,例如交易的0.5%。因为我不知道交易的规模,这可能吗?否则,如何使用一套佣金来解决这个问题?通过创建一个带有数量和价格参数的函数来解决

我正在编写一个脚本,使用bt python框架对一组股票的一些策略进行回溯测试。在bt文档()中,它说:

佣金(fn(数量)):要使用的佣金功能

所以当我运行代码时

result = bt.Backtest(strategy, data, initial_capital= 100000.00, commissions=)

我想传递一个函数,返回基于百分比的佣金,例如交易的0.5%。因为我不知道交易的规模,这可能吗?否则,如何使用一套佣金来解决这个问题?

通过创建一个带有数量和价格参数的函数来解决这个问题。因此,很容易返回基于交易成本的百分比,如下所示:

def my_comm(q, p):
    return abs(q)*p*0.0025

通过创建一个带有数量和价格参数的函数来解决这个问题。因此,很容易返回基于交易成本的百分比,如下所示:

def my_comm(q, p):
    return abs(q)*p*0.0025

这只是一个粗略的猜测,但除非价格变化太大,否则数量佣金应该与价格佣金具有相同的效果。我使用的是2000年初以来的数据,因此价格将变化很大。但我也不是以数量为基础,如何计算交易的数量?只是一个粗略的猜测,但除非价格变化太大,否则数量佣金应该与价格佣金具有相同的效果。我使用的是2000年初以来的数据,因此价格会有很大的变化。但我也不是以数量为基础,如何计算交易的数量?你知道是否有可能获得每笔交易支付的(确切的)佣金的时间序列吗?我意识到在计算
res.display()
时会考虑佣金。与未付现金一样,我们是否在所有时间点都有未付现金的时间序列?您是否知道是否有可能获得每笔交易支付的(准确的)佣金的时间序列?我意识到在计算
res.display()
时会考虑佣金。与未偿现金一样,我们是否在所有时间点都有未偿现金的时间序列?