Hvordan beregner jeg en ændret varighed ved hjælp af Matlab?

Technology Innovation Ep 4: Quantitative Analyst (September 2024)

Technology Innovation Ep 4: Quantitative Analyst (September 2024)
Hvordan beregner jeg en ændret varighed ved hjælp af Matlab?
Anonim
a:

Den ændrede varighed vurderer følsomheden af ​​de fastforrentede værdipapirer til ændringer i rentesatser. For at beregne den ændrede varighed i Matlab skal du specificere obligationsens kuponrente, afregningsdato, forfaldsdato og udbytte til løbetid på halvårlig basis. Funktionen, der beregner den modificerede varighed i Matlab for et givet udbytte kaldes "bddury" og kommandoen er "result = bnddury (Udbytte, CouponRate, Settle, Maturity)". Hvis du vil beregne ændret varighed baseret på obligations nuværende pris i stedet for udbyttet til modenhed, gør du det ved at bruge funktionen "bnddurp" og køre kommandoen "result = bnddurp (Price, CouponRate, Settle, Maturity)". Resultatet i begge tilfælde er en matrix med tre arrays indeholdende modificeret varighed, Macaulay varighed i år og Macaulay varighed på halvårlig basis.

Den ændrede varighed er et koncept, der fastslår, at obligationspriserne og interesserne er omvendt relaterede. Den modificerede varighed beregnes som Macaulay varighed / (1 + udbytte / n), hvor n er blandingsfrekvensen om året. Macaulay-varighed repræsenterer en vægtet gennemsnitstid indtil obligationernes tilbagebetaling, og den måles i år. Ændret varighed måler følsomheden af ​​obligationsprisen til ændringer i udbytter, og den måles i procent.

Overvej en investor, der er interesseret i at beregne en ændret varighed for hans obligation med en afregningsdato den 2. august 1999, løbetidspunktet den 15. juni 2004, en 5,5% kuponrente to kuponbetalinger pr. år og dagtællingsgrundlag for faktisk / faktisk. Investor er interesseret i at kende den ændrede varighed, når markedsudbyttet for denne obligation er 4%.

For det første skal investor oprette variabler for udbytte med kommando "Udbytte = 0. 04", kuponrente med kommando "CouponRate = 0. 055", afregningsdato med kommando "Settle = '02 -Aug-1999 '" , løbetid med kommando "Maturity = '15 -Jun-2004 '", kupon betalingsfrekvens med kommando "Periode = 2" og dagtællingsgrundlag med kommando "Basis = 0". Bemærk, at variabler for afregnings- og forfaldstid datoer skal være af serienummer eller datastreng.

Kommandoen "resultat = bnddury (Udbytte, CouponRate, Settle, Maturity)" producerer et matrixresultat, der indeholder tre tal, som repræsenterer ændret varighed på 4. 24, Macaulay varighed på årsbasis af 4. 33 og Macaulay varighed på halvårlig basis på 8. 66.

Hvis investor ikke har et udbytte til forfald, men har en obligation på obligationslånet, hvor han gerne vil beregne den ændrede varighed, har han kan gøre det ved at bruge funktionen "bnddurp". Antag at samme obligation har en pris på 106. Investoren skal angive en prisvariabel med kommando "Price = 106".Kommandoen "resultat = bnddurp (Pris, CouponRate, Settle, Maturity)" producerer lignende resultater som funktionen "bddury" gør.

Investoren kan også angive forskellige dagtællingsgrundlag ved at angive forskellige numeriske værdier fra 0 til 13 for "Basis" -variablen. For eksempel står værdi 1 for 30/360 basis, 2 for faktisk / 360 basis og 3 står for faktiske / 365 basis. Derudover kan investor angive andre parametre, såsom den første kupondato, den sidste kupondato og slutmånedersreglen.