1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
//! # stochastic-rs-quant
//!
//! Pricing, calibration, instruments, vol surfaces, curves, risk, microstructure.
//!
//! ## Module map
//!
//! Modules are grouped by role; this overview helps locate the right entry
//! point. Each module's own `//!` doc explains its scope in detail.
//!
//! ### Pricing core
//! - [`pricing`] — Black-Scholes, Heston, Bates, rBergomi, CGMYsv, basket /
//! rainbow / Asian / barrier / lookback / cliquet payoffs; Fourier
//! (Carr-Madan, Lewis, Gil-Pelaez); Malliavin-Thalmaier Greeks; SLV.
//! - [`bonds`] — affine zero-coupon bond pricing (Vasicek, CIR, Hull-White,
//! G2++), duration / convexity.
//! - [`fourier_malliavin`] — non-parametric realised volatility / leverage /
//! quarticity estimators (Malliavin-Mancino, Toscano et al.).
//! - [`lattice`] — trinomial / Hull-White lattices for Bermudan payoffs.
//!
//! ### Calibration & vol surfaces
//! - [`calibration`] — model fitters (BSM, Heston, Bates/SVJ, Double-Heston,
//! HSCM, HKDE, CGMYsv, rBergomi, SABR, Lévy, Hull-White swaption, SVI,
//! SSVI). Unified [`traits::Calibrator`] trait.
//! - [`vol_surface`] — SVI, SSVI, SABR-FX-smile parametrisations and the
//! model-implied IV grid generator.
//! - [`loss`] — calibration loss functions (RMSE/MAE/MRE/MAPE/IV-RMSE/
//! weighted-vega).
//!
//! ### Curves & instruments
//! - [`curves`] — discount curve construction (linear, log-linear,
//! cubic-spline, monotone-convex), bootstrapping.
//! - [`instruments`] — deposit / FRA / future / swap / swaption / bond /
//! inflation linker / FX forward / TRS via [`traits::Instrument`] +
//! [`traits::PricingEngine`].
//! - [`cashflows`] — floating-rate periods, schedules, fixing-aware coupon
//! legs.
//! - [`calendar`] — day-count (ACT/360, 30/360, ...), business-day adjusters,
//! schedule generation, pluggable holiday calendars via
//! [`calendar::CalendarExt`].
//! - [`inflation`] — zero-coupon / YoY inflation curves and linked
//! instruments.
//! - [`fx`] — delta / ATM conventions, FX forward, vanilla / barrier IV.
//! - [`market`] — reactive market-data stack (observers, cached observables,
//! rate helpers, bid/ask quote bridging).
//!
//! ### Risk & analytics
//! - [`risk`] — first + second-order Greeks aggregator, VaR / CVaR,
//! expected shortfall, drawdown, performance ratios.
//! - [`credit`] — rating-migration matrices, generator estimation,
//! default-probability bootstrapping, CDS pricing.
//! - [`portfolio`] — Markowitz / mean-CVaR / Black-Litterman / HRP / risk
//! parity optimisers, momentum / cross-sectional ranking pipelines.
//! - [`factors`] — PCA, Ledoit-Wolf shrinkage covariance, Fama-MacBeth,
//! cointegrated pairs trading.
//! - [`strategies`] — strategy primitives (currently `DeltaHedge`); a richer
//! `Strategy` trait + back-test engine tracked for 2.x.
//!
//! ### Microstructure & live data
//! - [`microstructure`] — Almgren-Chriss optimal execution, Kyle's λ,
//! propagator impact, Roll / Corwin-Schultz spread estimators.
//! - [`order_book`] — limit-order-book data structures (`Side`, `Order`,
//! `Trade`, `OrderBook`) with matching and cancel.
//! - `yahoo` (feature-gated) — Yahoo Finance integration (experimental).
//!
//! ### Cross-cutting
//! - [`traits`] — public trait surface ([`traits::ModelPricer`],
//! [`traits::PricerExt`], [`traits::Calibrator`], [`traits::GreeksExt`],
//! [`traits::Instrument`], [`traits::PricingEngine`], ...). The
//! characteristic-function bound `FourierModelExt` lives in
//! [`pricing::fourier`]; `TimeExt` lives in [`traits::time`];
//! `CalendarExt` lives in [`calendar`].
//! - [`types`] — shared enum types (`Moneyness`, `OptionStyle`, `OptionType`,
//! `LossMetric`).
// Doc comments use KaTeX math blocks ($$ ... $$) that clippy mis-detects as
// list items. The actual rustdoc rendering (with `docs/katex-header.html`)
// is correct.
pub use stochastic_rs_copulas as copulas;
pub use simd_rng;
pub use stochastic_rs_distributions as distributions;
pub use stochastic_rs_stats as stats;
pub use stochastic_rs_stochastic as stochastic;
/// Pricing engines — analytic, Fourier (Carr-Madan / Lewis / Gil-Pelaez),
/// finite-difference, MC, lattice — for European, American, Asian, barrier,
/// lookback, basket, rainbow, variance-swap, and rate-path payoffs.
/// Calibrators producing model parameters from market quotes (BSM, Heston,
/// Bates/SVJ, Double-Heston, HSCM, HKDE, Cgmysv, rBergomi, SABR, Lévy, Hull-
/// White swaption, SVI, SSVI). Most expose the unified `Calibrator` trait.
/// Implied-vol surface parameterisations (SVI, SSVI, SABR FX-smile) and the
/// model-implied surface generator that bridges any pricer to a strike × maturity
/// IV grid.
/// Discount-curve construction (linear, log-linear, cubic-spline, monotone-
/// convex), bootstrapping from deposits / FRAs / futures / swaps.
/// Closed-form zero-coupon bond pricing for affine short-rate models
/// (Vasicek, CIR, Hull-White, G2++) plus duration / convexity helpers.
/// Market-quoted instruments: deposit, FRA, future, swap, swaption, bond,
/// inflation linker, FX forward, total-return swap. Each is expressed via
/// `Instrument` + `PricingEngine` for QuantLib-style decoupling.
/// Cash-flow primitives: floating-rate periods, schedules, day-count
/// adjusters, fixing-aware coupon legs.
/// Calendars, day-count conventions (ACT/360, ACT/365, 30/360, ...),
/// business-day adjusters, schedule generation. Pluggable holiday calendars
/// via `CalendarExt`.
/// FX-specific quoting and pricing: delta conventions, ATM convention,
/// forward, vanilla / barrier IV. Vanna-Volga first-order interpolation and
/// SABR FX-smile calibration live in `vol_surface`.
/// Inflation curves (zero-coupon and YoY), inflation-linked instruments,
/// inflation-swap PV (deterministic-curve assumption — see `inflation::swap`
/// docstring for the convexity-correction path).
/// Trinomial / Hull-White-style lattices for Bermudan-style products and
/// short-rate model calibration support.
/// Reactive market-data stack: observers, cached observables, rate
/// helpers, schedule registry, bid/ask quote bridging.
/// Portfolio optimizers (Markowitz, mean-CVaR, Black-Litterman, HRP, risk
/// parity), momentum / cross-sectional ranking pipelines, and supporting
/// covariance estimators. Standalone domain alongside the pricing pipeline.
/// Strategy primitives (currently `DeltaHedge`); a richer `Strategy` trait
/// and back-test engine are tracked for the 2.x patch series.
pub use momentum;
/// Portfolio-analytics utilities (PCA, Fama-MacBeth, shrinkage covariance,
/// pairs trading) that live alongside the pricing pipeline but do not feed
/// back into it. Standalone domain — keep when pulling in `stochastic-rs-quant`
/// for portfolio analytics; safe to ignore when only pricing.
/// Calibration loss functions (RMSE, MAE, MRE, MAPE, IV-RMSE, weighted vega).
/// Risk metrics: Greeks (first + second order), VaR / CVaR, expected
/// shortfall, drawdown, performance ratios (Sharpe, Sortino, Calmar).
/// Credit risk: rating-migration matrices and matrix-exponential generator
/// estimation, default-probability bootstrapping, CDS pricing.
/// Market-microstructure / execution analytics — Almgren-Chriss optimal
/// liquidation, Kyle's lambda, propagator price-impact models, Roll /
/// Corwin-Schultz spread estimators. Standalone domain — does not feed back
/// into the pricing or calibration pipelines.
/// Limit-order-book data structures (`Side`, `Order`, `Trade`, `OrderBook`)
/// with bid/ask matching and cancel. Bridged to the reactive market-data
/// stack via [`market::book::mid_quote`] / [`market::book::half_spread_quote`].
/// Non-parametric Fourier-Malliavin volatility / leverage / quarticity
/// estimators (Malliavin & Mancino). Standalone realised-variance utilities
/// — not currently consumed by the calibration or vol-surface pipelines.
/// Yahoo Finance integration (experimental). Hidden behind the `yahoo`
/// feature; see `yahoo` module docs for stability caveats.
pub use CalibrationLossScore;
pub use LossMetric;
pub use Moneyness;
pub use OptionStyle;
pub use OptionType;