Collateralized Debt Obligation

CDO Rating

Collateralized Debt Obligation(简称 CDO) 是造成07年次贷危机的"罪魁祸首"之一, 多年过去, 估计很多关注实事, 比较有求知欲的人已经大概搞清了 CDO 合同的定义以及操作程序. 但是 CDO 毕竟是信用风险衍生品中较为复杂的一种, 写这篇 Review 目的在于简单总结一下什么是 CDO, 如何进行数学上的定价, 得到一个大致清晰的轮廓.

直接叙述 CDO 的定义并不助于理解, 所以我将从次贷问题的本源, 贷款买房开始, 一步步说明为什么会产生 CDO, 什么样的投资者需要 CDO, 以及它是怎么定价的.

假设有一个人需要买房但又无法一次性拿出足够的资金, 那么他所做的就是到商业银行进行贷款, 此后每个月按时支付利息, 直到到期后归还本金; 当商业银行放贷后, 因为种种原因, 它需要更多的资金, 它会怎么做呢: 它将很多个贷款人的合同打包卖给某家投资银行, 于是, 投行会付给商业银行略高于这些贷款本金的钱, 相当于贷款人的贷款对象变成了投行, 他们将每个月付给投行利息并到期支付本金. 总结一下, 贷款人获得了贷款; 商业银行起到了类似中介的作用; 投资银行成了实际上借钱给贷款者的银行.

可是, 投行不同于传统商业银行, 他们的兴趣不在发放贷款和收取利息, 于是投行将这些贷款合同"证券化", 将"贷款"变成证券(Mortgage Backed Securities, 简称 MBS) 卖出去, 购买这些证券的投资者成了借钱给贷款者的人, 现在他们将收到这些贷款的利息. 到这里, 投行像之前的商业银行一样, 成了某种中介, 将贷款转嫁给了投资者. 于是, 第一个问题出现了: 传统上, 当贷款者到商业银行申请贷款时, 他们必须具有良好的信用记录才能顺利获得贷款; 而那些信用记录不够好的人往往就无法借到钱, 可是, 当经历了商业银行和投行两层中介之后, 投行总能找到愿意向信用记录不好的人借钱的投资者(次级贷), 这些人借钱出去的方式就通过购买前面提到的 MBS. 也许有人会问, 为什么这些投资人愿意借钱给信用记录不好的人, 关键在于, 这些投资人手里拿着的, 不再是传统的"欠条", 而是证券, 一旦他们觉得收回借款有问题, 立刻就能将这些证券在市场上卖掉. 所以, 看上去一切都很美好.

假设这些 MBS 的收益率为10%, 第二个问题会在这里出现, 可能会有一些投机者觉得这个收益率太低, 而他们愿意冒更大的风险去获得更高的回报; 与此同时, 会有一些投资者或者机构, 例如养老基金(Pension Funds), 他们因为自身的偏好或限制只能投资那些风险较低的产品. 如何满足这些不同风格的投资人呢? 投行创造性的提出了叫做 Collateralized Debt Obligation 也就是 CDO 的产品. CDO 是 MBS 的一种变形, 投行将贷款合同变成三个不同等级的证券: Senior tranche, 收益率 6%; Mezzanine tranche, 收益率 10%; Equity tranche, 收益率 16%. 注意这里的收益率数字只是为了打个比方. CDO 怎么运作呢, 假设有贷款人因为破产而无法偿还贷款了, 那么 CDO 的总收益将会下降, 在所能收到的收益中, 投行将首先满足购买了 Senior tranche 的投资人, 其次是 Mezzanine tranche, 最后是 Equity tranche, 所以, Equity tranche 将最先承担风险, 作为补偿, 他们在无人破产的情况下会获得更高的收益; 而谨慎的投资人可以购买 Senior tranche, 虽然收益小, 但是风险同样小. 魔术师般的投行再次满足了所有人.

最大的问题, 也是几年前全球市场所处的情况, 就是现在, 假设又有一家投行, 它没有购买"贷款", 取而代之的, 它将前一个 CDO 中的 Equity tranche 拿来, 变成新的 CDO(Secondary CDO) 卖出去… 风险立刻成倍的扩大了. 这时候, 房市如果出现问题, 越来越多信用不好的人终于还不了贷款了, 很快, 第一层 CDO 的 Equity tranche 将无法收到任何收益, 进而, 购买了第二层 CDO 的投资者变得血本无归. 这些 CDO 投资者不仅仅在美国, 英国, 而是分部在全球各地, 于是, 整个世界金融体系陷入混乱.

