Skip to main content

[//]: # SSoT-OK

opendeviationbar-py

High-performance open deviation bar construction for quantitative trading, with Python bindings via PyO3/maturin.

PyPI License: MIT Python

Resource URL
PyPI https://pypi.org/project/opendeviationbar/
Repository https://github.com/terrylica/opendeviationbar-py
Performance Dashboard https://terrylica.github.io/opendeviationbar-py/
API Reference docs/api/INDEX.md
Issues https://github.com/terrylica/opendeviationbar-py/issues

Installation

pip install opendeviationbar

Pre-built wheels: Linux (x86_64), macOS (ARM64), Python 3.14. Source build requires Rust toolchain and maturin.

Quick Start

from opendeviationbar import get_open_deviation_bars

# Fetch data and generate open deviation bars in one call
df = get_open_deviation_bars("BTCUSDT", "2024-01-01", "2024-06-30")

# Use with backtesting.py
from backtesting import Backtest, Strategy
bt = Backtest(df, MyStrategy, cash=10000, commission=0.0002)
stats = bt.run()

Output: pandas DataFrame with DatetimeIndex and OHLCV columns, compatible with backtesting.py.

API Overview

Function Use Case
get_open_deviation_bars() Date-bounded, auto-fetch
get_n_open_deviation_bars() Exact N bars (ML training)
process_trades_polars() Polars DataFrames (2-3x faster)
process_trades_chunked() Large datasets (>10M trades)
populate_cache_resumable() Long ranges (>30 days)
run_sidecar() Real-time streaming sidecar
# Count-bounded (ML training)
from opendeviationbar import get_n_open_deviation_bars
df = get_n_open_deviation_bars("BTCUSDT", n_bars=10000)

# Polars (2-3x faster)
import polars as pl
from opendeviationbar import process_trades_polars
bars = process_trades_polars(pl.scan_parquet("trades.parquet"), threshold_decimal_bps=250)

# With microstructure features (57 columns: OFI, Kyle lambda, Hurst, etc.)
df = get_open_deviation_bars("BTCUSDT", "2024-01-01", "2024-06-30", include_microstructure=True)

# Real-time streaming sidecar
from opendeviationbar import run_sidecar, SidecarConfig
config = SidecarConfig(symbol="BTCUSDT", threshold_decimal_bps=250)
run_sidecar(config)

Designed for Claude Code

This repository uses a CLAUDE.md network that provides comprehensive project context for AI-assisted development via Anthropic's Claude Code CLI.

npm install -g @anthropic-ai/claude-code
cd opendeviationbar-py
claude

Claude Code reads the CLAUDE.md files automatically and understands the full architecture, API, build system, and development workflow.

Development

git clone https://github.com/terrylica/opendeviationbar-py.git
cd opendeviationbar-py
mise install          # Setup tools (Rust, Python, zig)
mise run build        # maturin develop
mise run test         # Rust tests
mise run test-py      # Python tests

Requirements

Runtime: Python >= 3.14, pandas >= 2.0, numpy >= 1.24, polars >= 1.0

Build: Rust toolchain, maturin >= 1.7

License

MIT License. See LICENSE.

Citation

@software{opendeviationbar-py,
  title = {opendeviationbar-py: High-performance open deviation bar construction for quantitative trading},
  author = {Terry Li},
  url = {https://github.com/terrylica/opendeviationbar-py}
}

Download files

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

Source Distribution

opendeviationbar-13.81.0.tar.gz (19.1 MB view details)

Uploaded Source

Built Distribution

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

opendeviationbar-13.81.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

File details

Details for the file opendeviationbar-13.81.0.tar.gz.

File metadata

  • Download URL: opendeviationbar-13.81.0.tar.gz
  • Upload date:
  • Size: 19.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for opendeviationbar-13.81.0.tar.gz
Algorithm Hash digest
SHA256 512f139bfcf656dc83be6e921f6ebd6714fd5fe3ca3518afa6292aa5231b331b
MD5 2c0bfa42b91dccae9f20d25ee94b7cb9
BLAKE2b-256 75d1a28ae1fb82675402f7278ed56c139b48191a34a62f94d1e313ac5e431996

See more details on using hashes here.

File details

Details for the file opendeviationbar-13.81.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opendeviationbar-13.81.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5addfc875269e0361f4efd4aa1dfa76ef7ab0b9f717ea74d54c6a7356af13c54
MD5 548f6a6adb58af75518bd26351a5fded
BLAKE2b-256 4b0a480577449debcc9865f185c17d496c1a83c42dfc25af3912d16a773c10c6

See more details on using hashes here.

Release history Release notifications | RSS feed

13.91.0

2 files

13.90.1

2 files

13.90.0

2 files

13.89.2

2 files

13.89.1

2 files

13.89.0

2 files

13.88.0

2 files

13.87.2

2 files

13.87.1

2 files

13.87.0

2 files

13.86.3

2 files

13.85.0

2 files

13.84.0

2 files

13.83.0

2 files

13.82.0

2 files

This release

13.81.0 This release

2 files

13.80.0

2 files

13.79.0

2 files

13.78.1

2 files

13.78.0

2 files

13.76.0

2 files

13.75.1

2 files

13.75.0

2 files

13.70.3

2 files

13.67.0

2 files

13.66.3

2 files

13.66.2

2 files

13.66.1

2 files

13.64.0

2 files

13.63.1

2 files

13.63.0

2 files

13.62.0

2 files

13.61.0

2 files

13.60.1

2 files

13.59.0

2 files

13.58.2

3 files

13.57.2

2 files

13.56.1

2 files

13.56.0

2 files

13.55.0

3 files

13.54.0

2 files

13.53.0

2 files

13.52.0

2 files

13.51.0

2 files

13.50.0

2 files

13.49.0

3 files

13.48.1

3 files

13.46.0

3 files

13.45.0

2 files

13.44.1

2 files

13.44.0

2 files

13.43.3

2 files

13.43.2

2 files

13.43.1

2 files

13.42.0

2 files

13.41.0

2 files

13.40.1

2 files

13.40.0

2 files

13.39.0

2 files

13.38.0

2 files

13.37.0

2 files

13.36.1

2 files

13.35.1

2 files

13.35.0

2 files

13.34.0

2 files

13.33.0

2 files

13.32.1

2 files

13.32.0

2 files

13.31.0

2 files

13.30.0

2 files

13.29.0

2 files

13.28.2

2 files

13.28.1

2 files

13.28.0

2 files

13.27.0

2 files

13.23.0

2 files

13.22.0

2 files

13.21.0

2 files

13.20.0

3 files

13.19.0

3 files

13.18.0

1 file

13.17.1

3 files

13.17.0

3 files

13.16.1

3 files

13.16.0

3 files

13.15.4

3 files

13.15.3

3 files

13.15.2

3 files

13.14.0

3 files

13.13.0

3 files

13.12.0

3 files

13.11.2

3 files

13.11.1

3 files

13.10.0

3 files

13.9.0

3 files

13.8.0

3 files

13.7.0

3 files

13.6.6

3 files

13.6.4

3 files

13.5.0

3 files

13.4.0

3 files

13.3.0

3 files

13.2.0

3 files

13.1.0

2 files

13.0.1

3 files

13.0.0

3 files

12.65.1

3 files

12.64.0

3 files

12.62.5

3 files

12.62.4

3 files

12.62.3

3 files

12.62.2

3 files

12.62.1

3 files

12.62.0

3 files

12.61.3

3 files

12.61.2

3 files

12.61.1

3 files

12.61.0

3 files

12.59.2

3 files

12.59.0

3 files

12.58.0

3 files

12.57.0

3 files

12.56.0

3 files

12.55.1

3 files

12.55.0

3 files

12.53.0

3 files

12.52.3

3 files

12.52.2

3 files

12.52.0

3 files

12.51.0

3 files

12.50.2

3 files

12.50.1

3 files

12.50.0

3 files

12.49.1

3 files

12.49.0

3 files

12.48.1

3 files

12.48.0

3 files

12.47.0

3 files

12.46.1

3 files

12.45.1

3 files

12.45.0

3 files

12.44.3

3 files

12.44.2

3 files

12.44.1

3 files

12.44.0

3 files

12.43.8

3 files

12.43.7

3 files

12.43.6

3 files

12.43.5

3 files

12.43.4

3 files

12.43.3

3 files

12.43.2

3 files

12.43.1

3 files

12.43.0

3 files

12.42.2

3 files

12.42.1

3 files

12.42.0

3 files

12.41.5

3 files

12.41.2

3 files

12.41.1

3 files

12.41.0

3 files

12.40.3

3 files

12.40.2

3 files

12.40.1

3 files

12.39.0

3 files

Supported by

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