『壹』 期權的定價方法
這是一個老題目了,在知乎里也有一些類似的問題,但總感覺所有回答都有所欠缺,所以希望在這里對所有的數值方法進行一個梳理。按照我個人的分類,期權定價的數值方法分為五個大類:解析解方法,樹方法,偏微分方程數值解方法,蒙特卡洛方法,傅立葉變換方法。
1)解析解方法:
一個期權定價問題,其實就是根據已知的隨機微分方程(SDE)模型,然後來求解關於這個隨機過程函數表達式的過程。這也是為什麼隨機微積分和Ito lemma會是金融工程的核心知識之一,因為Ito直接告訴了我們一個隨機過程的函數所滿足的新SDE:
m{d}f(t, X_{t})=frac{partial f}{partial t} m{d}t + frac{partial f}{partial X_t} m{d}X_t + frac{1}{2}frac{partial^2 f}{partial X_t^2} m{d}[X, X]_t
然後,如果我們可以求出這個SDE的解析解,那麼一個歐式無路徑依賴期權的價格就是它在終值時刻折現的期望值。這就是一種期權定價的解析解方法,當然你也可以利用PDE來求解,由於Feynman Kac定理的存在,PDE和條件期望的答案會是一致的。
而這類方法的優點是顯而易見的,一旦解析解存在,那麼期權的價格公式計算速度就會非常之快,不論做擬合還是優化都會有效率上質的提升,而這類方法的缺點也很明顯,那就是,對於大部分模型和大部分奇異期權,解析解未必存在。
2)樹方法
之所以叫樹方法而不叫二叉樹,是因為我們也將討論三叉樹模型,但其實本質思想是一模一樣的。
如果告知你了一個標的資產的波動率,那麼你可以通過下述式子構造一個N段的二叉樹的上下波動:
u = m{e}^{sigmasqrt{T/N}}, d = m{e}^{-sigmasqrt{T/N}}
然後利用逆推,來得到初始時刻的期權價格。
那麼三叉樹呢?首先要明白一個道理,除了滿足了下列條件的三叉樹模型(u是上叉,d是下叉,l是中叉)
其餘的三叉樹都是incomplete market。在其餘的樹模型下,我們只能做到super-replicate,而不能完成perfect hedge。而這獨有的一種三叉樹模型,也成為了最常用的樹模型之一。或許有人好奇為什麼有二叉樹了,還有人使用更麻煩的三叉樹。這是因為三叉樹的收斂速度要高於二叉樹。
那麼樹模型的優缺點又是什麼呢?樹模型有一個任何連續時間模型都無法取代的優點,那就是每一個定價,在樹模型里,不論美式、歐式、路徑依賴、奇異,通過Backward Inction Principle得到價格,永遠都是伴隨著顯式對沖策略的。而在連續時間模型里,想獲得連續時間對沖策略的這類問題,是一個倒向隨機微分方程(BSDE)問題,有很多時候並不是那麼好解決的,尤其是當期權有奇異或美式屬性的時候。
另一方面,樹模型缺點也顯而易見,高維度問題樹模型是不能解決的,所以對於多個標的資產的問題,尤其是具有相關系數的資產,我們只能訴之於他法。而從速度上來講,樹模型的收斂速度是要低於PDE方法的。
3)PDE方法
很多對於quantitative finance陌生的人也會聽說過Black Scholes PDE。而實際上,不同的隨機模型,都會對應不同的PDE。BS PDE只不過是單資產符合幾何布朗運動隨機模型的PDE表達罷了。因為對於期權,我們往往知曉它最終到期日的payoff,所以我們用payoff函數來作為這個PDE的終值條件。
如果PDE存在解析解,最優辦法自然也是求解析解。然而,如果解析解不存在,我們就必須訴諸數值方法。最常用的數值解方法就是有限差分,也就是將所有變數構造一個網格,然後利用網格上的差分方法來估計偏導數,進而將PDE問題轉化為代數問題。而對於期權定價的PDE,我們會根據期權的性質,獲得這個PDE終值條件和邊值條件。然而,有時候根據不同的模型,我們可能得到的並不是一個簡單的PDE,而可能是PIDE(partial integral differential equation),也就是在PDE中多了積分項,這時候,我們需要同時再藉助數值積分來完成數值計算。
PDE的數值問題自然還有很多的選擇,有限元、譜方法都在列。但期權定價PDE本身並不像很多物理PDE有很大的非線性程度,邊界也並沒有那麼奇怪,所以基本上有限差分是可以解決絕大部分問題的。
有限差分法分三種:顯式差分,隱式差分,交錯差分。我們不深入研究演算法,但幾個點就是:穩定性上,顯式差分是條件穩定的,另外兩種都是無條件穩定;計算復雜度上,顯示最簡單,隱式次之,交錯最繁瑣;精確性上,顯式、隱式是同階的,交錯差分的特殊情形,顯式和隱式各佔一半時,也就是Crank-Nicolson差分,精度會在時間上也上升一階。
另外,在期權定價中PDE有兩大類,正向和倒向。傳統的BS PDE就是倒向的一個典型例子,它的終值條件就是期權的payoff function。而一個倒向PDE所對應的正向PDE,它不再是期權價格滿足的PDE,而是這個標的的「價格密度」所滿足的PDE。這個「價格密度」被稱為State price,或者Arrow Debreu price,抑或是Green function。而這個在我之前的一篇文章有介紹過
Arrow Debreu price與快速擬合
而PDE方法的缺點主要有兩點:路徑依賴問題,高維度問題。很多路徑依賴問題的PDE形式是很麻煩,甚至無法表達的,比如亞氏期權,比如回望期權。而對於高維度問題,如果PDE的數值方法會從平面網格上升到空間網格,在復雜度上不但繁瑣,而且在邊值條件上更難以控制。而PDE的優點則是速度快,而且根據差分的數值方法,在計算Greeks的時候不需要加以再次的bumping計算。舉個例子,如果不降維,一個具有兩個assets的期權的有限差分就是這樣的一個立方網格:
4)蒙特卡洛方法
蒙特卡洛方法是目前應用范圍最廣泛的方法了。因為不存在提前行權屬性的期權價格其實就是一個期望,所以我們就可以通過模擬很多的路徑,來用平均數估計真實期望。而美式或百慕大這種具有提前行權屬性的期權,它的期權價格其實是一個隨機優化問題。這類問題我們可以採用regression-based Monte Carlo,也就是最小二乘蒙特卡洛,利用regression來估計conditional NPV,然後再用蒙特卡洛求解當前價值。
所以說,蒙特卡洛方法是最為general的方法了。然而,蒙特卡洛的缺點也是顯而易見:因為要模擬上百萬條路徑,而且對於奇異期權還要做路徑上的計算,美式更要做回歸,蒙特卡洛方法成為了計算時間長的代名詞。但幸運的是,我們有三種提速的方法:1,利用方差縮減,在保證方差恆定的基礎上,可以減少模擬路徑;2,利用Multi-level 蒙特卡洛,減少complexity;3,利用GPU或超級計算機,進行並行計算。
對於普通蒙特卡洛方法,上述三種方法都是可行的,而且GPU的提速是非常顯著的。對於方差縮減,得強調一點的就是,一般而言,最簡單的方式是對偶變數,其次是控制變數,然後是利用條件期望,最難的是importance sampling,而在效果和適用范圍上,它們的排序往往是剛好相反的。比如美式期權的最小二乘蒙特卡洛,方差縮減的最有效手法就是important sampling,其他方法的效果很小。
這里另外再著重強調一下最小二乘蒙特卡洛。最小二乘蒙特卡洛的流程大致如下:首先,正向模擬標的路徑;其次,倒向在每個時間節點,對所有路徑值進行回歸,估算條件期望,直到初始時間點;最後,求平均。所以值得注意的一點就是,在這里,如果單純使用GPU cluster進行提速,效果並不是很理想,因為路徑模擬並不是最消耗時間的步驟,對所有路徑回歸才是。雖然如此,但其實還是可以用GPU cluster來對回歸精度加以提升,比如可以將路徑進行歸類,然後將global regressor轉換成多個local regressor。
總的來說,蒙特卡洛方法是期權定價中適用范圍最廣的數值方法,但也是最慢的方法。然而,我們可以利用方差縮減、復雜度縮減,以及GPU計算來優化我們的蒙特卡洛演算法,達到提速與增加精確性的目的。
5)傅立葉方法
傅立葉方法也被稱為特徵函數法,利用的就是對於很多的模型,它們的特徵函數往往是顯式表達的,比如靠具有independent increment的infinitely divisible process來決定的模型,因為在這樣的情況下,我們有Levy-Khintchine representation,很多擬合性質很好的過程,比如Variance Gamma,Normal Inverse Gaussian都屬於這一類。而特徵函數實際上可以看作是一個隨機變數的傅立葉變換,這也就是這個名字的由來。
如果我們有顯式表達的特徵函數,我們可以通過傅立葉逆變換來得到原隨機變數的密度,進而達到求解期權價格的目的。一般來講,這樣的方法要比PDE方法更加快速,因為數值積分的速度要比微分方程數值解的速度要快。然而,這類方法的缺陷也是顯而易見的,路徑依賴性和維度問題,以及我們必須要有顯式表達的特徵函數。
總結:
在這里,我們只講一些面上的東西。具體深入的東西,我會在公眾號:衍生財經上詳談。