All Projects → kernc → Backtesting.py

kernc / Backtesting.py

Licence: agpl-3.0
🔎 📈 🐍 💰 Backtest trading strategies in Python.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Backtesting.py

AutoTrader
A Python-based development platform for automated trading systems - from backtesting to optimisation to livetrading.
Stars: ✭ 227 (-79.8%)
Mutual labels:  trading, forex, trading-strategies, trading-algorithms, stocks, algorithmic-trading
Turingtrader
The Open-Source Backtesting Engine/ Market Simulator by Bertram Solutions.
Stars: ✭ 132 (-88.26%)
Mutual labels:  trading, algorithmic-trading, trading-strategies, trading-algorithms, stocks
Ta4j
A Java library for technical analysis.
Stars: ✭ 948 (-15.66%)
Mutual labels:  trading, trading-strategies, trading-algorithms, stocks, forex
Jesse
An advanced crypto trading bot written in Python
Stars: ✭ 1,038 (-7.65%)
Mutual labels:  trading, algorithmic-trading, trading-strategies, trading-algorithms, framework
Blankly
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Stars: ✭ 1,456 (+29.54%)
Mutual labels:  trading, trading-strategies, stocks, investment
Ta4j Origins
A Java library for technical analysis ***Not maintained anymore, kept for archival purposes, see #192***
Stars: ✭ 354 (-68.51%)
Mutual labels:  trading, trading-strategies, trading-algorithms, forex
awesome-pinescript
A Comprehensive Collection of Everything Related to Tradingview Pine Script.
Stars: ✭ 563 (-49.91%)
Mutual labels:  trading, trading-strategies, trading-algorithms, algorithmic-trading
Stocksharp
Algorithmic trading and quantitative trading open source platform to develop trading robots (stock markets, forex, crypto, bitcoins, and options).
Stars: ✭ 4,601 (+309.34%)
Mutual labels:  trading, trading-strategies, stocks, forex
Socktrader
🚀 Websocket based trading bot for 💰cryptocurrencies 📈
Stars: ✭ 152 (-86.48%)
Mutual labels:  trading, algorithmic-trading, trading-strategies, trading-algorithms
roq-samples
How to use the Roq C++20 API for Live Cryptocurrency Algorithmic and High-Frequency Trading as well as for Back-Testing and Historical Simulation
Stars: ✭ 119 (-89.41%)
Mutual labels:  trading, trading-strategies, trading-algorithms, algorithmic-trading
Quantdom
Python-based framework for backtesting trading strategies & analyzing financial markets [GUI ]
Stars: ✭ 449 (-60.05%)
Mutual labels:  trading, algorithmic-trading, trading-strategies, investment
Algotrading
Algorithmic trading framework for cryptocurrencies.
Stars: ✭ 249 (-77.85%)
Mutual labels:  trading, algorithmic-trading, trading-algorithms, framework
Ta Rs
Technical analysis library for Rust language
Stars: ✭ 248 (-77.94%)
Mutual labels:  trading, trading-strategies, trading-algorithms, stocks
Metatrader
Expert advisors, scripts, indicators and code libraries for Metatrader.
Stars: ✭ 99 (-91.19%)
Mutual labels:  trading, forex, trading-strategies, trading-algorithms
Gym Anytrading
The most simple, flexible, and comprehensive OpenAI Gym trading environment (Approved by OpenAI Gym)
Stars: ✭ 627 (-44.22%)
Mutual labels:  trading, trading-algorithms, stocks, forex
Openalgo
💹 openAlgo is a public repository for various work product relavant to algorithms and the high frequency low latency electronic trading space with a bias toward market microstructure as well as exchange traded futures and options.
Stars: ✭ 158 (-85.94%)
Mutual labels:  trading, algorithmic-trading, trading-strategies, trading-algorithms
quick trade
convenient script for trading with python.
Stars: ✭ 63 (-94.4%)
Mutual labels:  trading, trading-strategies, trading-algorithms, algorithmic-trading
Roq Api
API for algorithmic and high-frequency trading
Stars: ✭ 132 (-88.26%)
Mutual labels:  trading, algorithmic-trading, trading-strategies, trading-algorithms
Sequence-to-Sequence-Learning-of-Financial-Time-Series-in-Algorithmic-Trading
My bachelor's thesis—analyzing the application of LSTM-based RNNs on financial markets. 🤓
Stars: ✭ 64 (-94.31%)
Mutual labels:  trading, forex, trading-algorithms, algorithmic-trading
Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
Stars: ✭ 5,675 (+404.89%)
Mutual labels:  trading-strategies, trading-algorithms, forex, trading

Backtesting.py

Build Status Code Coverage Backtesting on PyPI PyPI downloads GitHub Sponsors

Backtest trading strategies with Python.

Project website

Documentation

Star the project if you use it.

Installation

$ pip install backtesting

Usage

from backtesting import Backtest, Strategy
from backtesting.lib import crossover

from backtesting.test import SMA, GOOG


class SmaCross(Strategy):
    def init(self):
        price = self.data.Close
        self.ma1 = self.I(SMA, price, 10)
        self.ma2 = self.I(SMA, price, 20)

    def next(self):
        if crossover(self.ma1, self.ma2):
            self.buy()
        elif crossover(self.ma2, self.ma1):
            self.sell()


bt = Backtest(GOOG, SmaCross, commission=.002,
              exclusive_orders=True)
stats = bt.run()
bt.plot()

Results in:

Start                     2004-08-19 00:00:00
End                       2013-03-01 00:00:00
Duration                   3116 days 00:00:00
Exposure Time [%]                       94.27
Equity Final [$]                     68935.12
Equity Peak [$]                      68991.22
Return [%]                             589.35
Buy & Hold Return [%]                  703.46
Return (Ann.) [%]                       25.42
Volatility (Ann.) [%]                   38.43
Sharpe Ratio                             0.66
Sortino Ratio                            1.30
Calmar Ratio                             0.77
Max. Drawdown [%]                      -33.08
Avg. Drawdown [%]                       -5.58
Max. Drawdown Duration      688 days 00:00:00
Avg. Drawdown Duration       41 days 00:00:00
# Trades                                   93
Win Rate [%]                            53.76
Best Trade [%]                          57.12
Worst Trade [%]                        -16.63
Avg. Trade [%]                           1.96
Max. Trade Duration         121 days 00:00:00
Avg. Trade Duration          32 days 00:00:00
Profit Factor                            2.13
Expectancy [%]                           6.91
SQN                                      1.78
_strategy              SmaCross(n1=10, n2=20)
_equity_curve                          Equ...
_trades                       Size  EntryB...
dtype: object

plot of trading simulation

Find more usage examples in the documentation.

Features

  • Simple, well-documented API
  • Blazing fast execution
  • Built-in optimizer
  • Library of composable base strategies and utilities
  • Indicator-library-agnostic
  • Supports any financial instrument with candlestick data
  • Detailed results
  • Interactive visualizations

Alternatives

See alternatives.md for a list of alternative Python backtesting frameworks and related packages.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].