Προς το περιεχόμενο

Bond Convexity


Centaur79

Προτεινόμενες αναρτήσεις

Δημοσ.

Οπως θα γνωρίζουν όσοι ασχολούνται με Finance, το Excel έχει ένα built-in function για υπολογισμό του Duration ενός ομολόγου αλλα δεν εχει function για το convexity. Επειδή ένα τετοιο function μπορεί να φανεί πολύ χρήσιμο κυρίως σε φοιτητές Finance, και επειδή εγώ ταλαιπωρήθηκα πολύ για να το βρώ, σας παραθέτω τον VBA κώδικα για να φτίαξετε ένα τετοιο function στο Excel:

 

Function BlakeOrszagBondConvexity(L, cpct, nowyr, zeroyr, coupyr, ytm)

' Returns the closed-form formula for bond convexity (Blake & Orszag, 1996)

Dim cper, rper, rn, rn2, c1, c2, c3, pv, convper

Dim nper As Integer

cper = L * cpct / coupyr

rper = ytm / coupyr

nper = (zeroyr - nowyr) * coupyr

rn = (1 + rper) ^ nper

rn2 = (1 / (1 + rper)) ^ (nper + 2)

c1 = (nper + 1) * (nper + 2) * rn2 / rper

c2 = 2 * ((nper + 2) * rn2 - (1 / (1 + rper))) / (rper ^ 2)

c3 = 2 * (rn2 - (1 / (1 + rper))) / (rper ^ 3)

pv = cper * (rn - 1) / (rn * rper) + L / rn

convper = -cper * (c1 + c2 + c3) / pv + L * nper * (nper + 1) * rn2 / pv

BlakeOrszagBondConvexity = convper / (coupyr ^ 2)

End Function

 

'due to Blake and Orzag 1996

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...