Backtest trading strategies in Python
Project description
Backtesting.py
Backtest trading strategies with Python.
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):
Close = self.data.Close
self.ma1 = self.I(SMA, Close, 10)
self.ma2 = self.I(SMA, Close, 20)
def next(self):
if crossover(self.ma1, self.ma2):
self.buy()
elif crossover(self.ma2, self.ma1):
self.sell()
bt = Backtest(GOOG, SmaCross,
cash=10000, commission=.002)
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 [%] 94.29
Equity Final [$] 69665.12
Equity Peak [$] 69722.15
Return [%] 596.65
Buy & Hold Return [%] 703.46
Max. Drawdown [%] -33.61
Avg. Drawdown [%] -5.68
Max. Drawdown Duration 689 days 00:00:00
Avg. Drawdown Duration 41 days 00:00:00
# Trades 93
Win Rate [%] 53.76
Best Trade [%] 56.98
Worst Trade [%] -17.03
Avg. Trade [%] 2.44
Max. Trade Duration 121 days 00:00:00
Avg. Trade Duration 32 days 00:00:00
Expectancy [%] 6.92
SQN 1.77
Sharpe Ratio 0.22
Sortino Ratio 0.54
Calmar Ratio 0.07
_strategy SmaCross
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Backtesting-0.1.5.tar.gz
(159.1 kB
view details)
File details
Details for the file Backtesting-0.1.5.tar.gz
.
File metadata
- Download URL: Backtesting-0.1.5.tar.gz
- Upload date:
- Size: 159.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a380082c0c6c658d0ac9aaa6ebed08f97bf920caad6b9c70c67829ad2ae7bbef |
|
MD5 | 757061c0757ccad2405c2ef75fe0ec00 |
|
BLAKE2b-256 | 913afa9b47e764931a5b9fb0aa7c9510d5af48366b4554f2b1572ce1599a9517 |