FinanceEquations
A comprehensive Elixir library providing financial formulas across multiple domains including corporate finance, risk management, derivatives, and personal finance.
โจ Features
๐ Time Value of Money (TVM) ๐ Corporate Finance & Valuation ๐ฆ Fixed Income & Bond Analytics โ๏ธ Risk & Volatility Metrics ๐ผ Portfolio Management ๐ Real Estate Finance ๐ณ Personal Finance & Budgeting โฟ Cryptocurrency & Blockchain ๐ Derivatives & Hedging ๐ง Behavioral Finance & Economics ๐ Basic Financial Calculations ๐งพ Business & Accounting Formulas ๐ Forex & International Finance ๐ก๏ธ Insurance & Risk Management ๐ Investment Analysis ๐ฆ Loan & Mortgage Calculations
๐ฆ Installation
Add finance_equations to your list of dependencies in mix.exs:
def deps do
[
{:finance_equations, "~> 0.2.0"}
]
endThen fetch dependencies:
mix deps.get๐ Usage
This library is organized into domain-specific modules.
Example
# Time Value of Money
FinanceEquations.TimeValueMoney.future_value(1000, 0.05, 2)
# Corporate Finance
FinanceEquations.CorporateFinanceAndValuation.npv(0.1, [-1000, 300, 400, 500])
# Risk
FinanceEquations.RiskVolatilityFormulas.var(1_000_000, 0.95)๐ Available Modules
FinanceEquations.BasicFormulasFinanceEquations.BehavioralEconomicsAndDecisionMakingFinanceEquations.BehavioralFinanceAndRatiosFormulasFinanceEquations.BusinessAccountingFormulasFinanceEquations.CorporateFinanceAndMnaFinanceEquations.CorporateFinanceAndValuationFinanceEquations.CryptocurrencyAndBlockchainFormulasFinanceEquations.DerivativesAndHedgingFinanceEquations.FixedIncomeAndBondAnalyticsFinanceEquations.ForexAndInternationalFormulasFinanceEquations.InsuranceAndRiskManagementFormulasFinanceEquations.InvestmentFormulasFinanceEquations.LoanMortgageFormulasFinanceEquations.OptionDerivativesFormulasFinanceEquations.PersonalFinanceAndBudgetingFinanceEquations.PortfolioManagementFormulasFinanceEquations.RealEstateFormulasFinanceEquations.RealOptionsFinanceEquations.RiskVolatilityFormulasFinanceEquations.TimeValueMoney
๐งช Testing
Run tests with:
mix test๐ Documentation
Documentation is generated using ExDoc.
- Local docs:
mix docs- Once published: https://hexdocs.pm/finance_equations
๐ Design Philosophy
- Modular: Each financial domain is separated into its own module
- Explicit: No hidden magic or unnecessary abstractions
- Scalable: Easy to extend with new formulas
- Idiomatic: Follows Elixir best practices
๐ค Contributing
Contributions are welcome!
- Fork the repo
- Create a feature branch
- Add your formulas/tests
- Submit a PR
๐ License
Apache-2.0 License