@prestamype/financial-functions
Version:
Implementación de funciones financieras
71 lines (57 loc) • 1.81 kB
Markdown
# financial-functions
Implementación de funciones financieras.
_________________
# **cronograma**
## **Summary**
Utility functions to calculate payment schedules
#### Types
- payment_item
#### Functions
- flexible(amount, nper, i_rate, commission\_rate)
- fija(amount, nper, i_rate, commission\_rate)
- puente(amount, nper, i_rate, commission\_rate)
## **Types**
```js
payment: { i: Number, amortization: Number, fee: Number }
```
Where:
- `i`: interes en soles
- `amortization`: amortizacion en soles
- `fee`: cuota total en soles, suma de interes y amortizacion. Por conveniencia para sacar el flujo directamente
## **Functions**
All cronograma functions are implementations of the same interface that calculates the payment schedule. `total_amount`: es `amount` + el total de la comision a pagar
* flexible(amount, nper, i\_rate, commission\_rate)
```js
flexible(Number, Number, Number, Number) :: { payments: [payment], total_amount: Number }
```
* fija(amount, nper, i\_rate, commission\_rate)
```js
fija(Number, Number, Number, Number) :: { payments: [payment], total_amount: Number }
```
* puente(amount, nper, i\_rate, commission\_rate)
```js
puente(Number, Number, Number, Number) :: { payments: [payment], total_amount: Number }
```
_________________
# tasa
## **Summary**
#### Types
#### Functions
- tir(flow)
- tcea(tir)
- main(flow)
## **Types**
## **Functions**
* tir(flow)
Obtener la Tasa Interna de Retorno (TIR) a partir de un flujo, usualmente el primer elemento es el monto desembolsado `total_amount` y los siguientes son `payment.fee`
```js
async tir([Number]) :: Number | null
```
* tcea(tir)
```js
tcea(Number) :: Number
```
* main(flow)
```js
async main([Number]) :: { tir: Number | null, tcea: Number | null, tcem: Number | null }
```