跳转到主要内容

回测引擎

项目描述

backtrader

PyPi Version License Travis-ci Build Status Python versions

Yahoo API 注意:

[2018-11-16] 经过一些测试,似乎可以通过网络界面(或API v7)再次依赖于数据下载

票据

票据系统通常被滥用来请求有关示例的建议。

对于 反馈/问题/… 使用 社区

这里是一个简单的移动平均交叉示例。这可以通过几种不同的方式完成。使用文档(和示例)吧!

from datetime import datetime
import backtrader as bt

class SmaCross(bt.SignalStrategy):
    def __init__(self):
        sma1, sma2 = bt.ind.SMA(period=10), bt.ind.SMA(period=30)
        crossover = bt.ind.CrossOver(sma1, sma2)
        self.signal_add(bt.SIGNAL_LONG, crossover)

cerebro = bt.Cerebro()
cerebro.addstrategy(SmaCross)

data0 = bt.feeds.YahooFinanceData(dataname='MSFT', fromdate=datetime(2011, 1, 1),
                                  todate=datetime(2012, 12, 31))
cerebro.adddata(data0)

cerebro.run()
cerebro.plot()

包括一个功能齐全的图表。试一试!这包括在示例中 sigsmacross/sigsmacross2.py。旁边是 sigsmacross.py,可以从命令行进行参数化。

特性

用Python编写的实时交易和回测平台。

  • 与以下实时数据源和交易进行交互

    • Interactive Brokers(需要 IbPy 并从已安装的 pytz 中受益很大)

    • 视觉图表(需要 comtypes 的分支,直到拉取请求集成到版本中,并从 pytz 中受益很大)

    • (需要 oandapy)Oanda(仅限REST API - v20在实施时未支持流式传输)

  • 从csv文件、在线来源或从pandasblaze获取数据源

  • 数据过滤器,例如将每日K线分解成块以模拟日内或与Renko砖块一起工作

  • 支持多个数据源和多个策略

  • 一次支持多个时间框架

  • 集成重采样和回放功能

  • 逐步回测或一次性回测(策略评估除外)

  • 集成指标库

  • TA-Lib指标支持(需要python ta-lib,请参阅文档)

  • 轻松开发自定义指标

  • 分析器(例如:时间回报率、夏普比率、SQN)和pyfolio集成(已弃用)

  • 灵活定义佣金方案

  • 集成经纪商模拟,包括MarketCloseLimitStopStopLimitStopTrailStopTrailLimit和*OCO*订单,括号订单,滑点,成交量填充策略和对期货类工具的连续现金调整

  • 自动化抵押的尺寸器

  • 收盘价作弊和开盘价作弊模式

  • 调度器

  • 交易日历

  • 绘图(需要matplotlib)

文档

博客

在以下位置阅读完整文档

内置指标列表(122个)

Python 2/3支持

  • Python >= 3.2

  • 它还与 pypypypy3 兼容(不支持绘图 - 在 pypy 下不支持 matplotlib

安装

backtrader是自包含的,没有外部依赖项(除非您想进行绘图)

pypi

  • pip install backtrader

  • pip install backtrader[plotting]

    如果未安装matplotlib并且您想进行一些绘图

以下是一个IB数据源/交易的示例

  • IbPy似乎不在PyPi中。请执行以下操作之一

    pip install git+https://github.com/blampe/IbPy.git

    或者(如果系统中没有git)

    pip install https://github.com/blampe/IbPy/archive/master.zip

对于其他功能,如:Visual ChartOandaTA-Lib,请参阅文档中的依赖项。

从源代码安装

  • 将源代码中的backtrader目录放置在您的项目目录中

版本号

X.Y.Z.I

  • X: 主版本号。除非进行重大更改,如使用numpy的全面重写,否则应保持稳定。

  • Y: 次版本号。在添加完整的新功能或(上帝禁止)不兼容的API更改时更改。

  • Z: 修订版本号。在更新文档、小更改和小错误修复时更改。

  • I: 已集成到平台中的指标数量

项目详细信息


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

此发布版本没有提供源代码发行版文件。请参阅有关生成发行版存档的教程。

构建发行版

backtrader-1.9.78.123-py2.py3-none-any.whl (419.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下组织支持