v2.0.0-rc.2
stochastic-rs v2.0.0-rc.2
cargo clippy --workspace --all-targets -- -D warningsis now clean (was 3 errors: deprecatedFromPyObjectonPyNigFourier, lazyunwrap_or_elseinorder_book::add_order, negated-comparison inPyNigFourier::new).stats::fukasawa_hursttest suite (estimate_h_from_simulated_rv,rough_vs_smooth_distinguished,table1_m72_accuracy) now usesFou::seeded(...)for the volatility path so the entire RNG chain is pinned.- Python coverage gaps from §1.5 filled:
PyHscmModel,PyHscmCalibrator(+PyHscmMarketOption),PyHullWhiteBond(withHullWhiteBond.from_curve(...)taking aDiscountCurve), andempirical_cvarexposed as a top-level#[pyfunction]with the documentedalpha < 0.5precondition translated toPyValueError. portfolio::optimizers::empirical_cvaris nowpub(was a private helper) so external callers can reach it directly.
Pricing. unreachable!() cleanups, NaN-tolerant partial_cmp, regime-switching matrix ops via ndarray operators (was hand-written triple loops), document hardcoded paper maturities, fourier_malliavin canonical-window comments, heston_stoch_corr FFT-vs-quadrature doc fix.
Vol / risk. SVI butterfly arb-freeness check + Durrleman g(k); Rockafellar-Uryasev tail-share correction in historical_es; max_peak_to_recovery_duration companion to existing duration; fourier_model_surface_fft_with(...) exposes Carr-Madan grid params; try_from_quotes Result variant on ImpliedVolSurface; Sortino / momentum ScoreWeighted convention doc; mat_inverse → nalgebra::try_inverse; new strategies module: Strategy trait + Backtest driver + MarketBar / StrategyAction types; bucket_dv01 sign doc.
Rates. curves::Instrument → BootstrapInstrument (with backward-compat alias); five new day-count conventions (BUS/252, ACT/364, ACT/ACT AFB, NL/365, 30E/360 ISDA); ScheduleBuilder long-first / long-last StubConvention; observable Mutex poisoning is now logged + recovered (was panic); fx Display fallback to NaN; short-rate round-isize defensive default.
Microstructure / factors. Stray no-ops removed (shrinkage, bootstrap, migration); loss.rs metrics return NaN on zero-divisor; pca.rs to_f64 defensive; CalibrationLossScore::get → NaN + try_get; scipy.linalg.expm regression test for migration matrix expm.
SKILLs (16 written, .claude/skills/)
- Tier 1 (release-level):
release-checklist,feature-flag-management,calibration-pattern,greeks-pattern. - Tier 2 (domain):
add-diffusion-process,add-fractional-process,add-jump-process,adding-distribution,adding-python-binding,stats-estimator. - Tier 3 (niche):
copula-bivariate,add-gpu-sampler,add-mc-variance-reduction,vol-surrogate-nn,integration-test-writing,bench-writing.
Full Changelog: v2.0.0-rc.1...v2.0.0-rc.2