backtrader README

The project's README from github.com/mementum/backtrader. As one markdown file: README.md.

backtrader

.. image:: https://img.shields.io/pypi/v/backtrader.svg :alt: PyPi Version :scale: 100% :target: https://pypi.python.org/pypi/backtrader/

.. .. image:: https://img.shields.io/pypi/dm/backtrader.svg :alt: PyPi Monthly Donwloads :scale: 100% :target: https://pypi.python.org/pypi/backtrader/

.. image:: https://img.shields.io/pypi/l/backtrader.svg :alt: License :scale: 100% :target: https://github.com/backtrader/backtrader/blob/master/LICENSE .. image:: https://travis-ci.org/backtrader/backtrader.png?branch=master :alt: Travis-ci Build Status :scale: 100% :target: https://travis-ci.org/backtrader/backtrader .. image:: https://img.shields.io/pypi/pyversions/backtrader.svg :alt: Python versions :scale: 100% :target: https://pypi.python.org/pypi/backtrader/

Yahoo API Note:

[2018-11-16] After some testing it would seem that data downloads can be again relied upon over the web interface (or API v7)

Tickets

The ticket system is (was, actually) more often than not abused to ask for advice about samples.

For feedback/questions/... use the Community <https://community.backtrader.com>_

Here a snippet of a Simple Moving Average CrossOver. It can be done in several different ways. Use the docs (and examples) 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()

Including a full featured chart. Give it a try! This is included in the samples as sigsmacross/sigsmacross2.py. Along it is sigsmacross.py which can be parametrized from the command line.

Features:

Live Trading and backtesting platform written in Python.

Documentation

The blog:

Read the full documentation at:

List of built-in Indicators (122)

Python 2/3 Support

Installation

backtrader is self-contained with no external dependencies (except if you want to plot)

From pypi:

.. note:: The minimum matplotlib version is 1.4.1

An example for IB Data Feeds/Trading:

For other functionalities like: Visual Chart, Oanda, TA-Lib, check the dependencies in the documentation.

From source:

Version numbering

X.Y.Z.I

backtrader (mementum/backtrader)

Searching Database…

Что это такое?backtrader — это Python-библиотека для бэктестинга торговых стратегий: вы описываете стратегию в виде кода, прогоняете её на исторических рыночных данных и смотрите, как она показала бы себя, прежде чем рисковать реальными деньгами.
Это программа, которую нужно установить, или библиотека, с которой пишут код?Это библиотека для написания кода, а не отдельное приложение: ваши собственные скрипты на Python подключают backtrader, чтобы задавать стратегии, передавать им рыночные данные и запускать бэктесты.
Как добавить её в свой проект?Из PyPI: pip install backtrader. Либо из исходников: положите каталог backtrader из исходников внутрь своего проекта и импортируйте оттуда.
Она тянет за собой много других библиотек?По умолчанию никаких — она самодостаточна и не имеет внешних зависимостей. Необязательна только отрисовка графиков: pip install backtrader[plotting] добавляет matplotlib, причём нужна версия не ниже 1.4.1.
Есть ли подводные камни, о которых стоит знать заранее?IbPy, интерфейс к Interactive Brokers, отсутствует на PyPI, и ставить его нужно из git. Загрузка данных с Yahoo тоже какое-то время работала нестабильно — снова заработала в ноябре 2018 года через веб-интерфейс или API v7.
Откуда она может брать исторические рыночные данные?В README упоминаются загрузки с Yahoo Finance и интеграции с фидами данных Interactive Brokers (через IbPy), Visual Chart и Oanda, а также поддержка TA-Lib. У каждой интеграции свои зависимости — они перечислены в документации.
Она умеет совершать реальные сделки или только бэктестинг?Живая торговля поддерживается: в README есть пример для Interactive Brokers, охватывающий и фиды данных, и торговлю, а интеграции с Oanda и Visual Chart упоминаются там же.
Сколько в ней индикаторов?Их количество зашито прямо в номер версии: в схеме X.Y.Z.I последняя цифра I — это число индикаторов, встроенных в платформу, то есть каждый релиз сам сообщает, сколько в нём индикаторов.
Проект ещё активно развивается?Проекту пошёл 2015 год, у него около 23 500 звёзд на GitHub, но оговорка в README, что система тикетов «is (was, actually)» — «используется (точнее, использовалась)» для обратной связи, намекает, что повседневная активность поутихла; вопросы предлагается задавать в Community.
Creator
mementum
Size
21.9 MB
Stars
23.5K
Updated
CommitApr 19
Age
11y
Commits · 90 Days