Aplicações de Matlab em Finanças I – Projeto II

Estimação da Estrutura a Termo da Taxa de Juros em Países Emergentes

 

Suponha que, baseado em dados do dia 6 de agosto de 2001, estamos interessados em obter a estrutura a termo da taxa de juros no mercado emergente que apresenta os seguintes títulos de renda fixa:

Ativo

Preço

Coupon (%)

Maturação (mm/dd/aa)

1

80

10

08/06/2004

2

82

12

04/15/2005

3

79.5

11

06/15/2006

4

77.2

8

02/10/2005

5

78.3

10

08/06/2017

6

79.5

10

11/04/2009

7

82

14

04/04/2005

8

80.5

12

10/04/2005

9

79

10.5

10/15/2004

10

76.5

9

08/10/2006

11

78

12.5

06/10/2012

12

79

7

06/06/2009

13

82

13

03/15/2008

14

80

11

05/09/2007

15

77

10

06/06/2008

16

78

10.5

12/20/2009

17

79.5

12

04/20/2015

18

75

8

11/15/2005

19

76

9

01/15/2008

20

76.5

10

12/11/2006

Os coupons são pagos semestralmente. Para estimar a estrutura a termo, utilize o modelo apresentado em aula que decompõe esta curva na soma de uma função de comparação e uma combinação linear de polinômios de Legendre. Fixe o número de polinômios igual a 3, considerando os polinômios de Legendre de graus 0, 1 e 2.

A curva de comparação (benchmark) é representada pela estrutura a termo dos strips americanos. Esta encontra-se no arquivo strips.mat.

 

 

 

 

Passos:

  1. Utilize a função legendre() para gerar os gráficos dos três primeiros polinômios de Legendre, multiplicados por diferentes constantes (partição uniforme de 10 valores entre [-1,1]). Indique com que tipo de movimento cada polinômio está relacionado. Gere também um gráfico da curva dos strips.
  2. Crie um vetor p para os preços dos ativos, uma matriz cf para os fluxos de caixa dos ativos e uma matriz correspondente dt_cf para as datas de pagamento destes fluxos. Nestas matrizes, cada linha representa um ativo e cada coluna representa um fluxo. As datas de pagamento devem estar expressas em anos, considerando-se que os papéis pagam seus fluxos de caixa na convenção (dias corridos)/365. Armazene a curva dos strips na variável str e as datas de maturação dos strips na variável tstr.
  3. Utilize a função spline() para obter os valores interpolados para a curva dos strips nas datas certas de pagamento dos fluxos de caixa dos ativos, na matriz dt_cf, gerando a nova matriz int_str cujas dimensões coincidem com as da matriz dt_cf.
  4. Utilizando as matrizes criadas nos passos 2 e 3 e novamente a função legendre(), monte uma rotina de otimização para encontrar os coeficientes de Legendre que minimizam a distância quadrática entre os preços de mercado observados e os preços obtidos pelo modelo a partir do desconto dos fluxos de caixa a valor presente utilizando-se a estrutura a termo parametrizada.
  5. Sugestão: Para a otimização utilize a função nlinfit() (Mínimos Quadrados Não-Lineares).

  6. Gere um gráfico contendo os resíduos obtidos, definidos pela distância entre os preços de mercado e os preços obtidos pelo modelo.
  7. Gere um gráfico da estrutura a termo obtida.

Data limite de entrega: Sexta-feira, dia 31 de agosto de 2001.

Entregar na secretaria (horário comercial) ou ao Caio (na JGP), Moacyr ou Zubelli (no IMPA).