Wie berechne ich eine modifizierte Dauer mit Matlab?

Numerisches Lösen von Differentialgleichungen: Eulerverfahren, Heun-Verfahren, Runge-Kutta (November 2024)

Numerisches Lösen von Differentialgleichungen: Eulerverfahren, Heun-Verfahren, Runge-Kutta (November 2024)
Wie berechne ich eine modifizierte Dauer mit Matlab?
Anonim
a:

Die modifizierte Duration misst die Empfindlichkeit der festverzinslichen Wertpapiere gegenüber Zinsänderungen. Um die modifizierte Duration in Matlab zu berechnen, geben Sie den Couponsatz der Anleihe, das Abwicklungsdatum, das Fälligkeitsdatum und die Rendite auf Halbjahresbasis an. Die Funktion, die die modifizierte Dauer in Matlab für eine gegebene Rendite berechnet, heißt "bnddury" und der Befehl lautet "result = bnddury (Rendite, CouponRate, Settle, Maturity)". Wenn Sie die modifizierte Duration anhand des aktuellen Preises der Anleihe und nicht der Rendite bis zur Fälligkeit berechnen möchten, verwenden Sie die Funktion "bnddurp" und führen Sie den Befehl "result = bnddurp (Price, CouponRate, Settle, Maturity)" aus. Das Ergebnis ist in beiden Fällen eine Matrix mit drei Arrays, die modifizierte Dauer, Macaulay-Dauer in Jahren und Macaulay-Dauer auf halbjährlicher Basis enthalten.

Die modifizierte Duration ist ein Konzept, das besagt, dass die Anleihekurse und Zinssätze umgekehrt proportional zueinander stehen. Die modifizierte Duration wird als Macaulay-Duration / (1 + yield / n) berechnet, wobei n die Mischungshäufigkeit pro Jahr ist. Die Macaulay-Duration stellt eine gewichtete durchschnittliche Zeit bis zur Rückzahlung der Anleihe dar und wird in Jahren gemessen. Die modifizierte Duration misst die Sensitivität des Anleihenpreises an den Veränderungen der Renditen und wird in Prozent gemessen.

Betrachten Sie einen Anleger, der an der Berechnung einer modifizierten Duration für seine Anleihe mit einem Abwicklungsdatum vom 2. August 1999, dem Fälligkeitsdatum am 15. Juni 2004, interessiert ist, einem Zinssatz von 5,5%. Couponzahlungen pro Jahr und Tageszählung der tatsächlichen / tatsächlichen Basis. Der Anleger ist daran interessiert, die modifizierte Duration zu kennen, wenn die Marktrendite für diese Anleihe 4% beträgt.

Erstens muss der Anleger Variablen für die Rendite mit dem Befehl "Rendite = 0. 04", Couponrate mit dem Befehl "CouponRate = 0. 055", Abwicklungsdatum mit dem Befehl "Settle = '02 -Aug-1999 '" erstellen. , Fälligkeitsdatum mit Befehl "Maturity = '15 -Jun-2004 '", Kuponzahlungshäufigkeit mit Befehl "Period = 2" und Tageszählbasis mit dem Befehl "Basis = 0". Beachten Sie, dass Variablen für Abrechnungs- und Fälligkeitsdaten von seriellen Datums- oder Datumsstrings sein müssen.

Der Befehl "result = bnddury (Yield, CouponRate, Settle, Maturity)" erzeugt ein Matrixergebnis, das drei Zahlen enthält, die eine modifizierte Duration von 4 darstellen. 24, Macaulay-Duration auf Jahresbasis von 4. 33 und Macaulay Duration auf einer Halbjahresbasis von 8. 66.

Wenn der Anleger keine Rendite bis zur Fälligkeit hat, aber einen Preis für die Anleihe hat, auf deren Basis er die modifizierte Duration berechnen möchte, kann dies mit der Funktion "bnddurp" tun. Angenommen, dieselbe Anleihe hat einen Preis von 106. Der Anleger muss eine Preisvariable mit dem Befehl "Price = 106" angeben.Der Befehl "result = bnddurp (Price, CouponRate, Settle, Maturity)" erzeugt ähnliche Ergebnisse wie die Funktion "bnddury".

Der Anleger kann auch eine andere Tageszählbasis angeben, indem er für die Variable "Basis" unterschiedliche Zahlenwerte von 0 bis 13 vorgibt. Zum Beispiel steht der Wert 1 für 30/360 Basis, 2 für Ist / 360 Basis und 3 für Ist / 365 Basis. Zusätzlich kann der Anleger weitere Parameter festlegen, wie das erste Coupondatum, das letzte Coupondatum und die Endmonatsregel.