Skip to main content

回测引擎

项目描述

反向交易者

派皮版本 执照 Travis-ci 构建状态 Python 版本

雅虎 API 注意

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

门票

票务系统(实际上是)经常被滥用来询问有关样品的建议。

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

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

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 编写的实时交易和回测平台。

  • 实时数据馈送和交易

    • 盈透证券(需要IbPy并从已安装的pytz 中受益匪浅

    • 视觉图表(需要一个类型的分支,直到将拉取请求集成到发布中并从pytz中受益

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

  • 来自 csv/files、在线资源或pandasblaze的数据馈送

  • 数据过滤器,例如将每日柱分成块以模拟盘中或使用 Renko 积木

  • 支持多种数据馈送和多种策略

  • 一次多个时间范围

  • 集成重采样和重放

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

  • 综合指标电池

  • TA-Lib指标支持(需要 python ta-lib / 检查文档)

  • 轻松开发自定义指标

  • 分析器(例如:TimeReturn、Sharpe Ratio、SQN)和pyfolio 集成(已弃用

  • 灵活定义佣金方案

  • 集成经纪商模拟,包括MarketCloseLimitStopStopLimitStopTrailStopTrailLimit* 和 *OCO订单、括号订单、滑点、交易量填充策略和面向未来工具的持续现金调整

  • 用于自动 Staking 的 Sizer

  • 关闭时作弊和打开时作弊模式

  • 调度器

  • 交易日历

  • 绘图(需要 matplotlib)

文档

博客:

在以下位置阅读完整文档:

内置指标列表 (122)

Python 2/3 支持

  • 蟒蛇> = 3.2

  • 它也适用于pypypypy3(不绘图 - matplotlib在pypy下不受支持)

安装

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

pypi

  • 点安装反向交易者

  • pip install backtrader [绘图]

    如果未安装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目录

版本编号

XYZI

  • X:主要版本号。应该保持稳定,除非有一些大的改变,比如使用numpy的大修

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

  • Z:修订版本号。要更改以进行文档更新、小更改、小错误修复

  • I:平台已内置的指标数量

下载文件

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

源分布

backtradermsms-1.9.75.123.tar.gz (256.0 kB 查看哈希

已上传 source

内置分布

backtradermsms-1.9.75.123-py3-none-any.whl (807.4 kB 查看哈希

已上传 py3