Berkeley物理教程第三卷有这样一道题,某古迹发现半衰期为N年的某元素,该古迹已有M年,这些元素现在半衰期是多少年。M和N到底是多少,因年代久远,已经记不得了。当时所有人,包括我,都答错了,那些试图裂变的原子,奋斗了这么多年,总不见得和那些成功“越狱”的前辈们一样,还要花这么长时间吧?当然,如果不错,我也不会拿到这儿来了。每个原子裂变的几率是固定的,和前辈“越狱”是否成功没有任何关系,和自己“愚公移山”已经奋斗了多少年也没有任何关系,这和我们常说的铁棒磨成针不是同一个概念。 进公司后研究房贷,发觉两者是惊人的相似,因为每个贷款随时都可以把本金一次性付清,( Prepayment,参看《前言》),而每个人的行为又是完全独立的。事实上在美国坚持到第30年底付最后一张支票的借款人少之又少,所以从投资者的角度来说这些房贷就和那些随时可能裂变的原子十分相象。其他人搬家,不表示你搬家的可能性会增加,人家发了笔横财,把贷款提前付清,不表示你也会来笔横财。别人换了低利贷款(Refinance),你也可能去,但和别人毫无关系,你们根本就不认识。“越狱”迟早会发生,但对某单一房贷,又是无法预测的,不是1就是0。开始都是0,最后是个1,就是不知道这1什么时候发生。由于这个相互独立的概念对房贷研究如此重要,我在替公司面试时不只一次问过这个问题。 为了降低风险,减少本金回笼的随机性,人们就将一大批贷款绑在一起,这时情况就不一样了。它尽管不可能象原子裂变的指数衰减那样准确简单和漂亮,但还是有规律可循的。房贷自然不用算什么半衰期,但也差得不多。因为这和股票很不一样,是中长期投资,人们通常计算一段时间内的本金平均偿还速度。月付中的本金部分,是事先知道的,可以准确计算,人们十分恰当地称其为Scheduled Payment,购买债劵时就已在计划之内.人们感兴趣的是那不确定部分,即“越狱”成功的那部分。根据不同目的,人们有时候计算将来N个月理论预测值的平均,有时候计算过去N个月实际数据的平均值。有时候将两者加以比较。所谓平均,就是要找到一个恒定速度,N个月以后,归还的本金和实际数据或理论预测一样。 假定我们有数量很大的一批房贷,比如好几万,再假定每个人的利率是一样的,实际上是用平均值。我们来看一下这N个月内会怎么变化。第i个月本金会付掉一些,相当于上个月(i-1)剩余本金乘上一个略小于1的因子Ai ,不妨称为剩余因子。对于所有“越狱”尚未成功的房贷来说,这个Ai是相同的。除此之外,还会有一些“越狱”成功,这相当于再乘上一个因子 ri = 1 - Pi.,不妨称为存活因子。这儿的P就是Prepayment。因为“越狱”成功的毕竟是少数,所以这ri也是一个很接近1的数字。N个月下来剩余本金就是 (1)FN = F0A1 ri1A2r2。。。ANrN 这儿F0是N个月开始时的本金金额。这一堆东西,看上去确实有点头痛,这计划内的本金,尽管投资人不感兴趣,但计算时又绕不过,下面我会解释,如果没有这不感兴趣的玩艺,实际上这就是人口模型中的平均死亡率。公司的程序用迭代做这个计算。找个r,看看N个月后所剩本金是多还是少,多就往下调,少就往上调。每个月数据一来,至少有一个星期,公司的电脑就在算这玩艺。 我在读研究生和做博士后时,遇到数值计算,总是先用一枝笔几张纸,尽可能作些简化,然后才扔给机器。不管是积分微分还是代数运算,经常都有这种机会。有一次偶然的机会,我知道了此事,就说我来看看。初一看,也觉得很扎手。先看一下(1)式中用平均速度代进去后会怎么样, (2)FN = F0A1 rA2r。。。ANr 前面说过,这些A属于那些“越狱”没成功的,所以大家一样,与别人是否和怎样“越狱”无关。所以(1)和(2)中的那些A是相等的。令两式相等,两边的这N个A是可以消去的。剩下的就是高中生的事了。这平均值就是N个r的几何平均,或者说是它们乘积的N次根。繁复无比的迭代运算就变成了一个极为简单的代数运算,说四两拨千斤,其实已经很谦虚了。那些麻烦制造者A,连碰都没有碰到。我向老板建议,卖掉一台机器,给我发点奖金。 现在有了计算机,越来越快,越来越大的计算机,许多人一看到有点头痛的数学表达式,第一想法就是扔给机器。其实许多时候是可以简化的,但这些机会就这么错过了,当然象文中这样戏剧性的机会应该还不至于太多。现在来看一下N年的人口平均死亡率。F0是初始人口数,FN是N年底的人口数。如果要算N年的平均死亡率,估计没几个人会傻乎乎地用迭代计算。只是看到这些有点吓人的A,大多数人就偷懒了,计算机要来干什么的。实际上对人口问题,还有更简单的办法。 (3)r = (FN/F0)1/N 连每年的死亡率都不用算。这儿r是存活率,死亡率就是1- r 。 |