Cum pot calcula o durată modificată folosind Matlab?

Despre Holter EKG cu Dr Dragos Lupu, Spitalul de cardiologie Clinicco Brasov (Noiembrie 2024)

Despre Holter EKG cu Dr Dragos Lupu, Spitalul de cardiologie Clinicco Brasov (Noiembrie 2024)
Cum pot calcula o durată modificată folosind Matlab?
Anonim
a:

Durata modificată măsoară sensibilitatea titlurilor cu venit fix la variațiile ratelor dobânzii. Pentru a calcula durata modificată în Matlab, specificați rata cuponului obligațiunilor, data decontării, data scadenței și randamentul până la scadență pe o bază semestrială. Funcția care calculează durata modificată în Matlab pentru un randament dat se numește "bnddury" și comanda este "result = bnddury (Randament, CouponRate, Settle, Maturity)". Dacă doriți să calculați durata modificată în funcție de prețul curent al obligațiunii și nu de randamentul până la scadență, faceți acest lucru utilizând funcția "bnddurp" și executați comanda "result = bnddurp" (Pret, CouponRate, Stabilire, Maturitate). Rezultatul în ambele cazuri este o matrice cu trei tablouri care conțin durata modificată, durata Macaulay în anii și durata Macaulay pe o bază semestrială.

Durata modificată este un concept care afirmă că prețurile obligațiunilor și ratele dobânzilor sunt invers proporționale. Durata modificată este calculată ca durată Macaulay / (1 + randament / n), unde n este frecvența de compunere pe an. Durata Macaulay reprezintă timpul mediu ponderat până la rambursarea obligațiunilor și este măsurat în ani. Durata modificată măsoară sensibilitatea prețului obligațiunilor la modificările randamentelor și se măsoară în procente.

Luați în considerare un investitor interesat să calculeze o durată modificată pentru obligațiunile sale cu o dată de decontare din 2 august 1999, data scadenței din 15 iunie 2004, o rată a cuponului de 5%, două plăți pe cupoane pe an și pe baza numărului zilnic de real / actual. Investitorul este interesat de cunoașterea duratei modificate atunci când randamentul pieței pentru această obligațiune este de 4%.

În primul rând, investitorul trebuie să creeze variabile pentru randament cu comanda "Yield = 0. 04", rata cuponului cu comanda "CouponRate = 0. 055", data decontării cu comanda "Settle = '02 -Aug-1999" , data scadenței cu comanda "Maturity = '15 -Jun-2004" ", frecvența de plată a cuponului cu comanda" Period = 2 "și baza numărului de zile cu comanda" Basis = 0 ". Rețineți că variabilele pentru datele de decontare și scadență trebuie să fie de numere de ordine sau date.

Comanda "result = bnddury (Yield, CouponRate, Settle, Maturity)" produce un rezultat matrice care conține trei numere, care reprezintă durata modificată de 4. 24, durata Macaulay pe o bază anuală de 4. 33 și Macaulay pe o bază semestrială de 8. 66.

Dacă investitorul nu are randament până la scadență, ci are un preț al obligațiunii, pe baza căruia ar dori să calculeze durata modificată, el poate face acest lucru folosind funcția "bnddurp". Să presupunem că aceeași obligațiune are un preț de 106. Investitorul trebuie să specifice o variabilă de preț cu comanda "Pret = 106".Comanda "result = bnddurp (Price, CouponRate, Settle, Maturity)" produce rezultate similare cu funcția "bnddury".

Investitorul poate indica, de asemenea, o bază diferită de număr de zile, specificând diferite valori numerice de la 0 la 13 pentru variabila "Basis". De exemplu, valoarea 1 reprezintă baza 30/360, 2 pentru real / 360 și 3 pentru baza reală / 365. În plus, investitorul poate specifica și alți parametri, cum ar fi prima dată a cuponului, ultima dată a cuponului și regula lunii finale.