Skip to content

tvdboom/backtide

Repository files navigation

backtide

A refreshingly simple trading backtester for beginner retail investors


📜 Overview

General Information
Repository Project Status: Active License: MIT Downloads PyPI version
Build Publish Linting and tests codecov
Code Python uv-managed PEP8 ruff ty

Home Experiment
Results Stats
Trades Analysis

💡 Introduction

Backtide is an open-source backtesting platform for Python, built for retail investors who want to test trading ideas without drowning in complexity. A Rust-powered core keeps simulations fast, while sensible defaults let you go from raw multi-exchange data to validated strategies in just a few lines of code. Every setting can still be fine-tuned when needed, but you never have to.


❗ Why you should use Backtide?

  • Fast — Rust-powered engine runs backtests in a fraction of a second.
  • Simple — Sensible defaults mean a working backtest in minutes, not hours of configuration.
  • Flexible — Every parameter is exposed and customizable when you need full control.
  • Multi-exchange — Stocks, ETFs, forex and crypto from Yahoo, Binance, Kraken and more.
  • Batteries included — Built-in strategies and technical indicators out of the box.
  • Rich analytics — 20+ plots cover PnL, returns, drawdown and more.
  • Interactive UI — Professional UI to configure, run and analyze experiments visually.
  • Open source — MIT-licensed, community-driven and free forever.

📈 Performance

Based on comprehensive benchmarks:

Data download & storage

Operation Performance Use Case
OHLC download (1 symbol - 1m)* ~33ms Data ingestion
OHLC download (1 symbol - 1d)* ~31ms Data ingestion
Batch insert (100 bars) ~20ms Bulk processing
Batch insert (10k bars) ~45ms Bulk processing
Historical read (1000 bars) ~1.5ms Backtesting
Historical read (1M bars) ~711ms Backtesting

*Downloads hit real network endpoints. Yahoo Finance applies rate limits, so these numbers are meant as a reference, not as a real benchmark.


Backtest (11k bars)

Strategy Performance Use Case
Buy & Hold ~1.1ms Backtesting
ROC Rotation ~1.1ms Backtesting
RSRS Rotation ~1.1ms Backtesting
Multi-BB Rotation ~1.2ms Backtesting
ROC ~1.3ms Backtesting
Triple RSI Rotation ~1.5ms Backtesting
VCP ~1.5ms Backtesting
RSRS ~1.7ms Backtesting
Double Top ~2.2ms Backtesting
Momentum ~4.1ms Backtesting
SMA Naive ~4.2ms Backtesting
Alpha RSI Pro ~4.5ms Backtesting
Turtle Trading ~4.6ms Backtesting
Risk Averse ~4.9ms Backtesting
BB Mean Reversion ~5.5ms Backtesting
MACD ~6.3ms Backtesting
Adaptive RSI ~7.4ms Backtesting
SMA Crossover ~7.7ms Backtesting
Hybrid Alpha RSI ~7.9ms Backtesting
RSI ~8.8ms Backtesting

📘 Documentation

Relevant links
About Learn more about the package.
🚀 Getting started New to backtide? Here's how to get you started!
👨‍💻 User guide How to use backtide and its features.
🎛️ API Reference The detailed reference for backtide's API.
FAQ Get answers to frequently asked questions.
🔧 Contributing Do you wan to contribute to the project? Read this before creating a PR.
🌳 Dependencies Which other packages does backtide depend on?
📃 License Copyright and permissions under the MIT license.

About

A refreshingly simple trading backtester for beginner retail investors

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors

Languages