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
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// RustQuant: A Rust library for quantitative finance tools.
// Copyright (C) 2023-2024 https://github.com/avhz
// Dual licensed under Apache 2.0 and MIT.
// See:
// - LICENSE-APACHE.md
// - LICENSE-MIT.md
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//! Financial instrument types and modules (bonds, options, etc).
//!
//! ### Options
//!
//! The following options and pricing methods are implemented:
//!
//! | Option | Analytic | Monte-Carlo | Finite Difference | Lattice | Greeks |
//! |--------|:--------:|:-----------:|:-----------------:|:-------:|:------:|
//! | Asian |❌|✅|❌|❌|❌|
//! | Barrier |❌|✅|❌|❌|❌|
//! | Basket |❌|❌|❌|❌|❌|
//! | Binary |❌|✅|❌|❌|❌|
//! | Chooser |❌|❌|❌|❌|❌|
//! | Cliquet |❌|❌|❌|❌|❌|
//! | Compound |❌|❌|❌|❌|❌|
//! | Exchange |❌|❌|❌|❌|❌|
//! | Forward Start |❌|❌|❌|❌|❌|
//! | Log |❌|✅|❌|❌|❌|
//! | Lookback |❌|✅|❌|❌|❌|
//! | Power |❌|✅|❌|❌|❌|
//! | Quanto |❌|❌|❌|❌|❌|
//! | Spread |❌|❌|❌|❌|❌|
//! | Supershare |❌|✅|❌|❌|❌|
//! | Vanilla |✅|✅|✅|✅|✅|
//!
//! - Closed-form price solutions:
//! - [x] Generalised Black-Scholes-Merton
//! - [x] Bachelier and Modified Bachelier
//! - [x] Heston Model
//!
//! - Lattice models:
//! - [x] Binomial Tree (Cox-Ross-Rubinstein)
//!
//! ### Bonds
//!
//! ### FX
//!
//! ### Equities
//!
//! ### Commodities
/// Base trait for all instruments.
pub use *;
/// Bond pricing models.
// pub use bonds::*;
/// Option pricers and sensitivity functions.
pub use *;
/// FX instruments.
pub use *;
/// Equity instruments.
pub use *;
/// Ticker symbol.
pub use *;
/// Generic derivative payoff trait.
pub use *;
/// Analytic option pricer.
pub use *;
/// Monte-Carlo pricer.
pub use *;