Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Changelog

All notable changes to `RiskLabAI.jl` are documented here. The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project follows
[Semantic Versioning](https://semver.org/spec/v2.0.0.html) (pre-1.0: minor
versions may include breaking changes).

## [0.5.0] — 2026-06-19

First substantive release. The package was reconstructed from the ground up to
mirror the `RiskLabAI.py` public API in idiomatic Julia (`snake_case` functions,
`CapWords` types, sub-modules mirroring the Python sub-packages). Every
deterministic function is verified against a Python reference; stochastic and
machine-learning pieces are validated structurally. The parity ledger lives in
`PARITY.md`.

### Added

- **Data**
- `Data.Structures` — standard, time, imbalance (expected/fixed) and run
(expected/fixed) bars.
- `Data.Differentiation` — fractional differentiation (standard + fixed-width).
- `Data.Weights` — sample uniqueness and return/time-decay weighting.
- `Data.Denoise` — Marčenko–Pastur denoising, `cov_to_corr`/`corr_to_cov`,
optimal-portfolio helpers.
- `Data.Labeling` — CUSUM filter, triple-barrier, meta-labeling, trend scanning.
- `Data.Distance` — variation of information, mutual information, KL/cross-entropy.
- `Data.SyntheticData` — `form_block_matrix`, `drift_volatility_burst`,
`compute_log_returns`, `align_params_length` (exact) and the Heston–Merton
regime-switching price simulators (behavioural).
- **Features** — Shannon/plug-in/Lempel–Ziv/Kontoyiannis entropy; Corwin–Schultz
and Bekker–Parkinson microstructural estimators; ADF / (B)SADF structural
breaks; feature importance: `orthogonal_features` + `calculate_weighted_tau`
(exact) and `feature_importance_mdi`/`mda`/`sfi` + `get_test_dataset`
(DecisionTree.jl backend).
- **Backtest** — backtest statistics, probabilistic Sharpe ratio, test-set
overfitting, strategy risk, probability of backtest overfitting, synthetic
backtesting, and bet sizing.
- **Optimization** — Hierarchical Risk Parity building blocks + `hrp()`, PCA
hedging, and Nested Clustered Optimisation (`get_optimal_portfolio_weights`,
`get_optimal_portfolio_weights_nco`).
- **Cluster** — Optimized Nested Clustering (`cluster_k_means_base`/`top`), an
exact `silhouette_samples`, and random block-correlation generators.
- **Validation** — purged K-Fold (with embargo), Combinatorial Purged CV,
Walk-Forward and standard K-Fold splitters; `cross_val_score`; grid/random
hyper-parameter search (`grid_search_cv`/`random_search_cv`).
- **Ensemble** — theoretical bagging accuracy (exact) plus an empirical
weighted-bagging evaluator and bootstrap accuracy.
- **Pde** — the four Deep-BSDE equations (HJB-LQ, Black–Scholes–Barenblatt,
default-risk and different-rate pricing) with exact generators, and a neural
Deep-BSDE solver (`solve_deep_bsde`) on the Lux.jl backend.

### Dependencies

- Added `Clustering`, `DecisionTree`, `Lux`, `Zygote` and `Optimisers`.

### Notes

- The Python `controller`, `core`/registry and `hpc` infrastructure layers are
intentionally **not** ported; Julia's multiple dispatch and native
`Distributed` replace them (see `PARITY.md` for the full list of deliberate
divergences). Sample weights are unavailable in the DecisionTree.jl-backed
importances, and the Deep-BSDE set-transformer/Monte-Carlo/FBSNN variants are
research scaffolding that was not ported.

## [0.0.1]

- Initial package skeleton.

[0.5.0]: https://github.com/RiskLabAI/RiskLabAI.jl/releases/tag/v0.5.0
[0.0.1]: https://github.com/RiskLabAI/RiskLabAI.jl/releases/tag/v0.0.1
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "RiskLabAI"
uuid = "a72881da-fdaa-49c1-8962-99caf4ccfee8"
version = "0.0.1"
version = "0.5.0"
authors = ["RiskLab AI <research@risklab.ai>"]

[deps]
Expand Down
Loading