市場上的衍生性金融商品種類眾多。如欲將所有商品透過封閉解(Closed - Form)評價幾乎不可行,相較一般評價採用「蒙地卡羅模擬法」,資通電腦投資組合管理系統(ARES Portfolio System)選擇使用高效能運算的 R 語言,確保提供最快速風險評價結果,協助銀行迅速了解商品全貌。讓評價結果之誤差是在可接受範圍內,並縮短評價所需時間。
一般蒙地卡羅模擬法產生之誤差(error)與模擬次數開根號成反比,雖使標準誤差(standard error)減半,但需原先四倍的模擬量,實務應用上將會造成計算速度與評價誤差之取捨的問題。
更好的解決方法
R 語言提供許多高效能套件,並分別針對演算法、多核 CPU 平行運算、GPU 運算等方法提升運算速度。其中,透過演算法增進速度之套件,有 RcppZiggurat;多核 CPU 平行運算之套件,如:Parallel、RcppParallel;使用GPU運算之套件,包含:gputools、OpenCL、cudaBayesreg、RViennaCL、gpuR、Rth、gmatrix 等套件。各套件提供各式函數使操作上更為便利。另外,在 R 編程環境下,將更容易相互運用各個高效能運算套件。
Heston 隨機波動度模型(1993)在各式 R 的高效能套件使用下之亂數產生與產生模擬路徑之時間比較,以 Milstein 法為範例:
使用套件 | 函數名稱 |
---|---|
R Default: | rnorn |
RcppZiggurate: | zrnormLZLLV |
gmatrix: | grnorm |
綠色虛線(GG_abs)走勢較為特殊,主要是因為透過迴圈運算時,均要取出特定時間點之波動度帶入標的資產之動態過程。而取出特定位置之值的動作,不論路徑數多少 GPU 處理上需要花費一定之時間,使得此方法下 GPU 運算之速度明顯略遜一籌。其中速度最快之方法為黑色虛線(GP_abs);速度最慢之方法為藍色實線(DD_abs)。最後,比較最快和最慢方法之收斂結果,並以 TRF 商品為評價範例:
註:僅考量當比價匯率 < 履約價時,槓桿比率為 2 的賣出賣權;當比價匯率 >= 履約價時,槓桿比率為 1 的買入買權,每 30 步作為一次比價日以進行比價。DD | GP | |||
---|---|---|---|---|
路徑數目 | 平均數 | 標準差 | 平均數 | 標準差 |
50000 | -68.7305 | 1.0016 | -68.7528 | 1.0256 |
100000 | -69.0272 | 0.8635 | -68.7712 | 0.7157 |
150000 | -68.7138 | 0.5840 | -68.6506 | 0.5927 |
可以發現衍生性商品之評價透過平行運算之方式,可以在相似的評價結果下,有效地縮短其評價時間。
複雜的衍生性金融商品評價需要龐大計算量。而在平行運算的處理下,不但將計算速度大幅提升,更進一步將複雜模型與演算法納入評價過程考量。資通電腦投資組合管理系統與視覺化圖型工具使用 R 高效能套件,將使金融計算領域之模型應用在實用性上得到跳躍性的拓展。