Skip to content

Latest commit

 

History

History
1095 lines (876 loc) · 38.4 KB

book.org

File metadata and controls

1095 lines (876 loc) · 38.4 KB

Fundamentos de Matemática Financeira

Introdução

O objetivo do livro é construir uma intuição de como derivar fórmulas para cálculos de juros, fluxos de caixa e sistemas de amortização a partir de relações básicas, ao mesmo tempo em que demonstra como implementar em uma linguagem de programação.

Este livro acompanha código-fonte na linguagem clojure, que serve de suporte para as demonstrações e implementa as funções básicas de matemática financeira. Todas as fórmulas incluídas no livro são geradas a partir da definição canônica destas funções, e renderizadas em LaTeX utilizando a biblioteca sicmutils. O código-fonte do próprio livro está disponível em formato org-mode para emacs, e pode ser explorado de forma interativa seguindo as instruções de instalação.

Juros

Fundamentos

Dado o capital (ou valor presente) ${PV}$, a taxa de juros (%) $i$, o juro $I$ e o montante (ou valor futuro) $FV$, as relações fundamentais são:

Exemplo:

Um capital de $ 1000 aplicado durante um ano a uma taxa de 22% ao ano.

  1. O juro é dado por:
    (* 1000 0.22M)
        
  2. O montante ao fim do período é dado por:
    (* 1000 1.22M)
        
  3. O capital que deve aplicar-se para obter $ 1220 à mesma taxa é:
    (/ 1220 1.22M)
        
  4. E a taxa de juros pode ser inferida por:
    (- (/ 1220 1000) 1M)
        

Neste exemplo, o período da taxa $i$ e o período de aplicação foi o mesmo. Quando aplicamos a taxa ao capital mais de uma vez, é preciso adotar um dos regimes de capitalização.

Juros simples

É o regime de capitalização em que aplica-se a taxa $i$ a um mesmo capital $PV$, por $n$ períodos, para obter o montante $FV$:

Por analogia, faz-se a operação inversa para descontar a taxa $i$ do montante $FV$ e obter o capital $PV$:

Portanto, o fator de capitalização para juros simples é a função linear:

Exemplo:

Um capital de $ 1000 aplicado a uma taxa de 8% ao mês segue a progressão:

Portanto, o montante ao fim de 3 meses equivale a:

(* 1000 ((simple 0.08M) 3))

E o capital que equivale a este montante (ou ainda, o valor futuro trazido a valor presente) na mesma taxa é:

(/ 1240 ((simple 0.08M) 3))

Juros compostos

É o regime de capitalização em que aplica-se a taxa $i$ sobre o capital $PV$ para obter o primeiro montante, e a mesma taxa $i$ sobre este montante, e assim por diante, um $n$ número de vezes, até obter o montante final $FV$:

Por analogia, faz-se a operação inversa para descontar a taxa $i$ do montante $FV$ e obter o capital $PV$:

Portanto, diferente dos juros simples, o fator de capitalização para juros compostos é a função não-linear:

Exemplo:

Um capital de $ 1000 aplicado a uma taxa de 8% ao mês segue a progressão:

Portanto, o montante ao fim de 3 meses equivale a:

(* 1000 ((compound 0.08M) 3))

E o capital que equivale a este montante (ou ainda, o valor futuro trazido a valor presente) na mesma taxa é:

(/ 1259.7M ((compound 0.08M) 3))

Fator de capitalização

Para aplicações que duram $n$ períodos, podemos generalizar as equações para um fator de capitalização qualquer $f$ em função de $n$, obtendo:

Exemplo:

Uma capital de $ 1000 é aplicado a uma taxa progressiva de 2%, 4%, 6%, 8%, … ao ano, conforme o tempo em que permanece aplicado.

Qual será o montante para cada ano aplicado, durante os 5 primeiros anos?

O fator de capitalização para essa taxa progressiva é dado por:

Portanto:

