|
公司想擴大業務, 利用現成的數據庫, 模型, 和計算軟件來做房貸債劵的定價. 公司的客戶中有很多是保險公司, 按規定要保持一定數量的現金來應付理賠. 那時(90年代)房屋市場相當平穩, 評級較高的債劵幾乎等價於現金. 當時市場共有約三萬種債劵, 參與交易的有 1,500 – 2,000 種. 其餘的大多數大概被人們當現金收藏起來了. 現在的問題是, 怎麼用交易中的債劵來決定這些抽屜中債劵的價格 定價方法大致有兩種. 人工 (Manual) 和機器 (Matrix). 有經驗的交易員藉助軟件可以把價錢定得很準, 但是成本相當高, 平均難度的債劵一小時只能做 3-4 個, 對前面這種情況顯然不適合. 機器定價的毛病就是粗糙, 定性可以, 定量很危險. 公司就是想發展一種精確度與人工相差不大的機器定價方法. 這個問題牽涉到的專業知識較多, 但唯象的敘述還是可能的. 我們認為這 1,500 種債劵的價格是由269 條代表路徑中的某幾條關鍵路徑決定的. 每一債劵的價格是自己沿每一關鍵路徑的價格按一定比例組合起來的, 這”一定比例”在特定市場條件下對每一債劵都是相同的. 隨着市場的變化, 入選的關鍵路徑會變, 這”一定比例”自然也會變. 這些”關鍵路徑”, 統計軟件 SAS 會用一種叫 Stepwise 的技術自己挑出來, 這”一定比例”, 也會同時定下來. 我們進一步假定抽屜里的債劵服從同樣的價格機制, 即這”一定比例”對抽屜債劵和市場上的 1,500 種債劵是一樣的, 只要把抽屜債劵沿每一路徑的價格乘上這”一定比例”, 再求和就可以了. 這方法的理論根據, 恐怕不容易講清楚, 或許根本就沒有理論根據, 但至少不是空穴來風. 在工業界, 只要結果合理, 大多情況也是可以接受的. 可是這方法失敗了, 協變量 (Co-Variance) 矩陣總是發散或接近發散, 初始值再怎麼調整也沒有用. 略通高等代數的讀者或許已經,意識到, 這實際上就是高等代數裡的矢量分解過程. 路徑等價於坐標軸, “一定比例”就是基矢長度, 債劵沿某一路徑的價格就是矢量在這一坐標軸的投影係數. 這些坐標軸可以不正交, 但必須獨立. 矩陣發散, 實際上就是這些基矢不獨立, 事實上後來發現其中許多幾乎是相同的, 統計軟件無法挑出作用明顯但又線性無關的路徑..我發現這 269 條路徑中有許多前六個 Gate (參照《學術官司》篇), 或說前20年完全一樣, Cash Flow 自然也完全相同的. 而最後 10 年的Cash Flow, 因為年代久遠, 對定價的影響是很小的, 這就非常容易產生線性相關. 我的解決方法很簡單, 把30 萬條路徑按前 20 年的路徑每三條一組再重組一次, 這”重組路徑”的價格就以中間那條為準, 幾率就是這三條路徑的幾率之和,. 我們然後再重新選出幾率最大的 269 條,這樣就把相關性大大減少, 最多發生在開始 10 年. 這辦法理論上很粗糙, 但也講的過去, 最重要的是它能解決問題. 線性相關問題就這樣解決了. 把這 1,500 種債劵的預測價格和實際價格比較, 結果非常接近, 誤差已在人工定價的範圍以內. 有時我們發現某一債劵誤差很大, 我就把這債劵讓我的助手, 一位前交易員進行獨立定價, 市場價和預測價都不告訴她. 防止先入為主. 她的結果都和我的非常接近, 無一例外. 這實際上相當於一個相當隨機的樣本外測試 (Out-Sample Test), 是對模型的最嚴格的檢驗. 我開始想把這篇取名為《舉手之勞》,因為這個定價方法的基本框架是那些 MBA 想出來的,我只是把那些路徑重新組合一下, 做了一下幾率加法而已. 後來覺得這個說法太貶低自己, 看出問題需要相當深厚的高等代數功底. 那些MBA 儘管有相當好的直覺, 覺得這方法可以, 但由於數學功力不夠, 無法實現”臨門一腳”,以至抱憾半生. 看出了這個 Mapping 並意識到問題出在線性相關, 把三條路徑的幾率相加確實只是”舉手之勞”, 有一次公司一同事和我談橄欖球, 我說我不懂. 他說, 這有什麼, 你根本不懂房貸債劵, 定的價格不是也很準確嗎? |
|