1 个不稳定版本
使用旧的 Rust 2015
0.0.0 | 2016年7月30日 |
---|
#33 in #financial
11KB
125 行
金融
此库(Rust 库)提供了金融领域最常见操作(计算)的实用函数。
用法
使用以下命令包含此库
[dependencies]
finance = "0.0.0" // preferably the latest version on crates.io
示例
extern crate finance;
extern crate round;
use round::round;
use finance::{ present_value, future_value };
fn main() {
let test_value = round(present_value(0.1, 1., 1000.), 2); // 909.09
let test_value = round(future_value(0.1, 1., 1000.), 2); // 1100.00
// and so on with the other apis just feed what's expected
// particularly the exact types
}
API | 参数 | 缩写 |
---|---|---|
现值 | (rate: f64, compounding_periods: f64, future_value: f64) | PV |
未来值 | (rate: f64, compounding_periods: f64, present_value: f64) | FV |
净现值 | (rate: f64, cfs: &[f64]) | npv |
定期利率 | (annual_percentage_rate: f64, number_of_compounding: f64) | r |
持有期回报率 | (profit: f64, cost: f64) | HPR |
复利次数 | (future_value: f64, present_value: f64, rate: f64) | n |
投资回报率 | (earnings: f64, cf0: f64) | ROI |
利率 | (future_value: f64, present_value: f64, number_of_compounding: f64) | r |
72法则 | (rate: f64) | ... |
70法则 | (rate: f64) | ... |
杠杆比率 | (total_liabilities: f64, total_debts: f64, total_income: f64) | LR |
加权资本成本 | (market_value_of_equity: f64, market_value_of_debt: f64, cost_of_equity: f64, cost_of_debt: f64, tax_rate: f64) | WACC |
支付 | (present_value: f64, number_of_compounding: f64, rate: f64) | PMT |
有效年利率 | (annual_rate: f64, number_of_compounding: f64) | EAR |
请注意,所有输出都是 f64
类型,你可以根据项目的需要选择适当的舍入程度。
除非指定,输入预期为浮点数。如果你传递整数,程序将
panic
。
根据(月度、半年、每日)计算时,请相应地输入。换句话说,确保复利次数(每日、每月、每年)与相应的利率(每日、每月、每年)相对应。
出于一致性的考虑,
rate
以纯浮点数的形式传递,而不是百分比(%)。
如果你想知道复利计算,我在这里有。
目的
避免搜索或翻阅维基百科。所有公式都有测试用例。如果你觉得缺少某个公式,请随时发送 PR(最好先提出问题 😎)。
不要担心函数会占用任何资源。原语支持复制特性。
如果正在处理数组或向量,请放心,它们是以引用形式传递的,如果需要进行复杂操作,则会进行克隆。
此外,一些函数名称可能相当冗长,但这是值得的。你不了解的缩写是最后你不希望看到的事情。(毕竟,没有很多程序员有金融背景)
维护
在可预见的未来,我计划积极管理存储库,所以我会遵循销售员的座右铭“如果你打开它,我就会关闭”,这意味着我会迅速修复问题。
许可证
本库随 GPLv2 软件许可分发。
finance (rust library - crate)
Copyright (C) 2016 Mohamed Hayibor
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
依赖项
~9KB