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
//! # Market Data Framework
//!
//! $$
//! \text{PV}(t) = \sum_i N_i\,\alpha_i\,\tilde{L}_i(t)\,D(t, T_i),\qquad
//! \tilde{L}_i(t) = \mathbb{E}^{Q^{T_i}}\!\!\big[L_i\,\big|\,\mathcal{F}_t\big]
//! $$
//!
//! Reactive market-data primitives around a multi-curve pricing stack:
//! observable/observer notification, quote wrappers with relinkable handles,
//! named rate indices (SOFR, ESTR, SONIA, TONAR, Euribor, USD Libor) with
//! fixing history, and rate helpers that bridge market quotes with the
//! bootstrapping engine in [`crate::curves`].
//!
//! Reference: Ametrano & Bianchetti, "Everything You Always Wanted to Know
//! About Multiple Interest Rate Curve Bootstrapping but Were Afraid to Ask",
//! SSRN 2219548 (2013).
//!
//! Reference: Henrard, "Interest Rate Modelling in the Multi-Curve Framework",
//! Palgrave Macmillan (2014).
//!
//! Reference: Gellert & Schlögl, "Short Rate Dynamics: A Fed Funds and SOFR
//! perspective", arXiv:2101.04308 (2021).
//!
//! Observable / Observer / Handle pattern adapted for reactive market data.
pub use half_spread_quote;
pub use mid_quote;
pub use Cached;
pub use MarketObserver;
pub use ForwardRateAgreement;
pub use FraPosition;
pub use FraValuation;
pub use Handle;
pub use RelinkableHandle;
pub use FixingHistory;
pub use NamedIborIndex;
pub use NamedOvernightIndex;
pub use ibor;
pub use overnight;
pub use Deposit;
pub use DepositValuation;
pub use Observable;
pub use ObservableBase;
pub use Observer;
pub use CompositeQuote;
pub use DerivedQuote;
pub use Quote;
pub use SimpleQuote;
pub use DepositRateHelper;
pub use FraRateHelper;
pub use FuturesRateHelper;
pub use RateHelper;
pub use SwapRateHelper;
pub use build_curve;