到此为止, CDO 是什么已经比较清晰了, 下一步是技术性的部分, 也就是当 CDO 进行买卖时, 它合理的价格应该是怎样的. 这里以 Mezzanine tranche 进行举例, Senior tranche 和 Equity tranche 类似.

假设 CDO 合同到期时间是 T, 有 n 个贷款人, 其贷款金额分别为 \(N_j\), \(j=1,\ldots,n\);

\(R_j\) 是第 j 个贷款人破产后 CDO 购买者所能获得补偿的比例;

\(\tau_j\) 代表破产的时间, \(H^j_t=1_{\tau_j\leq t}\) 表示第 j 个人在 t 之前已经破产, 于是总计的损失 \(L(t)\) 可以表示为

\(L(t)=\sum^n_{j=1}(1-R_j)N_j1_{\tau_j\leq t}.\)

假设 Mezzanine tranche 的上下限分别是 A 和 B, 于是其对应的损失为

\(M_t=(L(t)-A)1_{[A,B]}L(t)+(B-A)1_{[B,C]}L(t).\)

于是, 从 CDO 购买者的角度来讲, 他的损失是

\(\text{Protection Leg}=\int^T_0\beta_tdM_t\),

其中 \(\beta_t\) 是 discount factor. 他每段时间所能获得的收益是

\(\text{Premium Leg}=\kappa\sum^J_{j=1}\beta_{t_j}(t_j-t_{j-1})\left(\max\{M_{t_j},B\}-\max\{A,M_{t_j}\}\right)\),

这样为了给 Mezzanine tranche 定价, 需要计算如下两个期望

\(\mathbb{E}\left(\int^T_0\beta_tdM_t\right),\)
\(\mathbb{E}\left(\kappa\sum^J_{j=1}\beta_{t_j}(t_j-t_{j-1})\left(\max\{M_{t_j},B\}-\max\{A,M_{t_j}\}\right)\right)\).

通过 Fubini 定理, 可以将计算转化为求 \(\mathbb{E}(M_t)\) 的值, 假设 hazard rate 是 \(\mathcal{F}\)-adapted, 其中 \(\mathcal{F}\) 是由布朗运动生成的 flitration 的话, 那么可以用 Gaussian Copula 的方法来进行求解. 当然还有更有效的方法, 但这是最直观的一种.

The Journey to the West S03E06 -- FM12

FM12

这个月的8号到11号在明尼阿波利斯参加 SIAM 的金融数学会议, 因为我还是个没有正式入学的博士生, 所以心安理得的当了三天听众.

每天的会议从早上八点半一直持续到下午六点, 流程固定: 首先在大厅听学术界牛人的演讲, 看到很多平时听到的名字, 比如 Shreve, 比如 Tankov; 然后会议分成小专题, 听众自由选择感兴趣的方向参与, 这种形式一直继续到下午六点结束; 中午休息时间过后还会有一个大报告, 因为 SIAM 年会也在同时进行, 所以中午的报告不一定局限于金融数学, 也会有应用数学的内容.

比较有收获的是 Panel Discussion 和我的两位导师组织的 Risk Measure 专题. Panel Discussion 上, Shreve 等四位大牛针对金融数学和金融工程在应用, 学术和教育等方面的发展趋势阐述了自己的看法, 结论就是相比纯粹的数学模型, 这个专业会越来越注重工程方向, 这也是学术界和业界对金融危机的自然反应, 但是在应用的背后, 仍然还有很深的数学需要去做; 业界会需要更多的 PhD, 因为他们更加独立, 有自主性, 能主动的发现和解决问题; 相对而言, 金融工程硕士的位置比较尴尬, 公司基本没有针对硕士的招聘计划, 所以他们不得不进入本科生和博士的地盘去抢饭碗. 我再次庆幸当初的判断没有错, 当我看到一波人去考 CFA, 精算等等各种考试时, 我就感觉到这一张张证书都不及博士文凭以及随之接受到的锻炼来的管用.

小专题的环节上, 很遗憾 Systemic Risk 和 Risk Measure 撞车了, 我只好舍弃前者去听了后者, 导师们和一位柏林洪堡大学的博士后邀请了来自德国, 荷兰以及美国大学的教授, 博士后, 博士生来做报告, 基本上都是这个领域里最活跃的人物, 我奇怪的是意大利也有很多做这个方向的, 但没有人来. 他们和 Bielecki 一样, 幻灯片打开都是满屏让人头皮发麻的公式, 看了让人兴奋. 除此以外, 其它方向的专题就让我觉得水平参差不齐, 而且如前面说的, 业界和学术界有往工程方向倾斜的趋势, 所以组委会接受了不少非数学系博士生的论文. 自然的, 这些报告会比较偏应用, 很多论文就是纯粹的经济学论文, 并没有什么特别高深的数学在里面, 当然接触一些不同的观点肯定不是坏事.

