• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

CoCo-bond modeling & Vasicek calibratrion

Dear folks,

I'm trying to do a case-study on the CoCo-bonds issued by Credit Suisse, and I want to calibrate the model from Pennacchi's article: A Structural Model Of Contingent Bank Capital.

So, basically I know the following about the deal:
Issue date: February 17, 2011
Maturity: February 24, 2041
Call date: Call-able at par from August 24, 2016
Rating: BBB+
Coupon: 7.875%

The time to maturity is easy: 30 yrs

But then I need to find or calibrate the numbers for a 30 yrs interest-curve, modeled as:

\(dr_t = \kappa (\bar{r} - r_t)dt + \sigma_r \sqrt{r_t} d \zeta, \, d\zeta dz = \rho dt \)

rho is the corr between the yield and a given capital-ratio (let's just say asset value for now).

And on top of that, I need to use the knowledge that rating from Fitch is BBB+ and make reason for why I choose such and such in regards to volatility (sigma in equation), jump-intensity and jump-size (both captured in Y in equation), in this equation:

\(d \ln(x_t) = \left[(r_t-\lambda k)-\frac{r_t+h_t+c_t b_t}{x_t} - g(x_t - \hat{x}) - \frac{\sigma^2}{2} \right]dt + \sigma dz + \ln(Y_{q_{t-}}) dq\)


\(r_{t+\Delta t} = r_t + \kappa (\bar{r} - r_t) \Delta t + \sigma_r \sqrt{r_t} \sqrt{\Delta t} \eta_{t+\Delta t}, \, \eta_{t+\Delta t} \sim N(0,1)\)

\[ \ln(x_{t+\Delta t}) = \ln x_t + \left[ (r_t-\lambda_t k_t) - \frac{r_t+h_t+c b_t} {x_t} - g(x_t - \hat{x}) - \frac{\sigma^2}{2} \right] \Delta t + \sigma \sqrt{\Delta t} \epsilon_{t+\Delta t} + \ln(Y_{t+\Delta t}) \omega_{t+\Delta t}, \epsilon_{t+\Delta t} \sim N(0,1), E^Q_t[\epsilon_{t+\Delta t} \eta_{t+\Delta t}] \]
\( =\rho,\ln(Y_{t+\Delta t}) \sim N(\mu_y, \sigma_y^2),\omega_{t+\Delta t} = 1 \) with prop
\(\Delta t \lambda_t \) and \(\omega_{t+\Delta t} = 0 \) with prop. \( 1- \Delta t \lambda_t\)

So, what I'm trying to figure out is how to calibrate the approximation for dr_t to a 30-yrs yield curve. I need:
- \(r_0\), starting number for yield curve (I think this could be chosen fairly arbitrarily, but lower than \(\bar{r}\), they use: 3.5%)
- \(\bar{r}\), long-term mean level (they use: 0.069, but this is for 5yrs)
- \(\kappa\), speed of reversion (they use: 0.114, 5yrs, also)

And for the dln(x)-approximation, I need:
- \(\sigma\) (IMO, this can stay the same)v
- \(mu_y\), mean for jump-size (they use: -1%)
- \(\sigma_y\), std.dev for jump-size (they use: -2%)
- \(\lambda\), jump-intensity (they use: 1)

All inputs are very welcome - also if you just read the article and want to share some thoughts on it.