# 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

---

 
