Como faço para calcular uma duração modificada usando Matlab?

METODO DE NEWTON RAPHSON EN MATLAB (Novembro 2024)

METODO DE NEWTON RAPHSON EN MATLAB (Novembro 2024)
Como faço para calcular uma duração modificada usando Matlab?
Anonim
a:

A duração modificada avalia a sensibilidade dos títulos de renda fixa às mudanças nas taxas de juros. Para calcular a duração modificada em Matlab, especifique a taxa de cupão da obrigação, a data de liquidação, a data de vencimento e o rendimento até o vencimento em uma base semestral. A função que calcula a duração modificada em Matlab para um determinado rendimento é denominada "bnddury" e o comando é "result = bnddury (Yield, CouponRate, Settle, Maturity)". Se você deseja calcular a duração modificada com base no preço atual da obrigação em vez do rendimento até o vencimento, faça isso usando a função "bnddurp" e executando o comando "result = bnddurp (Price, CouponRate, Settle, Maturity)". O resultado em ambos os casos é uma matriz com três arrays contendo duração modificada, duração de Macaulay em anos e duração de Macaulay em uma base semestral.

A duração modificada é um conceito que afirma que os preços das obrigações e as taxas de juros estão inversamente relacionados. A duração modificada é calculada como duração de Macaulay / (1 + rendimento / n), onde n é a freqüência de composição por ano. A duração de Macaulay representa um tempo médio ponderado até o reembolso das obrigações e é medida em anos. A duração modificada mede a sensibilidade do preço da obrigação às mudanças nos rendimentos e é medida em porcentagem.

Considere um investidor interessado em calcular uma duração modificada para a sua obrigação com uma data de liquidação de 2 de agosto de 1999, a data de vencimento de 15 de junho de 2004, uma taxa de cupom de 5,5%, dois pagamentos de cupom por ano e contagem diária de reais / reais. O investidor está interessado em saber a duração modificada quando o rendimento do mercado para este vínculo é de 4%.

Primeiro, o investidor precisa criar variáveis ​​para o rendimento com o comando "Yield = 0. 04", taxa de cupom com comando "CouponRate = 0. 055", data de liquidação com comando "Settle = '02 -Aug-1999 '" , data de vencimento com comando "Maturidade = '15 -Jun-2004 '", freqüência de pagamento de cupom com comando "Período = 2" e base de contagem diária com comando "Basis = 0". Observe que as variáveis ​​para datas de liquidação e maturidade devem ser de números de data em série ou cadeias de data.

O comando "result = bnddury (Yield, CouponRate, Settle, Maturity)" produz um resultado de matriz que contém três números, que representam duração modificada de 4. 24, duração de Macaulay em uma base anual de 4. 33 e duração de Macaulay numa base semestral de 8. 66.

Se o investidor não tiver um rendimento até o vencimento, mas tem um preço do vínculo, com base no qual ele gostaria de calcular a duração modificada, ele pode fazê-lo usando a função "bnddurp". Suponha que o mesmo vínculo tenha um preço de 106. O investidor precisa especificar uma variável de preço com o comando "Preço = 106".O comando "result = bnddurp (Price, CouponRate, Settle, Maturity)" produz resultados semelhantes à função "bnddury".

O investidor também pode indicar diferentes contagens do dia, especificando diferentes valores numéricos de 0 a 13 para a variável "Basis". Por exemplo, o valor 1 representa 30/360 de base, 2 por real / 360 e 3 representa a base atual / 365. Além disso, o investidor pode especificar outros parâmetros, como a primeira data do cupom, a última data do cupom e a regra do mês final.