介绍#

Backtrader是一个基于Python的回测/交易平台,用于开发自定义的指标和交易策略。

特点:

  • 实时数据源和交易支持

    • 交互经纪人(需要 IbPy ,并且大量依赖已安装的 pytz

    • Visual Chart (需要一个 comtypes 的分支,直到一个pull request合并到发布版本,并且依赖 pytz

    • Oanda (需要 oandapy

  • 支持从csv文件、在线数据源或 pandas 和*blaze*获取数据源

  • 数据过滤器(例如将一天的数据分成多个时间段以模拟逐日交易)

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

  • 同时支持多个时间框架

  • 集成重取样和回放功能

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

  • 集成了多种指标

  • 支持 TA-Lib 指标

  • 方便开发自定义指标

  • 分析器(例如:时间回报、夏普比率、SQN)以及与 pyfolio 的集成

  • 灵活定义佣金计划

  • 集成经纪人模拟交易功能,支持 市价、* 收盘价 、*限价止损 *和*止损限价 订单,滑点以及未来合约的连续现金调整

  • 绘图功能(需要 matplotlib

该平台有两个主要目标:

  1. 简单易用

  2. 回到1

基于 Miyagi先生 的《卡拉特(少年)》教学初级篇。

运行该平台的基础知识:- 创建一个策略

  • 决定潜在的可调参数

  • 实例化策略中所需的指标

  • 写下进入/退出市场的逻辑

或者:

  • 准备一些指标作为 多头/* 空头*信号

然后

  • 创建一个 Cerebro 引擎

    • 首先:

      • 注入*策略*

或者

  • 注入*信号*之后:

  • 加载并注入数据源

  • 执行 cerebro.run()

  • 执行 cerebro.plot() 进行可视化反馈

该平台高度可配置

希望用户能够发现该平台有用且愉快。