-
-
Notifications
You must be signed in to change notification settings - Fork 198
Expand file tree
/
Copy pathCargo.toml
More file actions
120 lines (101 loc) · 4.92 KB
/
Cargo.toml
File metadata and controls
120 lines (101 loc) · 4.92 KB
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
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## RustQuant: A Rust library for quantitative finance tools.
## Copyright (C) 2022-2024 https://github.com/avhz
## Dual licensed under Apache 2.0 and MIT.
## See:
## - LICENSE-APACHE.md
## - LICENSE-MIT.md
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[workspace.package]
authors = ["avhz <RustQuantContact@gmail.com>"]
description = "A Rust library for quantitative finance."
version = "0.4.0"
edition = "2021"
readme = "README.md"
repository = "https://github.com/avhz/RustQuant"
keywords = [
"quantitative",
"finance",
"option-pricing",
"monte-carlo",
"quantlib",
]
categories = ["finance", "mathematics", "science", "algorithms", "simulation"]
license = "MIT OR Apache-2.0"
[workspace]
resolver = "2"
members = [ "crates/*", "examples", "bindings" ]
[workspace.lints.rust]
missing_docs = "forbid"
non_snake_case = "allow"
[workspace.lints.clippy]
undocumented_unsafe_blocks = "forbid"
doc_markdown = "allow"
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## COMPILATION PROFILES
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## To compile a release build with debug symbols, use:
## `cargo build --profile=release-with-debug`
[profile.release-with-debug]
inherits = "release"
debug = true
[profile.dev]
debug = 0
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## RUSTDOC CONFIGURATION
## Includes KaTeX for math rendering.
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[workspace.package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--html-in-header", "katex.html", "--cfg", "docsrs"]
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## DEPENDENCIES
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[workspace.dependencies]
## RustQuant Crates
RustQuant_autodiff = { version = "0.4.0", path = "crates/RustQuant_autodiff" }
RustQuant_cashflows = { version = "0.4.0", path = "crates/RustQuant_cashflows" }
RustQuant_data = { version = "0.4.0", path = "crates/RustQuant_data" }
RustQuant_enums = { version = "0.4.0", path = "crates/RustQuant_enums" }
RustQuant_error = { version = "0.4.0", path = "crates/RustQuant_error" }
RustQuant_instruments = { version = "0.4.0", path = "crates/RustQuant_instruments" }
RustQuant_iso = { version = "0.4.0", path = "crates/RustQuant_iso" }
RustQuant_math = { version = "0.4.0", path = "crates/RustQuant_math" }
RustQuant_models = { version = "0.4.0", path = "crates/RustQuant_models" }
RustQuant_ml = { version = "0.4.0", path = "crates/RustQuant_ml" }
RustQuant_portfolios = { version = "0.4.0", path = "crates/RustQuant_portfolios" }
RustQuant_pricing = { version = "0.4.0", path = "crates/RustQuant_pricing" }
RustQuant_stochastics = { version = "0.4.0", path = "crates/RustQuant_stochastics" }
RustQuant_time = { version = "0.4.0", path = "crates/RustQuant_time" }
RustQuant_trading = { version = "0.4.0", path = "crates/RustQuant_trading" }
RustQuant_utils = { version = "0.4.0", path = "crates/RustQuant_utils" }
## External Crates
argmin = "0.10.0" # https://docs.rs/argmin/latest/argmin/
argmin-math = "0.4.0" # https://docs.rs/argmin-math/latest/argmin_math/
derive_builder = "0.20.0" # https://docs.rs/derive_builder/latest/derive_builder/
errorfunctions = "0.2.0" # https://docs.rs/errorfunctions/latest/errorfunctions/
finitediff = "0.1.4" # https://docs.rs/finitediff/latest/finitediff/
icu = "1.5.0" # https://docs.rs/icu/latest/icu/
log = "0.4.22" # https://docs.rs/log/latest/log/
nalgebra = "0.33.0" # https://docs.rs/nalgebra/latest/nalgebra/
ndrustfft = "0.5.0" # https://docs.rs/ndrustfft/latest/ndrustfft/
ndarray-rand = "0.15.0" # https://docs.rs/ndarray-rand/latest/ndarray_rand/
plotly = "0.10.0" # https://docs.rs/plotly/latest/plotly/
rand = "0.8.5" # https://docs.rs/rand/latest/rand/
rand_distr = "0.4.3" # https://docs.rs/rand_distr/latest/rand_distr/
rayon = "1.9.0" # https://docs.rs/rayon/latest/rayon/
rust_decimal = "1.34.3" # https://docs.rs/rust_decimal/latest/rust_decimal/
statrs = "0.17.1" # https://docs.rs/statrs/latest/statrs/
thiserror = "1.0.57" # https://docs.rs/thiserror/latest/thiserror/
# https://docs.rs/ndarray/latest/ndarray/
ndarray = { version = "0.16.1", features = ["rayon"] }
# https://docs.rs/num/latest/num/
num = { version = "0.4.1", features = ["rand"] }
# https://docs.rs/time/latest/time/
time = { version = "0.3.34", features = ["macros"] }
# https://docs.rs/polars/latest/polars/
polars = { version = "0.44.0", features = ["docs-selection"] }
# https://docs.rs/serde/latest/serde/
serde = { version = "1.0.213", features = ["derive"] }
# https://docs.rs/crate/pyo3/latest
pyo3 = {version = "0.26.0", features = ["time"] }