参加会议的一个心理作用是, 意识到世界上有那么多的人同时在做和你同方向的研究, 有种时不我待的感觉.

Fixed Income Modeling Review 8

Feynman-Kac formula, named after Richard Feynman and Mark Kac, establishes a link between parabolic partial differential equations (PDEs) and stochastic processes. Suppose \(S(t)\) follows the stochastic process

\(dS(t)=\mu(t,\omega)dt+\sigma(t,\omega)dW(t)\)

and if \(V\) is defined as

\(V(t,S(t))=E^Q_t[H(T,S(T))]\)

then \(V\) satisfies

\(\frac{\partial V}{\partial t}+\mu\frac{\partial V}{\partial S}+\frac{1}{2}\sigma^2\frac{\partial^2 V}{\partial S^2}=0\), \(V(T,S(T))=H(T,S(T))\).

The theorem can be stated the other way around. Thus, Feynman-Kac formula could be applied to interest rate models, for example, under Hull-White model, zero coupon bond price \(P(t,T)\) satisfies

\(\frac{\partial P}{\partial t}+(\theta(t)-ar(t))\frac{\partial P}{\partial r}+\frac{1}{2}\sigma^2\frac{\partial^2 P}{\partial r^2}=r(t)P\), \(P(T,T)=1\)

we can deduce the analytic solution for \(P(t,T)\) by using the theorem described above.

Another application of Feynman-Kac formula in finance is discretization: explicit schemes and implicit schemes. For explicit schemes, we use such discretization method:

\(\left(\frac{\partial S}{\partial r}\right){i,j}\approx\frac{S{i,j+1}-S_{i,j-1}}{2\Delta r}\),
\(\left(\frac{\partial^2 S}{\partial r^2}\right){i,j}\approx\frac{S{i,j+1}-2S_{i,j}+S_{i,j-1}}{(\Delta r)^2}\),
\(\left(\frac{\partial S}{\partial t}\right){i,j}\approx\frac{S{i,j}-S_{i-1,j}}{\Delta t}\)

substitute these into the PDE then the equation could be written as

\(S_{i-1,j}=A_{i,j}S_{i,j+1}+B_{i,j}S_{i,j}+C_{i,j}S_{i,j-1}\)

This kind of scheme has equivalence to trinomial tree valuation

\(S_{i-1,j}=p_uS_{i,j+1}+p_mS_{i,j}+p_dS_{i,j-1}-r_j\Delta tS_{i,j}\)

and setting the size of rate step \(\Delta r=\sigma(3\Delta t)^{1/2}\) leads to the most efficient approximation, under which the scheme becomes 4th order w.r.t. to \(r\).

While applying explicit finite difference methods, boundary conditions have very little effect. We need to have

\(\sigma^2_{i,j}\frac{\Delta t}{(\Delta r)^2}\leq\frac{1}{2}\)

hold cause otherwise small numerical errors can grow uncontrollably.

For implicit scheme, we discretize the PDE like this:

\(\left(\frac{\partial S}{\partial r}\right){i,j}\approx\frac{S{i-1,j+1}-S_{i-1,j-1}}{2\Delta r}\),
\(\left(\frac{\partial^2 S}{\partial r^2}\right){i,j}\approx\frac{S{i-1,j+1}-2S_{i-1,j}+S_{i-1,j-1}}{(\Delta r)^2}\),
\(\left(\frac{\partial S}{\partial t}\right){i,j}\approx\frac{S{i,j}-S_{i-1,j}}{\Delta t}\)

then Feynman-Kac formula becomes

\(A_{i,j}S_{i-1,j+1}+B_{i,j}S_{i-1,j}+C_{i,j}S_{i-1,j-1}=S_{i,j}\)

It has a relationship to trinomial trees:

\((1-r_j\Delta t)S_{i,j}\approx p_uS_{i-1,j+1}+p_mS_{i-1,j}+p_dS_{i-1,j-1}\)

Since we use time \(i-1\) value to calculate \(S_{i,j}\), then if we want to do pricing backward, we need to solve a system of linear equations. Also, we need to care about the boundary conditions where we usually set \(r_0=0\) and \(r_M=r_\infty\) which is large enough. Hence, implicit scheme is slightly more difficult to implement than the explicit one. However, it is always stable and convergent. In practice, one method that is used very often is called Crank-Nicolson method which combines both explicit scheme and implicit scheme:

