core

Code documentation

source

SACCalculator

 SACCalculator (valor_financiado:float, prazo:int, taxa_anual:float)

A simple calculator class

Type Details
valor_financiado float Valor financiado
prazo int Prazo em meses
taxa_anual float Taxa de juros anual
sac = SACCalculator(205385.45, 420, 9.99)
tabela = sac.tabela()
tabela.head()
Parcela Amortização Juros Valor da Parcela Saldo Devedor
0 1 489.01 1636.20 2125.22 204896.44
1 2 489.01 1632.31 2121.32 204407.42
2 3 489.01 1628.41 2117.43 203918.41
3 4 489.01 1624.52 2113.53 203429.40
4 5 489.01 1620.62 2109.63 202940.39
tabela_amortizacao_extra = sac.amortizacao_extra_mensal(valor_amortizado_extra_mensal=5000)
tabela_amortizacao_extra.head()
Parcela Saldo Devedor Inicial Amortização Amortização Extra Juros Valor da Parcela Saldo Devedor Final
0 1 205385.450000 489.012976 5000.0 1636.203997 2125.216973 199896.437024
1 2 199896.437024 489.012976 5000.0 1592.475754 2081.488730 194407.424048
2 3 194407.424048 489.012976 5000.0 1548.747510 2037.760486 188918.411071
3 4 188918.411071 489.012976 5000.0 1505.019267 1994.032243 183429.398095
4 5 183429.398095 489.012976 5000.0 1461.291023 1950.303999 177940.385119
len(tabela.index), len(tabela_amortizacao_extra)
(420, 37)
tabela['Valor da Parcela'].sum(), tabela_amortizacao_extra['Saldo Devedor Inicial'].loc[0] + tabela_amortizacao_extra['Juros'].sum()
(549806.39, 236801.98771555116)
tabela['Juros'].sum(), tabela_amortizacao_extra['Juros'].sum()
(344420.94, 31416.53771555116)
assert SACCalculator(200000, 360, 0.01).tabela().shape[0] == 360
assert SACCalculator(200000, 12, 0.01).tabela().shape[0] == 12
assert SACCalculator(200000, 24, 0.01).tabela().shape[0] == 24
assert SACCalculator(200000, 5, 0.01).tabela().shape[0] == 5