(let [f (fn [n] (+ 1 (* 0.02M (expt n 2))))]
  (mapv #(fv f % 1000) (range 1 6)))

Frequência de capitalização

Quando a aplicação dura $n$ períodos, a frequência de capitalização dita quantas vezes o montante será reaplicado durante o prazo.

Exemplo:

Assumindo uma taxa $i$ de 100% ao ano, analisamos o fator de capitalização com aplicações anuais, mensais e diárias.

  1. No caso do regime de juros simples, não há diferença entre frequências de capitalização diferentes.
    ((simple 1) 1.0)
    ((simple (/ 1 12)) 12.0)
    ((simple (/ 1 360)) 360.0)
    ((simple (/ 1 365)) 365.0)
        
  2. No caso do regime de juros compostos, uma maior frequência de capitalização representa um rendimento maior:
    ((compound 1) 1)
    ((compound (/ 1 12)) 12.0)
    ((compound (/ 1 360)) 360.0)
    ((compound (/ 1 365)) 365.0)
        

    É possível observar que conforme aumenta a frequência de capitalização, aproximamos a função exponencial:

    ((compound (/ 1 365)) 365.0)
    (exp 1)
        

Taxa efetiva

Quando generalizamos o fator de capitalização, a fórmula para inferir a taxa $i$ (apresentada anteriormente), agora nos dá a chamada taxa efetiva:

Exemplo:

Um capital de $ 1000 foi aplicado durante 12 meses a uma taxa nominal de 12% ao ano a juros compostos.

Qual foi a taxa efetiva neste ano?

(rate ((compound (/ 0.12M 12)) 12))

Taxa equivalente

São equivalentes as taxas nominais $i_1$ e $i_2$ quando, aplicadas nos períodos $n_1$ e $n_2$ relativos a duração das respectivas taxas, resultam no mesmo valor:

Exemplo:

Qual a taxa mensal equivalente a 21% ao ano:

  1. A juros simples?
    (* 0.21M 1/12)
        

    Prova:

    (rate ((simple 0.017500M) 12))
        
  2. A juros compostos?
    (- (expt (+ 1 0.21M) 1/12) 1)
        

    Prova:

    (rate ((compound 0.01602M) 12))
        

Taxas variáveis

Quando a taxa de juros varia ao longo do tempo, podemos generalizar o fator de capitalização para um vetor de taxas $i$ indexado pelo período $n$:

Substituindo $f$ nas relações fundamentais, temos:

Exemplo:

Em três meses consecutivos, uma aplicação de $ 16000 rendeu 1.3%, 1.7% e 2.1%.

Dada a função compound-index que retorna o produto das taxas:

((compound-index ['i_1 'i_2 'i_3]) 'n)
  1. Qual o valor do rendimento?
    (let [i (compound-index [0.013M 0.017M 0.021M])]
      (interest i 3 16000))
        
  2. Qual a taxa efetiva no trimestre?
    (let [c 16000
          i (compound-index [0.013M 0.017M 0.021M])]
      (rate (fv i 3 c) c))
        

Taxas corrigidas

Quando precisamos corrigir uma taxa $i$ por outra taxa $j$ indexada pelo período $n$, podemos calcular o produto:

Ou ainda, generalizando para $i$ indexado por $n$, temos:

Exemplo:

Em três semestres consecutivos, uma aplicação rendeu 1%, 2% e 5%. Sabendo que o imposto de renda segue alíquotas semestrais progressivas de 22.5%, 20% e 17.5%, qual foi a taxa de rendimento líquido?

Primeiro, calculamos a taxa real de rendimento de cada mês, considerando o imposto de renda:

(let [interest [0.01M 0.02M 0.05M]
      ;; Recolher a alíquota equivale a render (1 - alíquota)
      tax [(- 1 0.225M) (- 1 0.20M) (- 1 0.175M)]]
  (mapv * interest tax))

Então, calculamos a taxa efetiva nos três semestres:

(let [i (compound-index [0.00775M 0.0160M 0.04125M])]
  (rate (i 3)))

Provando pela definição:

(let [interest ['i_1 'i_2 'i_3]
      tax [(- 1 't_1) (- 1 't_2) (- 1 't_3)]
      i (compound-index (mapv * interest tax))]
  (align (eq 'i_e (rate (i 'n)))))

Capitais

Fluxo de caixa

Denomina-se fluxo de caixa, de forma genérica, o conjunto de entradas e saídas de capitais de uma operação ao longo do tempo.

É útil representá-lo graficamente com o diagrama de fluxo de caixa, onde o eixo horizontal representa a dimensão do tempo, as setas para cima as entradas de capital, e as setas para baixo as saídas de capital.

Exemplo:

${CF_1 = PV_0}$

${CF_2 = -FV_n}$

${CF_3 = CF_1 + CF_2 = PV_0 - FV_n}$

${CF_4 = -C_0 + C_n + C_m + C_o}$

Capitais equivalentes

Considere os capitais $C_0$ e $C_n$ disponíveis no momento $0$ e $n$, respectivamente:

Pelas definições anteriores de valor futuro e valor presente, serão equivalentes os capitais $C_0$ e $C_n$ quando, pela taxa $i$

  1. a juros simples:
  2. a juros compostos:
  3. variável:

Ou de forma geral, para qualquer fator de capitalização $f$:

Valor do capital no tempo

Por analogia, se considerarmos o mesmo capital $C$ em dois fluxos de caixa distintos…

… e algum fator de capitalização $f$ positivo, então pela definição anterior de equivalência de capitais, obviamente valem as desigualdades:

Ou seja, um capital de $ 1000 hoje vale mais do que $ 1000 no futuro devido ao seu potencial de rendimento a uma taxa apropriada. Da mesma forma, o adiantamento de um capital de $ 1000 que a princípio seria pago no futuro deve ser descontado a uma taxa apropriada.

Esse conceito fundamental recebe o nome valor do capital no tempo.

Capitais equivalentes em sequência

Dada uma operação com o seguinte fluxo de caixa:

Então, pela definição de equivalência de capitais, podemos generalizar as equações de valor presente $PV$ e valor futuro $FV$ para este fluxo de caixa através de:

Exemplo:

Uma operação prevê o pagamento de $ 2000, $ 3000 e $ 5000 em três meses consecutivos:

Qual o menor capital que, aplicado a uma taxa de 1.5% ao mês, faz frente a estes pagamentos?

(let [f (compound 0.015M)
      cf [2000 3000 5000]]
  (reduce + (map-indexed #(pv f (+ %1 1) %2) cf)))

Prova:

  • No primeiro mês de aplicação, obtemos o montante:
    (fv (compound 0.015M) 1 9664M)
        
  • Se retiramos $ 2000 e aplicamos o restante por mais um mês, obtemos:
    (fv (compound 0.015M) 1 (+ 9809M -2000M))
        
  • Se retiramos mais $ 3000 e aplicamos o restante por mais um mês, obtemos:
    (fv (compound 0.015M) 1 (+ 7926.1M -3000M))
        

Obtendo então o seguinte fluxo de caixa da aplicação:

Que se somado ao fluxo de caixa dos pagamentos:

Equivale ao fluxo de caixa líquido:

Valor presente líquido

Dada uma operação com o seguinte fluxo de caixa:

Podemos analisar a rentabilidade (ou valor presente líquido) ${NPV}$ dessa operação calculando:

  • Se ${NPV} > 0$, a operação é rentável;
  • Se $NPV \leq 0$, a operação não é rentável;

Sistemas de Amortização

Amortização é o processo de pagamento de uma dívida em pagamentos periódicos programados, de modo que ao fim do prazo tenha-se reembolsado o capital, o juro, ou ambos. Denomina-se por sistema de amortização um programa de pagamentos em particular.

Sistema de Amortização Constante

É o sistema onde cada pagamento reembolsa uma fração igual do capital, mais o juro sobre o saldo devedor no período.

Ou seja, a amortização $A$ segue a seguinte progressão:

E o fluxo de caixa $CF$ segue a progressão:

Exemplo:

Para um desembolso de $ 1000 a uma taxa de 10% ao mês reembolsado em 3 pagamentos, o fluxo de caixa esperado é:

Em formato tabela:

PagamentosAmortizaçõesJurosSaldo
1000001000
-433.33M-333.33M100.00M666.67M
-400.00M-333.33M66.67M333.34M
-366.67M-333.33M33.34M0.01M

Sistema Price ou Francês

É o sistema onde cada pagamento reembolsa uma parte do capital e juro sobre o saldo devedor, de modo que todos os pagamentos sejam de igual valor.

Para isso, primeiro determinamos o valor dos pagamentos através da fórmula:

Assim, o fluxo de caixa $CF$ segue a seguinte progressão:

Exemplo:

Para um desembolso de $ 1000 a uma taxa de 10% ao mês reembolsado em 3 pagamentos, o fluxo de caixa esperado é:

Em formato tabela:

PagamentosAmortizaçõesJurosSaldo
1000001000
-402.11M-302.11M100.00M697.89M
-402.11M-332.32M69.79M365.57M
-402.11M-365.55M36.56M0.02M

Período de Carência

Quando o primeiro pagamento não ocorre em um período inteiro, mas em $c$ períodos, podemos ajustar a fórmula para obtenção do valor dos pagamentos multiplicando pelo valor futuro após o período de carência:

Exemplo:

Qual o valor do pagamento para um desembolso de $ 1000 a uma taxa de 10% ao mês, reembolsado em 3 pagamentos, com o primeiro pagamento em 2 meses?

(* (fv (compound 0.1M) 2 1000M) (pmt (compound 0.1M) 3))

Assim, o programa de pagamentos fica:

PagamentosAmortizaçõesJurosSaldo
1210.0M0.0M0.0M1210.0M
-486.55M-365.55M121.00M844.45M
-486.55M-402.10M84.45M442.35M
-486.55M-442.31M44.24M0.04M

Referências