Packages

A collection of essential financial formulas and models implemented in Elixir. Covers topics such as interest calculations, present and future value, annuities, loan amortization, investment returns, and risk metrics

Current section

Files

Jump to
Raw

README.md

# 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`:

```elixir
def deps do
  [
    {:finance_equations, "~> 0.2.0"}
  ]
end
```

Then fetch dependencies:

```bash
mix deps.get
```

---

## πŸš€ Usage

This library is organized into domain-specific modules.

### Example

```elixir
# 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.BasicFormulas`
* `FinanceEquations.BehavioralEconomicsAndDecisionMaking`
* `FinanceEquations.BehavioralFinanceAndRatiosFormulas`
* `FinanceEquations.BusinessAccountingFormulas`
* `FinanceEquations.CorporateFinanceAndMna`
* `FinanceEquations.CorporateFinanceAndValuation`
* `FinanceEquations.CryptocurrencyAndBlockchainFormulas`
* `FinanceEquations.DerivativesAndHedging`
* `FinanceEquations.FixedIncomeAndBondAnalytics`
* `FinanceEquations.ForexAndInternationalFormulas`
* `FinanceEquations.InsuranceAndRiskManagementFormulas`
* `FinanceEquations.InvestmentFormulas`
* `FinanceEquations.LoanMortgageFormulas`
* `FinanceEquations.OptionDerivativesFormulas`
* `FinanceEquations.PersonalFinanceAndBudgeting`
* `FinanceEquations.PortfolioManagementFormulas`
* `FinanceEquations.RealEstateFormulas`
* `FinanceEquations.RealOptions`
* `FinanceEquations.RiskVolatilityFormulas`
* `FinanceEquations.TimeValueMoney`

---

## πŸ§ͺ Testing

Run tests with:

```bash
mix test
```

---

## πŸ“– Documentation

Documentation is generated using ExDoc.

* Local docs:

```bash
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!

1. Fork the repo
2. Create a feature branch
3. Add your formulas/tests
4. Submit a PR

---

## πŸ“„ License

Apache-2.0 License

---