Calculadora Financeira
Enviado: 19 Set 2011 15:53
Não sei se este é o local pra postar isto... Se não for, algum moderador por favor mova pro lugar certo. Obrigado!
Há algum tempo montei uma "CALCULADORA FINANCEIRA" bem simples para um cliente e agora resolvi postar aqui, quem sabe pode ser útil pra alguém. São somente 2 opções de cáculo, as mais usuais: cálculo de prestação e cálculo da taxa de juro embutida em um financiamento, com pagamentos fixos postecipados ou antecipados, ambas com base no modelo de juros decrescentes e prestações fixas.
Exemplos de uso:
a) vc vende $100 pra receber em 3 parcelas fixas, 30/60/90 dias, e quer botar um "jurinho"? Qual o valor a acrescentar nas parcelas fixas, considerando 5% de juros compostos ao mês?
b) vc vai pegar $100 no banco e o gerente diz que são 4 parcelas de $28,20. Que juro mensal efetivo o banco está cobrando?
Neste primeiro post, vou falar do CÁLCULO DA PRESTAÇÃO. O cálculo do JURO embutido fica pra outro.
Primeiro, as variáveis e os conceitos:
- pv = valor financiado
- pmt = valor da prestação fixa
- n = número de prestações
- i = taxa efetiva de juros compostos
- modo = postecipado ou antecipado
MODOS (veja LINHA DO TEMPO, abaixo):
- postecipado (a mais usual): vc financia $100 hoje, pra pagar a primeira prestação dentro de 1 mês ("0 + 4")
- antecipado: vc financia $100 hoje, mas o banco já desconta uma parcela hoje ("1 + 3")
Taxa de JUROS
Quando se fala em %, é preciso transformar a taxa % em decimais para fazer o cálculo.
5% -> 5 "por cento" -> 5 / 100 -> 0,05
JUROS COMPOSTOS
Nas fórmulas abaixo, o TEMPO é considerado em períodos IGUAIS, ou seja, são 4 meses "iguais", não importa se um tem 31 dias e o outro tem 28.
Uma "curiosidade" importante sobre juros: se forem juros compostos (juros sobre juros), 12% ao ano NÃO corresponde a 1% ao mês. Não é só dividir 12% por 12. Pra achar a taxa mensal equivalente a 12% ao ano precisa extrair a raiz 12 da taxa anual (se a taxa for semestral, extrair a raiz 6 da taxa anual e assim por diante).
. divide a taxa % por 100, soma o principal (1), calcula a raiz 12, tira o principal, multiplica por 100 => % mensal
. (((1+(12/100))^(1/12))-1)*100) = 0,9488793% ao mês.
. 0,9488793% efetivo, capitalizado (juro sobre juro) mês a mês, dá 12% efetivo em 12 meses.
. já 1% efetivo ao mês, dá 12,6825% no ano...
Esse negócio de calcular RAIZ 12, como faz? O Clipper não tem nem função pra raiz quadrada! Tem, sim. Fácil: é só elevar ao inverso. Raiz quadrada, é só elevar à potência 1/2. Raíz cúbica? Elevar à potência 1/3. Raiz 12? Potência 1/12. E assim por diante.
. 12 elevado ao quadrado = 12^2 = 144
. raiz quadrada de 144 = 144^(1/2) = 12
. 12 elevado ao cubo = 12^3 = 1728
. raiz cúbica de 1728 = 1728^(1/3) = 12
LINHA DO TEMPO
Por exemplo, vc pega $100 no banco e vai pagar em 4 prestações, com juro composto mensal efetivo de 5% ao mês. Qual o valor da prestação em cada MODO?
A mesma coisa, numa planilha, pra conferir:
Finalmente, as fórmulas pra calcular as prestações PMT:
(mais abaixo, elas estão transformadas em Clipper/XHarbour)
Agora, é só criar os GETs na tela e mandar rodar, considerando PV, N e I sempre >0:
OUTRA CURIOSIDADE
Dia destes, um colega me perguntou sobre como fazia pra "estornar" um percentual aplicado, pra voltar o principal ao número original. Ele tinha feito $100 + 10% = $110 (ou seja, $100*1,10), só que, quando tirava 10% de $110 ($110-10%), dava $99...
Simples: é só trocar o sinal (* por /)
. na ida: $100 * 1,10 = $110
. na volta: $110 / 1,10 = $100
Outro exemplo: 100 - 10%
. na ida: $100 * (1-0,10) = $90
. na volta: $90 / (1-0,10) = 100
Há algum tempo montei uma "CALCULADORA FINANCEIRA" bem simples para um cliente e agora resolvi postar aqui, quem sabe pode ser útil pra alguém. São somente 2 opções de cáculo, as mais usuais: cálculo de prestação e cálculo da taxa de juro embutida em um financiamento, com pagamentos fixos postecipados ou antecipados, ambas com base no modelo de juros decrescentes e prestações fixas.
Exemplos de uso:
a) vc vende $100 pra receber em 3 parcelas fixas, 30/60/90 dias, e quer botar um "jurinho"? Qual o valor a acrescentar nas parcelas fixas, considerando 5% de juros compostos ao mês?
b) vc vai pegar $100 no banco e o gerente diz que são 4 parcelas de $28,20. Que juro mensal efetivo o banco está cobrando?
Neste primeiro post, vou falar do CÁLCULO DA PRESTAÇÃO. O cálculo do JURO embutido fica pra outro.
Primeiro, as variáveis e os conceitos:
- pv = valor financiado
- pmt = valor da prestação fixa
- n = número de prestações
- i = taxa efetiva de juros compostos
- modo = postecipado ou antecipado
MODOS (veja LINHA DO TEMPO, abaixo):
- postecipado (a mais usual): vc financia $100 hoje, pra pagar a primeira prestação dentro de 1 mês ("0 + 4")
- antecipado: vc financia $100 hoje, mas o banco já desconta uma parcela hoje ("1 + 3")
Taxa de JUROS
Quando se fala em %, é preciso transformar a taxa % em decimais para fazer o cálculo.
5% -> 5 "por cento" -> 5 / 100 -> 0,05
JUROS COMPOSTOS
Nas fórmulas abaixo, o TEMPO é considerado em períodos IGUAIS, ou seja, são 4 meses "iguais", não importa se um tem 31 dias e o outro tem 28.
Uma "curiosidade" importante sobre juros: se forem juros compostos (juros sobre juros), 12% ao ano NÃO corresponde a 1% ao mês. Não é só dividir 12% por 12. Pra achar a taxa mensal equivalente a 12% ao ano precisa extrair a raiz 12 da taxa anual (se a taxa for semestral, extrair a raiz 6 da taxa anual e assim por diante).
. divide a taxa % por 100, soma o principal (1), calcula a raiz 12, tira o principal, multiplica por 100 => % mensal
. (((1+(12/100))^(1/12))-1)*100) = 0,9488793% ao mês.
. 0,9488793% efetivo, capitalizado (juro sobre juro) mês a mês, dá 12% efetivo em 12 meses.
. já 1% efetivo ao mês, dá 12,6825% no ano...
Esse negócio de calcular RAIZ 12, como faz? O Clipper não tem nem função pra raiz quadrada! Tem, sim. Fácil: é só elevar ao inverso. Raiz quadrada, é só elevar à potência 1/2. Raíz cúbica? Elevar à potência 1/3. Raiz 12? Potência 1/12. E assim por diante.
. 12 elevado ao quadrado = 12^2 = 144
. raiz quadrada de 144 = 144^(1/2) = 12
. 12 elevado ao cubo = 12^3 = 1728
. raiz cúbica de 1728 = 1728^(1/3) = 12
LINHA DO TEMPO
Por exemplo, vc pega $100 no banco e vai pagar em 4 prestações, com juro composto mensal efetivo de 5% ao mês. Qual o valor da prestação em cada MODO?
Código: Selecionar todos
POSTECIPADO ("0 + 4") ANTECIPADO ("1 + 3")
100 100 entrada
| |
---------------------------- ---------------------- tempo
0 1 2 3 4 0 1 2 3
| | | | | | | |
---------------------- ----------------------
4 x $28,20 4 x $26,86 saída = prestações fixas
Código: Selecionar todos
Mês PV I PMT Saldo
POSTECIPADO
0 100,00 0,00 -0,00 100,00
1 0,00 5,00 -28,20 76,80 // $5,00 = 5% sobre saldo devedor de $100,00
2 0,00 3,84 -28,20 52,44 // $3,84 = 5% sobre saldo devedor de $ 76,80
3 0,00 2,62 -28,20 26,86 // $2,62 = 5% sobre saldo devedor de $ 52,44
4 0,00 1,34 -28,20 0,00 // $1,34 = 5% sobre saldo devedor de $ 26,86
ANTECIPADO
0 100,00 0,00 -26,86 73,14 // o banco só credita $73,14
1 0,00 3,66 -26,86 49,94 // $3,66 = 5% sobre saldo devedor de $ 73,14
2 0,00 2,50 -26,86 25,58 // $2,50 = 5% sobre saldo devedor de $ 49,95
3 0,00 1,28 -26,86 0,00 // $1,28 = 5% sobre saldo devedor de $ 25,58
(mais abaixo, elas estão transformadas em Clipper/XHarbour)
Código: Selecionar todos
n
(1+i) * i
pmt = pv * ---------- // postecipado
n
(1+i) - 1
n
1 (1+i) * i
pmt = --- * pv * ---------- // antecipado
1+i n
(1+i) - 1
Código: Selecionar todos
@x,y get pv pict "@E 999,999.99" vali pv>0
@x,y get n pict "@E 999" vali n>0
@x,y get i pict "@E 99.9999%" vali i>0
@x,y get modo pict "@!" vali modo$"01"
read
if modo="0"
pmt=round(pv*((((1+(i/100))^n)*(i/100))/(((1+(i/100))^n)-1)),2) //postecipado
else
pmt=(1/(1+(i/100)))*pv*(((i/100)*((1+(i/100))^n))/(((1+(i/100))^n)-1)) //antecipado
endi
? tran(pmt,"@E 999,999.99") -> valor da prestação mensalDia destes, um colega me perguntou sobre como fazia pra "estornar" um percentual aplicado, pra voltar o principal ao número original. Ele tinha feito $100 + 10% = $110 (ou seja, $100*1,10), só que, quando tirava 10% de $110 ($110-10%), dava $99...
Simples: é só trocar o sinal (* por /)
. na ida: $100 * 1,10 = $110
. na volta: $110 / 1,10 = $100
Outro exemplo: 100 - 10%
. na ida: $100 * (1-0,10) = $90
. na volta: $90 / (1-0,10) = 100