1 unstable release
Uses old Rust 2015
0.0.0 | Jul 30, 2016 |
---|
#30 in #ratio
10KB
104 lines
This crate (Rust library) provides utility functions (metrics) to measure a firm's performance (company's health).
Usage
Include this library with the following in your Cargo.toml:
[dependencies]
financial_ratios = "0.0.0" // preferably the latest version on crates.io
Examples
extern crate financial_ratios;
use financial_ratios::{ earnings_per_share, return_on_assets };
fn main() {
let test_1 = earnings_per_share(5000., 500000.); // 0.01
let test_2 = return_on_assets(2000., 5000.); // 0.4
// and so on with the other apis just feed what's expected
// particularly the exact types
}
API | arguments |
---|---|
current_ratio | (current_assets: f64, current_liabilities: f64) |
quick_ratio | (current_assets: f64, inventories: f64, current_liabilities: f64) |
cash_ratio | (cash: f64, current_liabilities: f64) |
debt_ratio | (total_liabilities: f64, total_assets: f64) |
times_interest_earned | (ebit: f64, interest_expense: f64) |
cash_coverage_ratio | (ebit: f64, depreciation: f64, interest_expense: f64) |
inventory_turnover | (cogs: f64, inventory: f64) |
receivables_turnover | (sales: f64, accounts_receivable: f64) |
total_asset_turnover | (sales: f64, total_assets: f64) |
profit_margin | (net_income: f64, sales: f64) |
return_on_assets | (net_income: f64, total_assets: f64) |
return_on_equity | (net_income: f64, total_owners_equity: f64) |
earnings_per_share | (net_income: f64, outstanding_shares: f64) |
Note that all output are of type f64
, you are free to choose what degree of rounding is right for your project.
Unless specified the inputs are expected to be floats. Your program will
panic
if you pass integers.
For consistency sake
rate
is getting passed as a plain float and not as a percentage (%)
Raison d'etre
Well save yourself some googling or fiddling wiki pages. All formulas have test cases. Feel free to send a PR if you feel like a missing formula should be included (preferably open an issue first 😎)
Do not worry about the functions taking owernership of anything. As primitives support the copy trait.
Maintenance
In the forseeable future, I plan to actively manage the repos, so I will follow the salesman motto "If you open it, I will close", meaning that I will fix issues in a speedy matter.
License
This library is distributed with the GPLv2 software license.
financial_ratios (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.