Centaur79 Δημοσ. 1 Μαΐου 2006 Δημοσ. 1 Μαΐου 2006 Οπως θα γνωρίζουν όσοι ασχολούνται με 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
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.