\(\left(\frac{\partial S}{\partial r}\right){i,j}\approx(1-\theta)\frac{S{i,j+1}-S_{i,j-1}}{2\Delta r}+\theta \frac{S_{i-1,j+1}-S_{i-1,j-1}}{2\Delta r}\),
\(\left(\frac{\partial^2 S}{\partial r^2}\right){i,j}\approx(1-\theta)\frac{S{i,j+1}-2S_{i,j}+S_{i,j-1}}{(\Delta r)^2}+\theta \frac{S_{i-1,j+1}-2S_{i-1,j}+S_{i-1,j-1}}{(\Delta r)^2}\),
\(\left(\frac{\partial S}{\partial t}\right){i,j}\approx(1-\theta)\frac{S{i,j}-S_{i-1,j}}{\Delta t}+\theta \frac{S_{i,j}-S_{i-1,j}}{\Delta t}\)

Although Crank-Nicolson method is a little bit harder to implement than both the explicit and implicit scheme, it is as stable as the fully implicit method and is the second-order accurate w.r.t. time step which is better than explicit and implicit schemes.

Fixed Income Modeling Review 7

In finance, there are two major applications of the Monte Carlo simulation:

-- Generating stochastic paths for interest rates, exchange rates, and stock prices;
-- Numerical valuation of derivative instruments;

consider the risk-neutral pricing equation for security S with payoff \(H(T)\)

\(S(t)=E_t[\exp(-\int^T_tr(s,\omega)ds)H(T,\omega)]\)

we can generate a large number of equally probable sample paths then the security value at time \(t=0\) can be approximated as

\(S(0)=\frac{1}{N}\sum^N_{n=1}\exp(-\int^T_tr(s,\omega_n)ds)H(T,\omega_n)\).

For rate process \(dr=\mu(r,t)dt+\sigma(r,t)dW(t)\), path generation is straightforward:

\(r(t_{n+1})=r(t_n)+\mu(r(t_n),t_n)\cdot\Delta t+\sigma(r(t_n),t_n)\cdot\sqrt{\Delta t}\cdot \varepsilon_{n+1}\)

where \(\varepsilon_n\) is standard normal random number. For stochastic driver like this

\(r(t)=F(\varphi(t)+u(t))\)
\(du=\mu(t,u)dt+\sigma(t,u)dW(t)\)

we sample \(u(t)\) first and set \(r_n(t)=F(\varphi(t)+u_n(t))\).

When compared to the lattice valuation method, Monte Carlo approach has two important advantages:

-- Monte Carlo method easily handles path dependent instruments
-- Monte Carlo method is well suited to be used with multi-factor models

however, it also has drawbacks:

-- It is ill-suited for pricing interest rate derivatives with embedded exercise rights
-- It converges to true value very slowly
-- Longer rates along short rate paths cannot be implied from the paths
-- It does not give the same result twice since its value is random
-- Generating sample paths for high dimensional problems has considerable practical difficulties, which is an important feature of interest rate derivatives
-- MC has the opposite problem of recombining lattice: the full future is inaccessible

To implement Monte Carlo method, first we generate uniform random numbers then use methods such as Box-Muller or inverse transform to get normal random numbers. Because of the perfect foresight problem, zero coupon bonds prices cannot be computed without the use of either analytic pricing formulas or interest rate trees. Although MC method will not be used to calibrate the model, MC paths should be calibrated on the top of model calibration to make sure they price zero coupon bonds correctly. Instead of the continuous sampling as described above, we could first discretize the underlying continuous short rate process by means of a short rate lattice and then sample the lattice instead, which is call discrete sampling. The advantage of discrete sampling is that longer yields are readily available at each MC node and we also have a complete view of the stochastic future at each node on a path.

We want to decease the error of MC method as much as possible. One way is to increase the number of paths, the other is variance reduction. There are also two ways to do variance reduction: control variates and improving the sampling quality. The latter's advantage is it does not depend on characteristics of each instrument as the first one does. To improve the sampling quality, there is no other way better than improving the quality of Brownian motion sampled. Since we generate uniform random numbers first, then we can apply an approach called stratified sampling to improve their uniformity by

\(u^*_n=\frac{n-1}{N}+\frac{u_n}{N}\)

Based on the fact that Brownian motion is perfectly symmetric about zero, we generate Wiener sample paths which are symmetric to each other w.r.t. zero:

