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.5.tar.gz (370.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

backtide-0.1.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (22.0 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

backtide-0.1.5-cp314-cp314-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.14Windows x86-64

backtide-0.1.5-cp314-cp314-manylinux_2_28_x86_64.whl (22.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

backtide-0.1.5-cp314-cp314-macosx_11_0_arm64.whl (17.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

backtide-0.1.5-cp313-cp313-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.13Windows x86-64

backtide-0.1.5-cp313-cp313-manylinux_2_28_x86_64.whl (21.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

backtide-0.1.5-cp313-cp313-macosx_11_0_arm64.whl (17.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

backtide-0.1.5-cp312-cp312-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.12Windows x86-64

backtide-0.1.5-cp312-cp312-manylinux_2_28_x86_64.whl (21.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

backtide-0.1.5-cp312-cp312-macosx_11_0_arm64.whl (17.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

backtide-0.1.5-cp311-cp311-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.11Windows x86-64

backtide-0.1.5-cp311-cp311-manylinux_2_28_x86_64.whl (22.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

backtide-0.1.5-cp311-cp311-macosx_11_0_arm64.whl (17.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: backtide-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 1fbfe70f26229a2dc649b7d8c0ffc4e420140d0c8899b7e178727f9704803733
MD5 e814ad176c37844c279a722964cfd27a
BLAKE2b-256 8550b72bbc5dc98cfac867c158a4b768dcf71c6289b921219ba2a563dec89165

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: backtide-0.1.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 22.0 MB
  • Tags: PyPy, manylinux: glibc 2.28+ x86-64
  • 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.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73c4e79a4b7e577b67a04f58ff5bb2e5af9d5fb350b91e6b1d78e32714fe5e1f
MD5 0463e124724737edadfa86dc126fa741
BLAKE2b-256 d05318c86256dbb9ca38c5c4302da6664f91094e56aada240a77cbec8de67067

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 15.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • 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.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 cb76178db1b8c5d9cb4ea0bc5765d6cd5bc0a7f4410b0dc585b4c4c0871e3be2
MD5 ed40ccd524de228e58d68f527fee48b2
BLAKE2b-256 66a76101625e56c4aff215246607c728b68bdeab5b0ad16900d16ffb20598ff9

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp314-cp314-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 22.0 MB
  • Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64
  • 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.5-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77bd4fa72bea20f39e10d3b6383885c0bde8af598932dac11bb72ce99b6855fb
MD5 4889545b96c36b7c0f11bf79c53cc411
BLAKE2b-256 c80a00f2d46b1cb73299274c0e5f72cd064f606eac65b78d28472d9eda5d8d8d

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 17.7 MB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • 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.5-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c246add3a25cdf234094e4d62130c8140b047638c9e072576eadecbd1b082ce1
MD5 a8ed888e313a3bfed89b9d3cb949060f
BLAKE2b-256 feaa73236cb8ade4cd22751bd50d0391291c8491f4e3dcdc10f24833b379adac

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 15.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • 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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 afb3dd48a43d4bfec84791f84039a56d1b38ef419861a65f0c4cdf7f8a94a016
MD5 e720a1ddf4ebf370c9281d24997cd1ec
BLAKE2b-256 f45224118b7ac887a100cd57d06de2acb67e7d73b94c52fa9939c3ebd34b77ba

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp313-cp313-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 21.9 MB
  • Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64
  • 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.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a1df50ca75314aef0a1ea3a3ac463f50dbd27dc4fce4a79480fbf45dbba832ec
MD5 9c6ccf7b5152ffebd65e763c3f760bf0
BLAKE2b-256 bae84b11985303e284a2a88575d8e51b2f8bb4afb189fd0afb21f60c39182b6b

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 17.7 MB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • 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.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce510462dfe6aa72cfd809290baeec0eb7e722a2864438e0543c404333197101
MD5 2f8afacedfc0fb999b5f681d0c097205
BLAKE2b-256 a4f51abd4b8e49a1be2f26240a8a3944cde4f63cdf7585ad57dbc6d5a36e4f05

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 15.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • 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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 23918745fbe6713069a3038c4c7033ab223ac7c414a315bec8ba544ae81d0839
MD5 38612fcd75ed559f11ecfdbaed0fabd1
BLAKE2b-256 eb2a74dd64c245ec17e52828e74b3c3d4080b0b3e8347f191de9c1059f55ab9b

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp312-cp312-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 21.9 MB
  • Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
  • 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.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c1d73c59b31bd16d63b0c51c81acaf14b037fb2ee60a6a246f97e6ed4a13423
MD5 a43a23252e9cf9a9ad8cc680b2aafb95
BLAKE2b-256 9549b65e10ab009dcfa78f5b0f08a7fea290b08d7a1061f6a782d5ce809c59dc

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 17.7 MB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • 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.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0db08d3b21d1cb5f34e2b360cb784fdaace6802f8d481acab78d1f2ec8f78d76
MD5 4c4a8355f42c02d4e5d13cdf7f25bc65
BLAKE2b-256 11dd31961792f145d016968e28b548621cfded362b943b856732cc2de827f2ee

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 15.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • 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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7479a6c9c35c6947998883dcfd1bac1ccd9104e4b32ba75383f349e2677a8ae9
MD5 10ac1e51f6b1738e2319ab9629de2528
BLAKE2b-256 a7b94efd8317e02d39fcd44991201ccc8a8b9567f87619f8a091d2f5566f827f

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp311-cp311-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 22.0 MB
  • Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
  • 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.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 98b16c10846979a5bd8ceeee7d27bffb46b58fabb5a768448220637345128baf
MD5 79e23c8235b42376549f68a16b62f970
BLAKE2b-256 9d4a2330fc68477e97979af5e5b39d376cc05a64769bd628a117bd0e536b8800

See more details on using hashes here.

File details

Details for the file backtide-0.1.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: backtide-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 17.7 MB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • 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.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91194737602c617568b100fa00592640292af23580c204af25709e80bc30a192
MD5 965f35ae4e7820e3fc3ab0983fd1a414
BLAKE2b-256 aabad6717dd3c0f44afbda6e4dde826f8976a24365869acb4c9838f46b0bb151

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