# Changelog

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

The project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

- (Nothing yet.)

## 0.1.0 (2025-02-18)

### Added

- Config-driven risk engine: load limits, metrics, and circuit breakers from YAML.
- Pre-trade limits: position size, concentration, price tolerance, notional, order rate, self-trade, custom.
- Risk metrics: VaR, CVaR, drawdown, volatility, beta, Sharpe, Sortino (optional `[metrics]` extra).
- Circuit breakers: daily PnL, drawdown, volatility with configurable actions and cooldowns.
- Three layers: stateless `RiskEngine`, stateful `RiskMonitor`, persistent `RiskOrchestrator` with pluggable stores.
- Pluggable validators, calculators, and breach handlers (log, notify, block_order, etc.).
- Config loader with env-var substitution (`${VAR}`, `${VAR:-default}`, `${VAR:?error}`).
- Optional extras: `validation`, `db`, `api`, `kafka`, `metrics`, `redis`, `full`, `dev`.
- CLI entry point: `pyfortis`.
- Full test suite and type checking (mypy strict, ruff).
