Commit Graph

28 Commits

Author SHA1 Message Date
ThotDjehuty ece0b31d9e docs(v2.0.0-alpha.6): convert all inline $...$ to :math: role in v2 RST pages
RST does not parse dollar-math (the dollarmath MyST extension applies
only to .md files), so every inline LaTeX expression was rendered as
raw text on Read the Docs — with backslashes silently stripped by the
RST escape mechanism (e.g. \bar s shown as 'bar s', \mathbb{E} shown
as 'mathbb{E}'). The eight v2.0 algorithm pages now use the proper
:math: role for inline math (224 expressions converted), so MathJax
renders every symbol correctly.

Affected pages: bsde, pde, stochastic_control, quadratic_impact_control,
mckean_vlasov, agent_based, robust_drift, generative_calibration_hooks.
2026-05-12 17:10:06 +02:00
ThotDjehuty 73ec6c02cb docs(v2.0.0-alpha.5): rich math+physics background per chapter, fix notebook download links
Each of the eight v2.0 algorithm pages (bsde, pde, stochastic_control,
quadratic_impact_control, mckean_vlasov, agent_based, robust_drift,
generative_calibration_hooks) gains:

- A dedicated 'Mathematical background' section with the central theorem
  (Pardoux-Peng, Sznitman propagation of chaos, Pontryagin-Bismut,
  Huber-IRLS, Gretton MMD, Kolmogorov forward, etc.), key derivations
  and the analytic closed-form solution that the unit tests target.
- An 'Applications' / 'Why it matters' paragraph listing concrete
  research and engineering use-cases so newcomers grasp the value of
  each primitive.
- A repaired companion-notebook block: the broken relative path
  '../../examples/notebooks/...ipynb' (which 404s on RTD) is replaced
  by an explicit GitHub blob (view) + raw (download) URL pair.

Sphinx now builds the full doc set with zero new warnings.
2026-05-12 16:47:15 +02:00
ThotDjehuty dd51156174 docs(v2.0.0-alpha.4): enrich v2.0 notebooks with FR sandwich + real-world examples
Each of the eight v2.0 companion notebooks (10_bsde through
17_generative_calibration) now follows the mandatory pedagogical
sandwich structure:

  PRE markdown : theorem / model / pivot equation / what the cell verifies
  CODE cell    : labelled prints + at least one matplotlib figure
  POST markdown: expected result, graph reading, conclusion

Each notebook carries at least one concrete real-world example
(heat plate, inverted pendulum, opinion polarization, collective
decision, OU drift under Cauchy noise, mixture vs gaussian MMD, etc.)

Generator script: scripts/enrich_v2_notebooks.py
Doc plots refreshed via scripts/inject_doc_plots.py.
2026-05-12 16:07:42 +02:00
ThotDjehuty cce31055c1 docs(v2.0.0-alpha.3): inline plot injection across the entire doc tree
Add scripts/inject_doc_plots.py that scans every .md and .rst page under
docs/source/, executes each Python code-block in an isolated namespace
with a non-interactive matplotlib backend, captures every figure
produced, and inserts an inline image directive immediately after the
code-block.  Markers AUTO-PLOT-BEGIN/END make the injection idempotent
on re-runs.  Blocks that fail to execute or produce no figure are left
untouched.

Add a transparent __getattr__ fallback in python/optimizr/__init__.py
that forwards any unresolved top-level attribute to the compiled _core
extension.  This lets all v1.x and v2.0 doc samples that use
'from optimizr import X' (estimate_ou_params_py, linear_bsde_constant_coeffs,
mmd_gaussian, ...) execute as written.

Augment the OU Parameter Estimation example
(docs/source/algorithms/optimal_control.md) with a two-panel
visualization (simulated path plus empirical/theoretical autocorrelation).

Net effect: 14 doc pages now display matplotlib plots inline directly
under the code that produced them -- including the OU page, point
processes, Grid Search, HMM, MCMC, plus the 8 v2.0 RST pages.
2026-05-12 13:05:14 +02:00
ThotDjehuty d8682f61e5 release(v2.0.0-alpha.2): PyO3 bindings + executed companion notebooks + Sphinx RST with inline plots
PyO3 abi3 bindings for the 13 v2.0.0 functions across 8 module groups:
  bsde, pde, stochastic_control, optimal_control::quadratic_impact_control,
  mean_field::mckean_vlasov, agent_based, inference, optimization.

8 executed companion notebooks under examples/notebooks/10_bsde.ipynb …
17_generative_calibration.ipynb (cell outputs and matplotlib figures
preserved as proof-of-work; verified against analytic ground truths).

