5 个不稳定版本
0.3.1 | 2024年6月7日 |
---|---|
0.3.0 | 2024年6月7日 |
0.2.1 | 2024年6月6日 |
0.2.0 | 2024年6月6日 |
0.1.0 | 2024年6月5日 |
#58 in 金融
86KB
1.5K SLoC
金融计算原语
这是一个提供执行各种金融计算的最小库。
基于 rust_decimal
包,提供高精度同时保持可接受的性能。类型 Decimal
提供了最多28位有效数字的定点十进制数。比使用 f64
和电子表格程序中的实现提供更多精度。
一些函数及其参数模仿了 Excel 和 Google Sheets 中的那些。
功能
货币时间价值 (TVM) 计算
rust_finprim::tvm
模块。
- 现值
- 常见用途:债券定价、贴现现金流、年金等
- 未来值
- 常见用途:复利/增长、年金等
- 净现值 (NPV)
- 常见用途:资本预算、投资分析等
- 不同折现率的净现值
- 不规则现金流的净现值 (XNPV)
- 支付 (PMT)
- 常见用途:债券、贷款/抵押贷款支付、年金等
利率计算
rust_finprim::rate
模块。
- APR (年利率) 和 EAR (有效年利率) 转换
- IRR (内部收益率)
- 常见用途:投资分析、资本预算、债券收益率 (YTM, YTC) 等
- 不规则现金流的内部收益率 (XIRR)
- MIRR (修正内部收益率)
- 不规则现金流的修正内部收益率 (XMIRR)
摊销、折旧和税务计算
rust_finprim::amort_dep_tax
模块。
- 摊销计划
- 常见用途:贷款/抵押贷款摊销
- 各种方法的折旧计划
- 直线法
- 递减余额法(例如,双倍递减余额法)
- 年数总和法
- MACRS(美国税法下的修改后的加速成本回收系统)
- 累进所得税
衍生品
rust_finprim::derivatives
模块。
- 现值对利率的一阶和二阶导数
- 适用于计算久期、凸性以及各种优化问题
特点
有一些功能可以被启用
std
- 默认启用。您可以在no_std
环境中使用此库,在您的Cargo.toml
中设置false
为= false
。serde
- 启用使用serde
进行提供的结构体的序列化和反序列化。
安装
将以下内容添加到您的Cargo.toml
[dependencies]
rust_finprim = "0.3.1"
或者
cargo add rust_finprim
依赖关系
~0.5–1.8MB
~35K SLoC