Welcome to Backtrade documentation!

Installation & Usage

Backtrade

CI Status Documentation Status Test coverage percentage

Poetry black pre-commit

PyPI Version Supported Python versions License

A small Python package for backtesting.

Installation

Install this via pip (or your favourite package manager):

pip install backtrade

Usage

from backtrade import Backtester, CloseData, LimitOrder, MarketOrder, _IndexType

# Define my strategy
class MyBacktest(Backtester):
    def init(self):
        pass

    def next(
        self, close_data: "CloseData[_IndexType]", row: "Series[Any]"
    ) -> "Iterable[Union[MarketOrder, LimitOrder]]":
        yield MarketOrder(size=1 / close_data.close)
        yield MarketOrder(size=-1 / close_data.close)

# Run backtest and plot results
bt = MyBacktest()
bt(df, maker_fee=-0.025 * 0.01, taker_fee=0.001).plot()

Contributors ✨

Thanks goes to these wonderful people (emoji key):

34j
34j

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

This package was created with Copier and the browniebroke/pypackage-template project template.