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 。 |