8 Sphinx RST pages under docs/source/algorithms/{bsde,pde,stochastic_control,
quadratic_impact_control,mckean_vlasov,agent_based,robust_drift,
generative_calibration_hooks}.rst with .. math:: derivations and inline
.. image:: directives placed immediately after each .. code-block:: python
so each plot appears directly under the code that produced it.

18 PNG plot assets under docs/source/_static/v2/<group>/.

index.rst extended with a new 'v2.0 Generic Stochastic Control & PDE'
toctree caption.

Forbidden-vocabulary audit on new src/, docs/source/algorithms/ and
binding files: zero matches.

All previously stable APIs untouched; v2.0.0 is additive at the binding
level — no v1.x function signature was changed.
2026-05-12 12:18:14 +02:00
ThotDjehuty d780ed81d7 release(v1.1.0): additive CPU-only generic numerical primitives
Adds 9 new top-level / sub-modules to the Rust API only (no Python
bindings yet), with at least one analytic unit test per module.

New Rust modules:
- optimal_control::matrix_riccati  (RK4 backward solver)
- timeseries_utils::nonsync_covariance  (Hayashi-Yoshida)
- timeseries_utils::wavelet  (Haar / Daubechies DWT and MODWT)
- risk_measures  (VaR, CVaR, projected sub-gradient CVaR minimisation)
- graph::laplacian + graph::spectral_clustering  (Jacobi + k-means++)
- topology  (Vietoris-Rips persistent homology, bottleneck distance)
- volterra  (Caputo Adams, Markovian lift, second-kind Volterra,
             Fourier inversion of characteristic functions)
- signatures  (truncated tensor signature, log-sig, random reservoir,
               Salvi-Cass-Lyons signature kernel, shuffle product)

All previously stable APIs untouched; abi3-py38 ABI preserved.
New module tests: 29/29 passing. Pre-existing 5 unrelated failures
unchanged.
2026-05-12 10:59:09 +02:00
ThotDjehuty 8a1571c83f fix(lint): fix escape sequences and matplotlib colormap API in docs scripts 2026-03-08 11:26:37 +01:00
ThotDjehuty 49be6c7bf7 docs(diagrams): add 4 remaining SVG figures for §8 HMM + §10 geometry
- fig_hmm_regime: 3-state Bull/Neutral/Bear HMM state machine + emission table
- fig_viterbi_trellis: Viterbi trellis K=3 T=4 with MAP path highlighted
- fig_std_vs_nat_gradient: standard vs natural gradient property comparison panels
- fig_lie_group_hierarchy: GL/SL/O/SO/Sp/H Lie group tree with finance annotations

All 27 SVGs regenerated; mathematical_foundations.md now 0 remaining ASCII blocks.
_fix_diagrams3.py added for reproducibility.
2026-03-07 13:39:43 +01:00
ThotDjehuty 5d06f0ab57 docs: replace all ASCII/Unicode diagram blocks with matplotlib SVG figures
Replace 23 ASCII/Unicode text diagram code-blocks in mathematical_foundations.md
with professionally rendered matplotlib SVG figures.

Changes:
- Add docs/source/_gen_diagrams.py: Python script generating all 23 SVG figures
  with consistent styling (white bg, blue/orange/green/red palette, scipy/numpy/
  matplotlib Agg backend)
