#会计 #数学 #Excel #十进制数 #弃用 #非标准

无 std rust_finprim

实现了各种金融和会计计算/公式的 Rust

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 金融

MIT 协议

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