finmath-engine
v0.4.1
Published
Motor de cálculos financeiros de alta precisão para o mercado brasileiro
Downloads
188
Maintainers
Readme
@finmath/engine
Motor de cálculos financeiros de alta precisão para o mercado brasileiro.
🎯 Características
- ✅ Precisão decimal (decimal.js - sem erros de ponto flutuante)
- ✅ 30 Golden Files validando cálculos
- ✅ TypeScript nativo com types completos
- ✅ CET completo (IOF + seguros + perfis institucionais)
- ✅ Método de Brent para IRR robusto
- ✅ 85% de cobertura de testes
📦 Instalação
npm install @finmath/engine decimal.js
# ou
pnpm add @finmath/engine decimal.js
# ou
yarn add @finmath/engine decimal.js🚀 Uso Rápido
import { Decimal } from 'decimal.js';
import { amortization, cet, irr } from '@finmath/engine';
// Price
const price = amortization.calculatePrice({
pv: new Decimal('10000'),
rate: new Decimal('0.02'),
n: 12
});
console.log(`PMT: R$ ${price.pmt.toFixed(2)}`); // R$ 946.56
// CET
const cetResult = cetBasic({
pv: new Decimal('10000'),
pmt: new Decimal('946.56'),
n: 12,
feesT0: [{ name: 'TAC', value: new Decimal('150') }]
});
console.log(`CET Anual: ${cetResult.cetAnual.mul(100).toFixed(2)}%`);
// IRR
const cashflows = [
new Decimal('-10000'),
new Decimal('1000'),
...
];
const tir = irr.calculateIRR(cashflows);
console.log(`TIR: ${tir.mul(100).toFixed(2)}%`);📚 Módulos Disponíveis
Amortização
calculatePrice()- Sistema PricegeneratePriceSchedule()- Cronograma PricecalculateSAC()- Sistema SACgenerateSacSchedule()- Cronograma SAC
CET (Custo Efetivo Total)
cetBasic()- CET básico (tarifas t0)calculateCETFull()- CET completo (IOF + seguros)
IRR/NPV
calculateIRR()- Taxa Interna de Retorno (Brent)calculateNPV()- Valor Presente Líquido
Outros
interest- Juros compostos (FV/PV)rate- Equivalência de taxasseries- Séries uniformesdaycount- Convenções de contagem de dias
📖 Documentação
🧪 Exemplos
Ver diretório examples/ para exemplos detalhados:
01-price-basico.ts- Cálculo Price completo02-cet-completo.ts- CET com tarifas03-irr-investimento.ts- TIR de projeto
🔬 Testes
# Todos os testes
pnpm test
# Apenas Golden Files
pnpm test:golden
# Cobertura
pnpm test:coverage📊 Qualidade
- ✅ 30/30 Golden Files validados
- ✅ 85% cobertura de código
- ✅ 0 erros TypeScript
- ✅ Lint limpo
🤝 Contribuindo
Contribuições são bem-vindas! Veja CONTRIBUTING.md.
📄 Licença
MIT © 2025 PrinceOfEgypt1
