Skip to main content

Tradetropy

Tradetropy

PyPI Python versions Downloads License Tests Docs

A professional backtesting and live trading framework for algorithmic trading strategies, with first-class support for footprint analysis and market microstructure.

Write a strategy once and run it unchanged across backtest, live and replay - the engine differences are a transport detail behind the same Strategy API.

Features

  • Backtesting engine over candles or ticks with realistic order simulation.
  • Live trading over WebSockets (CCXT Pro) and MetaTrader 5.
  • Order flow and footprint: large trades, Deep Trades (L2/L3 absorption and sweeps), cumulative delta, COT, volume profile and liquidity overlays.
  • Indicator library: the classic studies plus market-structure tools, all through one declarative contract.
  • Optimization and pools, Monte Carlo robustness and interactive Bokeh plotting.
  • Data management with NumPy .npz / CSV IO built in (Parquet and HDF5 optional) and bundled sample datasets.

Installation

pip install tradetropy

The base install includes everything for backtesting, plotting and data IO. Broker integrations and Parquet are optional extras:

pip install tradetropy[mt5]       # MetaTrader 5
pip install tradetropy[ccxt]      # CCXT crypto exchanges (live + streaming)
pip install tradetropy[bybit]     # Bybit (pybit)
pip install tradetropy[parquet]   # Parquet IO (pyarrow)
pip install tradetropy[hdf5]      # HDF5 IO (PyTables; not available on Termux)
pip install tradetropy[all]       # all runtime extras

On desktop (Windows/macOS/Linux) every dependency installs as a prebuilt wheel, so no compiler is needed. Termux (Android) is the exception - the scientific stack builds from source there; see the Termux install guide.

Quickstart

Every loader in tradetropy.datasets returns ready-to-use data, so this runs with no data files or API keys:

from tradetropy import Strategy, BacktestEngine
from tradetropy.ta import SMA
from tradetropy.datasets import load_btcusd_1m


class SmaCross(Strategy):
    def init(self):
        self.btc = self.subscribe_ohlc('BTCUSD', '1m', window_size=200)
        self.fast = self.add_indicator(self.btc.close, SMA(10))
        self.slow = self.add_indicator(self.btc.close, SMA(30))

    def on_data(self):
        if self.fast[-1] > self.slow[-1]:
            if not self.sesh.positions('BTCUSD'):
                self.sesh.buy('BTCUSD', volume=1)
        else:
            for pos in self.sesh.positions('BTCUSD'):
                self.sesh.position_close(pos.ticket)


bt = BacktestEngine.by_klines(SmaCross(), data=(load_btcusd_1m(),))
bt.run()
print(bt.stats)

bt.plot() renders the full interactive chart (candles, indicators, equity, drawdown and a per-trade P&L panel). Static preview of that same chart, from the docs example - see the interactive version there (zoom, pan, hover tooltips):

Tradetropy interactive chart

More runnable scripts are in examples/.

Documentation

Full documentation - user guide and API reference - is at https://michiTrader.github.io/tradetropy/.

To build the docs locally:

pip install tradetropy[docs]
mkdocs serve

Contributing

See CONTRIBUTING.md. Development setup:

git clone https://github.com/michiTrader/tradetropy.git
cd tradetropy
uv sync
uv run pytest

Risk disclaimer

Tradetropy is provided "AS IS", without warranty of any kind. Trading financial instruments involves risk of loss of capital - you may lose part or all of your funds. Always test first on a demo / testnet / paper account and verify that orders, positions and balances behave as expected before trading with real money. Broker and exchange APIs may change without notice and break a connector. The authors and contributors are not responsible for any losses, damages or execution failures arising from the use of this software. This is not financial, investment or legal advice, and you are responsible for complying with the laws of your jurisdiction and your broker/exchange terms of service.

The full disclaimer is available at runtime as tradetropy.LIVE_DISCLAIMER.

License

MIT - see LICENSE.

Metadata

Release files for tradetropy 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tradetropy 0.3.1
File Size Uploaded
tradetropy-0.3.1.tar.gz 927.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tradetropy 0.3.1
File Interpreter ABI Platform
tradetropy-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.0 MB

Release files / tradetropy-0.3.1.tar.gz

Download URL tradetropy-0.3.1.tar.gz
Size 927.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8f8a90311bf1c7aafa17b3917473750235f7a673706c35a11152ea3b0855bd80
BLAKE2b-256 checksum
How to use checksums
2b3d11b1207c1606dc458904ee20d7fd7a01e52fe852bbce587b36de3b1cf66a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / tradetropy-0.3.1-py3-none-any.whl

Download URL tradetropy-0.3.1-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c7e06577ce16cf130b0454c7dfaedcabcf3d1e8a865a5835d4f6ba99a125cd39
BLAKE2b-256 checksum
How to use checksums
4bc9b927e52f41ec89c1c004302850559f307e7deafbea3cae28b2f4e6961c51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page