release: 0.1.2

Ships parallel grid-search optimization, HTML reports, and the O(1) data
window that landed since 0.1.1.

Also tracks the sample EURUSD hourly CSV. The examples and the README's
157x benchmark all read data/EURUSD_1H.csv, which was gitignored, so none
of them ran on a fresh clone. `data/` becomes `data/*` plus a negation
because git cannot re-include a file whose parent directory is excluded.
This commit is contained in:
KhizarImran
2026-08-13 23:20:21 +01:00
parent 2c03336962
commit 1504a92abd
5 changed files with 2011 additions and 4 deletions
+2 -1
View File
@@ -4,7 +4,8 @@ Cargo.lock
__pycache__/
### My claude md file
CLAUDE.md
data/
data/*
!data/EURUSD_1H.csv
.env
.venv/
uv.lock
+6 -1
View File
@@ -1,6 +1,6 @@
# Changelog
## [Unreleased]
## [0.1.2] - 2026-08-13
### Added
- `Backtest.optimize()` — parallel grid search over a vectorised signal function.
@@ -9,10 +9,15 @@
- `strategy_class` is now optional, so `Backtest(df, cash=...)` works for optimization
- Standalone HTML reports (`Backtest.plot()`) and `examples/html_report.py`
- Three-way speed benchmark against backtesting.py (`examples/benchmark.py`)
- Sample EURUSD hourly data is now in the repo, so the examples run on a fresh clone
### Fixed
- Data access inside `next()` is O(1) per bar instead of O(n) — ~2.6x faster
### Changed
- `numpy` is now a direct dependency (it was already pulled in by pandas)
- CI runs `cargo clippy -- -D warnings` in place of `cargo check`
## [0.1.1] - 2026-07-05
### Added
+1 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "backtestingfx"
version = "0.1.1"
version = "0.1.2"
edition = "2024"
[lib]
+2001
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "maturin"
[project]
name = "backtestingfx"
version = "0.1.1"
version = "0.1.2"
description = "FX backtesting library built in Rust"
requires-python = ">=3.9"
dependencies = ["pandas", "numpy"]