【问题标题】:Python backtest using percentage based commission使用基于百分比的佣金的 Python 回测
【发布时间】:2016-10-18 14:21:30
【问题描述】:

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

commission (fn(quantity)):要使用的佣金函数。

所以当我运行我的代码时

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

我想传递一个返回基于百分比的佣金的函数,例如交易的 0.5%。由于我不知道交易的大小,这甚至可能吗?使用固定佣金如何解决?

【问题讨论】:

  • 只是一个疯狂的猜测,但除非价格变化太大,否则数量佣金应该与价格佣金具有相同的效果。
  • 我使用的是 2000 年初以来的数据,因此价格会有很大差异。但是我也不是根据数量来管理的,我现在如何计算交易的数量?

标签: python pandas stocks back-testing


【解决方案1】:

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

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

【讨论】:

  • 您知道是否可以获得每笔交易支付的(确切)佣金的时间序列?我意识到在计算res.display() 时会考虑佣金。与未偿现金一样,我们是否在所有时间点都有未偿现金的时间序列?
猜你喜欢
  • 2016-12-23
  • 1970-01-01
  • 2019-06-03
  • 1970-01-01
  • 2013-12-24
  • 2020-12-09
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
相关资源
最近更新 更多