Skip to main content

A refreshingly simple trading backtester for beginner retail investors

Project description

backtide

A refreshingly simple trading backtester for beginner retail investors


📜 Overview

General Information
Repository Project Status: Active License: MIT Downloads PyPI version
Build Build and release 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 a strict 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

backtide-0.1.0.tar.gz (370.3 kB view details)

Uploaded Source

File details

Details for the file backtide-0.1.0.tar.gz.

File metadata

  • Download URL: backtide-0.1.0.tar.gz
  • Upload date:
  • Size: 370.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for backtide-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3533e8d269c611948e8049b654c8a5815e2533b154a84093b62aec6002f29c03
MD5 a6695fd5832c39d31ff97ad6d3b29a1a
BLAKE2b-256 e10eb5dd9126ca4f04becf49250de6fb2e09bf6b8a332a34c973ed9f55b13cb4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page