Skip to main content

regit_curves/
lib.rs

1// Copyright 2026 Regit.io — Nicolas Koenig
2// SPDX-License-Identifier: Apache-2.0
3
4//! Audit-grade interest-rate yield curve bootstrap and interpolation in pure
5//! Rust.
6//!
7//! `regit-curves` bootstraps interest-rate yield curves from market
8//! instruments (deposits, FRAs, futures, vanilla and OIS swaps, basis swaps),
9//! interpolates between curve nodes with a documented family of methods, and
10//! exposes the resulting curve as discount factor, zero rate, instantaneous
11//! forward and par yield views — single-currency, single-curve and
12//! multi-curve (post-2008 OIS-discounted).
13//!
14//! Designed for auditability: every formula is hand-rolled from primary paper
15//! and standards sources with no external dependencies. A regulator, quant
16//! auditor, or new engineer can trace every number to a citable derivation in
17//! [`MATH.md`].
18//!
19//! [`MATH.md`]: https://github.com/org-regit-io/regit-curves/blob/main/MATH.md
20//!
21//! Part of [Regit OS](https://www.regit.io) — the operating system for
22//! investment products. From Luxembourg.
23
24#![forbid(unsafe_code)]
25
26pub mod bootstrap;
27pub mod curves;
28pub mod errors;
29pub mod instruments;
30pub mod interpolation;
31pub mod math;
32pub mod multi_curve;
33pub mod types;
34
35// Re-exports (top-level ergonomic access)
36pub use bootstrap::{Bootstrap, BootstrapConfig};
37pub use curves::{DiscountCurve, ForwardCurve, ParCurve, ZeroCurve};
38pub use errors::{BootstrapError, CurveError, TypeError};
39pub use instruments::{
40    BasisLeg, BasisSwap, Bond, Deposit, Fra, Future, Instrument, OisSwap, SwapFixedFloat,
41    SwapSchedule,
42};
43pub use interpolation::{
44    ConvexMonotone, CubicSpline, HermiteBessel, Interpolation, InterpolationImpl, Interpolator,
45    Linear, LinearInZero, LogLinear, MonotoneCubic, MonotoneHyman, MonotoneSteffen,
46    PiecewiseConstantForward, SplineBoundary,
47};
48pub use multi_curve::{MultiCurve, MultiCurveBootstrap};
49pub use types::{BusinessDayConvention, Compounding, Date, Daycount, Frequency, Tenor, TenorUnit};