- Add docs/source/_static/diagrams/*.svg: 23 rendered SVG figures covering:
  §1 DE/random-walk/BM/GBM, §2 Ito/Picard/FP/EM/OU, §3 Poisson/Merton/Levy,
  §6 Kalman, §7 MCMC, §9 KL/Fisher, §10 curvatures/natural-gradient
- Update mathematical_foundations.md: all ASCII art code-blocks replaced with
  MyST {figure} directives pointing to the generated SVGs
- Sphinx build: clean success, all 23 SVGs copied to build, 1 pre-existing warning

Resolves: user request for professional publication-quality figures instead of
  ASCII/Unicode art (which was too low-level for publication)
2026-03-07 11:29:14 +01:00
ThotDjehuty e80d717aa7 docs: upgrade all ASCII diagrams to Unicode box-drawing art
Replace ~20 ASCII diagrams across §1–§10 with polished Unicode art:
- Proper axes: ╰──→ ▲ ╌ with tick marks and labels
- Curves: ╭─╮ ╰─╯ ╲ ╱ for smooth paths and bells
- Steps: ─── ┐ └ for Poisson staircase
- Fills: ▓ ░ · ◦ ● for density and scatter plots
- Tables: ┌┬─┤├┼┘ Unicode box drawing for HMM state machine
- Remove duplicate BM fan + GBM diagrams (were repeated verbatim)
- Consistent 44-char width, title banners with ┄ separators
2026-03-07 10:38:38 +01:00
ThotDjehuty d24b8b1036 docs: enrich mathematical_foundations SDE sections + transparent logo 2026-03-07 09:44:08 +01:00
ThotDjehuty b41618c627 docs(theory): enrich Section 4 optimal control with 4 worked examples
- Add HJB/PMP/HJBI comparison overview table
- Add Merton 1969 portfolio allocation example (log-utility, constant fraction)
- Add Almgren-Chriss inventory liquidation example (LQR + TWAP-like schedule)
- Add PMP costate derivation for Merton problem
- Add American option as viscosity example (variational inequality, smooth-pasting)
- Explain jump integral term intuition in HJBI
- Add shooting method pseudocode for PMP
- Mirror all enrichments in LaTeX .tex source
- Regenerate PDF (13 pages, cross-refs resolved)
2026-03-06 20:22:35 +01:00
ThotDjehuty 7a964fd9ee fix(docs): convert mathematical_foundations.md to correct MyST Markdown syntax
Replace all RST directives with MyST equivalents so equations and
admonitions render correctly on ReadTheDocs:

- :math:`...` inline roles -> $...$ (dollarmath extension)
- .. math:: blocks -> $$...$$ display math
- .. admonition:: -> ::::{admonition} ... :::: colon-fence blocks
- .. list-table:: -> standard Markdown pipe tables
- ``code`` -> `code` backticks
- double-colon code blocks -> fenced ``` blocks

Build: clean (no new warnings).
2026-03-06 19:31:04 +01:00
ThotDjehuty 48220de0ce docs(theory): enrich mathematical foundations with 10 sections
Sections added/expanded:
- DE: operator table, jDE self-adaptive rules, convergence theorem
- Stochastic Processes: 4-axiom BM, Ito calculus+lemma, SDE table, OU MLE
- Jump Processes: Poisson, Merton formula, Levy-Khintchine theorem+table, SDE generator
- Optimal Control: HJB boxed PDE, LQR Riccati, PMP costate theorem, HJBI jumps, viscosity solutions
- Mean Field Games: HJB+KFP system, fixed-point pseudocode, Lasry-Lions convergence
- Kalman Filtering: predict/update recursion, KL-minimization view, Kalman-Bucy Riccati
- MCMC: MH accept-reject, optimal step h~2.38/sqrt(d), MALA+Langevin SDE
- HMM: full Baum-Welch E/M (alpha/beta/gamma/xi), Viterbi max-product
- Information Theory: Shannon entropy, KL+Gibbs, Fisher info+Cramer-Rao, mRMR, natural gradient preview
- Differential Geometry: Riemannian manifold+geodesic+Christoffel, Fisher-Rao metric,
  Amari natural gradient, dually-flat exp families, Lie groups, symplectic geometry+PMP, sectional curvature
- Quick Reference table (15 rows), 11 full references
- Sphinx build clean (1 unrelated chardet warning only)
2026-03-06 19:14:43 +01:00
ThotDjehuty f6a74716e2 docs: replace ASCII diagrams with Mermaid visuals + brand CSS
- Add sphinxcontrib-mermaid>=0.9.2 to requirements.txt
- Add custom.css with orange brand theme (admonitions, tables, mermaid containers)
- Replace Complete Algorithm ASCII pseudocode with Mermaid flowchart (differential_evolution.md)
- Add Mermaid stateDiagram-v2 for Bull/Normal/Bear regime transitions (hmm.md)
- Replace Rust module file tree with Mermaid graph TD (point_processes.md)
- Configure mermaid_version=10.9.0 and dark+orange themeVariables in conf.py
2026-03-06 17:39:03 +01:00
ThotDjehuty 6ab4976e7a docs(point_processes): add comprehensive ReadTheDocs documentation
- Algorithm guide: Hawkes processes, fBM, mixed fBM, Mittag-Leffler
- Full mathematical background with LaTeX equations
- API reference for all 8 Python-bound functions
- Usage examples, performance benchmarks, module architecture
- Updated index.rst toctree with new entries
2026-02-19 21:16:26 +01:00
ThotDjehuty 6c2ce3d238 refactor: remove finance-specific code from point_processes module
- Removed order_flow.rs (UnifiedTheoryParams, OrderFlowAnalyzer, MarketImpact)
- Removed analyze_order_flow, unified_theory_params, market_impact Python bindings
- Updated mod.rs documentation to be generic (no trading references)
- Kept general-purpose: Hawkes, fBM, mfBM, Mittag-Leffler, Hurst estimation

Finance-specific code moved to rust-hft-arbitrage-lab-internal
2026-02-19 19:35:04 +01:00
ThotDjehuty fc8a8d036e docs: Comprehensive enhancement of optimal control and HMM API documentation
Optimal Control: 94 to 610 lines with HJB theory, viscosity solutions, finite differences

HMM API: 16 to 571 lines with complete API reference and usage examples
2026-02-18 20:30:15 +01:00
ThotDjehuty b10263b4f2 docs: Rebrand OptimizR to Optimiz-rs throughout documentation
Updated Branding in ReadTheDocs:
-  All 'OptimizR' → 'Optimiz-rs' (17 files)
-  Project name in conf.py
-  HTML title and short title
-  All algorithm documentation
-  Getting started guide
-  Installation guide
-  Theory/mathematical foundations
-  Archive documentation

Documentation now consistently uses the new 'optimiz-rs' branding that
matches both PyPI and crates.io package names.

Note: Python module name 'optimizr' in import statements intentionally
unchanged (that's the actual module name).
2026-02-17 10:09:15 +01:00
ThotDjehuty fed03f5bdf feat: Update logo to optimiz-rs branding 🎨
Logo Updates:
-  New logo: logo_optimizrs.png (1024x1536 PNG)
-  README.md: Updated logo reference
-  docs/source/conf.py: Updated html_logo and html_favicon
-  Removed old logos: logo_optimizr_valid.png, logo_optimizr_valid.jpeg
-  Copied from: business/logo/logo_optimizrs.png

The logo now reflects the new optimiz-rs package name across:
- GitHub README
- ReadTheDocs documentation
- Sphinx HTML output
- favicon

All documentation will automatically use the updated branding.
2026-02-17 09:56:23 +01:00
Melvin Alvarez 3e4390e462 chore(release): Prepare OptimizR v1.0.0 for production release
Production Release Preparation:

- 75% notebook success rate (6/8 fully functional)

- Comprehensive documentation and repository cleanup

Documentation:

- Created comprehensive examples/notebooks/README.md (200+ lines)

- Updated docs/source/index.rst version badge (0.3.0 to 1.0.0)

- Archived 17 temporary development markdown files to docs/archive/

- Added examples/notebooks/.gitignore for outputs/

Repository Cleanup:

- Removed test_release.py (temporary test script)

- Removed NOTEBOOK_EXECUTION_REPORT.md (development artifact)

- Organized development docs into docs/archive/

Working Notebooks (6/8):

1. 01_hmm_tutorial.ipynb - Market regime detection

2. 02_mcmc_tutorial.ipynb - Bayesian inference

3. 03_differential_evolution_tutorial.ipynb - Global optimization

4. 03_optimal_control_tutorial.ipynb - HJB equations

5. 04_kalman_filter_sensor_fusion.ipynb - Sensor fusion

6. 04_real_world_applications.ipynb - Portfolio optimization

Documented Limitations (2/8):

7. 05_performance_benchmarks.ipynb - Memory limits

8. mean_field_games_tutorial.ipynb - Numerical stability

Validation:

- All 11 core tests passing (0.73s)

- HMM, MCMC, Differential Evolution, Grid Search validated
2026-02-16 17:56:27 +01:00
Melvin Alvarez 50a4313d5a docs: enhance ReadTheDocs with visualization outputs and GitHub links 2026-02-16 16:42:24 +01:00
Melvin Alvarez ea2265cb49 Enhance documentation content 2026-02-09 18:58:45 +01:00
Melvin Alvarez 74fbbd369b Add make docs commands for html build 2026-02-09 18:31:14 +01:00
Melvin Alvarez 7a9ab20b89 docs: add mfg tutorial and enrich theory 2026-02-09 17:27:35 +01:00
Melvin Alvarez 6e3367c396 docs: deepen theory and benchmarks 2026-02-09 17:09:27 +01:00
Melvin Alvarez 43af949904 docs(optimizr): add logo and fix rtd deps 2026-02-09 16:15:41 +01:00
Melvin Alvarez c1f4c0bde7 docs: add ReadTheDocs configuration and Sphinx documentation structure 2026-02-08 17:16:41 +01:00