\(W_{-n}(t)=-W_n(t)\)
\(V_{MC}=\frac{1}{N}\sum^N_{n=1}\frac{V(W_n)+V(W_{-n})}{2}\)

and this is called antithetic sampling. After the sample paths \(W_n(t_i)\) are generated, one can make a simple adjustment called moment matching to ensure the correct mean and standard deviation:

\(W^*_n(t_i)=\sqrt{t_i}\cdot\frac{W_n(t_i)-M_i}{S_i}\)

where \(M_i\) and \(S_i\) are the actual mean and standard deviation of the paths \(W_n\) at time \(t_i\).

Fixed Income Modeling Review 6

To apply the theoretical models, let us first see how to use interest rate trees to price and calibrate. As mentioned in Review 5, markovian property of short rate models is needed to implement recombining lattice.

Usually, a short rate model can be written as

\(r(t)=F(u(t)+\varphi(t))\)
\(du(t)=-au(t)dt+\sigma dW(t).\)

Hence, we first discretize the process \(u(t)\). Typically, people use binomial tree and trinomial tree but for mean reverting model, binomial tree cannot be used. The time step \(\Delta t\) is arbitrary, the state step \(\Delta u\) and branch probabilities \(p_u\), \(p_m\) and \(p_d\) should be chosen in such a way that the discrete dynamics has the first few moments matched. Since we could solve

\(u(t+\Delta t)=e^{-a\Delta t}u(t)+\sigma\int^{t+\Delta t}_te^{-a\Delta t}dW(s)\)

then by moment-matching, we can set

\(\Delta u=\sqrt{3V}\), \(V=\sigma^2\frac{1-\exp(-2a\Delta t)}{2a}\)

and we select the middle branching node at next step to be the closest one to the mean of the continuous process:

\(k=\int[je^{-a\Delta t}+\frac{1}{2}\)

Branching probabilities are determined as

\(p_u=\frac{1}{6}+\frac{1}{2}(\beta^2+\beta)\)
\(p_m=\frac{2}{3}-\beta^2\)
\(p_d=\frac{1}{6}+\frac{1}{2}(\beta^2-\beta)\)
\(beta=je^{-a\Delta t}-k\)

Once tree for the stochastic driver \(u(t)\) is built, we need to convert it to the short rate tree according to the functions:

normal: \(r(i,j)=r_0(i)+u(i,j)\)
lognormal: \(r(i,j)=r_0(i)\cdot\exp(u(i,j))\)

where mean level vector \(r_0(i)\) is calibrated to the term structure of zero coupon bond prices.

Since trees represent discretization of the rate dynamics, then within each time step the evolution of short rate is not described by tree and thus needs to be specified. Usually we assume short rate is constant within each period. To price derivatives, we do backwards

\(S(t)=E^B_t[\exp(-\int_t^{t+\Delta t}r(s)ds)(S(t+\Delta t)+CF(t+\Delta t))]\)

where \(CF(t+\Delta t)\) is the cash flow at time \(t+\Delta t\). And now the remaining problem is how to calibrate to get mean level vector \(r_0(i)\). Denote prices of zero coupon bonds with maturities \(t_i=i\Delta t\) by \(P(i)\), then apply the following iterative search process forward:

(1) Set \(r_0(0)=-\ln(P(1))/\Delta t\)
(2) Search for the value of \(r_0(1)\) such that lattice price of the zero coupon bond maturing at \(t_2\) equals \(P(2)\)
(3) ...
(4) Assuming \(r_0(0),\ldots,r_0(i-1)\) are done, search for the value of \(r_0(i)\) to fit \(P(i+1)\)
(5) ...

We need to keep in mind that we always need to do numerical calibration for \(r_0(i)\) even when there are analytic formulas for the no-arbitrage drift because the use of trees alters the continuous dynamics. To be more specific about step (2) and step (4), we introduce Arrow-Debreu Security which pays 1$ once the node (i,j) is reached and pays nothing otherwise. Thus in trees we have

\(AD(i+1,j)=\sum_k AD(i,k)\exp(-r(i,k)\Delta t)P_{i,k\rightarrow i+1,j}\)

One very useful property of Arrow-Debreu prices is that

\(P(0,t_i)=\sum_j AD(i,j)\)

Recombining interest rate trees have a serious shortcoming that the rate history is totally lost and thus it is incompatible with any path dependent instrument. To overcome this problem, one can use the tower law and record the cash flows at the lattice nodes not when they are paid but rather when they are certain and express them with appropriate discounting.

第 1 页,共 3 页123