Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Institutional-grade repository scaffolding: issue templates, pull request template, CODEOWNERS, dependabot.yml, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md.
  • Python documentation is now built with MkDocs (Material theme + mkdocstrings) and published to GitHub Pages, replacing the previous Sphinx/Read the Docs setup.
  • Dedicated lint, tests, and docs CI workflows with status badges in the README.

Changed

2.3.0

Added

  • btengine research and realism stack:
  • analytics: historical & parametric VaR/CVaR, Monte Carlo equity-curve confidence bands, volatility-regime detection, and factor/beta exposure.
  • optimize: parallel parameter sweeps and walk-forward evaluation.
  • overfitting: deflated/probabilistic Sharpe ratio, PBO via CSCV, and combinatorial purged cross-validation.
  • friction: pluggable slippage, market impact, commissions, partial fills, latency, and per-bar swap/overnight funding costs.
  • catalog: cached, Parquet-backed data catalog (falls back to CSV without pyarrow).
  • vectorized: vectorized research fast-path (vectorized_backtest(...)) for fast hypothesis testing across full history.
  • templates: ready-made trend / mean-reversion / breakout strategy templates.
  • timeframe: on-the-fly higher-timeframe (HTF) resampling.
  • experiment: experiment/results store persisting parameters, metrics, and equity curves.
  • core/broker: venue-neutral Broker execution abstraction with an in-memory PaperBroker.
  • core/indicators: built-in vectorized SMA, EMA, RSI, ATR, Bollinger Bands, MACD, and z-score.
  • Multi-strategy support over a shared portfolio and multi-timeframe feeds in btengine.
  • Doxygen-based C++ documentation workflow with automatic GitHub Pages deployment.
  • Reproducible benchmark suite for the backtesting engine (benchmarks/).

Changed

  • Lean core install: the base pip install bbstrader no longer pulls the NLP/social/viz stacks by default; install bbstrader[nlp], bbstrader[social], bbstrader[viz], or bbstrader[all] as needed.

Earlier releases

See GitHub Releases for the full history of versions prior to 2.3.0.