僅供教育用途,不構成投資建議。投資可能導致損失。
直接答案
有限差分選擇權定價以價格與時間節點取代連續估值方程式。有效的實作不只需要細密網格,還必須讓日曆時間與剩餘期限的符號、空間算子、終端與邊界條件、事件跳轉、時間離散格式、美式障礙求解器、殘差及收斂控制彼此一致。
網格細化只能處理數值誤差,無法修正錯誤的支付函數、隨機模型、股息處理、結算權利、市場輸入或執行假設。求解器完全可能精確收斂到錯誤答案。
先推導網格,再撰寫程式
- 鎖定合約權利、支付函數
Phi(S)、履約方式、結算、利率、借券成本、股息、波動率模型及座標。使用日曆時間t時,Black-Scholes PDE 為V_t + L V = 0;使用剩餘期限tau = T - t時則為V_tau = L V,並從V(S, 0) = Phi(S)開始。 - 選擇價格或對數價格網格、截斷區間、時間網格,以及現價、履約價、障礙、股息與觀察時點的對齊方式。說明
N代表區間數或節點數,並將S_max與Delta S分別測試。 - 在均勻網格
S_i = i Delta S上,推導a_i = 0.5[sigma^2 i^2 - (r - q)i]、b_i = -(sigma^2 i^2 + r)與c_i = 0.5[sigma^2 i^2 + (r - q)i],因此得到(L_h V)_i = a_i V_(i-1) + b_i V_i + c_i V_(i+1)。 - 精確定義時間步:顯式格式為
V^(n+1) = (I + Delta tau L_h)V^n;隱式格式為(I - Delta tau L_h)V^(n+1) = V^n;Crank-Nicolson 格式為(I - 0.5 Delta tau L_h)V^(n+1) = (I + 0.5 Delta tau L_h)V^n。把邊界項放入正確的右端項與時間層。 - 檢查全域係數符號、類似 CFL 的限制、正性、單調性、矩陣性質與振盪。顯式與後向 Euler 通常都是時間一階;隱式格式耗散較強,但並非普遍較不準確。Crank-Nicolson 的線性穩定性不保證單調,也不保證折點附近沒有振盪。應記錄每個不連續點附近是否以及如何使用 Rannacher 阻尼。
- 對美式履約,應採用有明確名稱的離散線性互補方法,例如 PSOR、懲罰法或有文件說明的算子分裂。要求
V - Phi >= 0、A V - b >= 0及(V - Phi) elementwise_times (A V - b) = 0,並報告鬆弛參數、迭代上限與互補殘差。 - 在現價處插值價格與希臘字母,再細化計算區間、空間、時間、事件對齊及求解器容差。歐式案例以公式為基準,美式案例以深層二項樹或獨立求解器為基準,並記錄價格、Delta、Gamma、自由邊界、無套利檢查與殘差。
邊界條件屬於合約本身。在標準假設下,歐式賣權可採用 V(0, tau) = K exp(-r tau),並在 S 增大時趨近於零;美式賣權通常採用 V(0, tau) = K。含股息歐式買權的高價漸近式則不同。離散現金股息需要跳轉與插值,例如 V(S, t-) = V(max(S - D, 0), t+),然後依正確順序判斷是否履約。
即使時間步很小,中央差分也可能產生負的對流係數,因此可能需要迎風、擬合或對數價格離散。擴散 PDE 也不會自動取得價格跳躍。模型、參數、校準、數值與可成交價格誤差必須分開處理。
四個計算範例
- 時鐘改變時,時間符號也會改變。 由
V_t + L V = 0與tau = T - t,連鎖律給出V_tau = L V。因此,從tau = 0的到期支付向更大的tau推進時,應使用正的L算子;照搬日曆時間倒推時的負號會求解另一個問題。 - 單一節點看起來可能局部安全。 設
sigma = 25%、r = 4%、q = 0、i = 95、Delta tau = 0.0005,則a_i = 280.13125、b_i = -564.1025、c_i = 283.93125;顯式權重分別為0.140065625、0.71794875、0.141965625,合計0.99998。相鄰節點值為6, 5, 4時,更新值是4.998。對障礙值為5的美式賣權,顯式投影保留5;隱式或 Crank-Nicolson 系統仍需檢查其耦合 LCP 殘差。 - 限制條件必須在全域滿足。 使用相同輸入但令
i = 200,顯式權重為0.623、-0.25002、0.627;儘管現價附近的節點看似可接受,負的中央權重仍破壞單調性。將步長降至Delta tau = 0.0002後,權重變為0.2492、0.499992、0.2508,均為非負,合計0.999992。 - 價格與希臘字母需要獨立控制。 對歐式賣權,設
S = $95、K = $100、T = 0.5、sigma = 25%、r = 4%、q = 0,Black-Scholes 給出d_1 = -0.088633257689、d_2 = -0.265409952985、價格$8.413258404601、Delta-0.535313311861及 Gamma0.023662224614。只有網格分別收斂至這三項輸出後,才可信賴它算出的美式溢價或自由邊界。
七步控制中的失效風險
- 日曆時間
t與剩餘期限tau可能使用不一致的推進符號。 - 日、年、利率、波動率與股息的單位可能混用。
- 支付函數、履約方式、結算權利或終端層可能編碼錯誤。
- 連續股息率與離散現金股息可能重複計入或順序錯誤。
S_max可能離現價太近,即使Delta S看似很小。- 低價與高價邊界公式可能屬於不同的合約或持有成本假設。
- 股息、障礙、定盤或觀察時點可能落在時間節點之間,並遭錯誤插值。
- 節點數與區間數或非均勻網格導數公式可能出現差一錯誤。
- 漂移項可能使中央空間係數為負,從而破壞單調性。
- 顯式權重可能在遠離現價的位置違反全域穩定性或正性。
- Crank-Nicolson 可能在支付折點、障礙或事件跳轉附近振盪。
- Rannacher 或其他阻尼可能遭遺漏、用於錯誤事件上或未作記錄。
- 即使價值曲面看似平滑,線性系統殘差也可能過大。
- PSOR 的鬆弛參數、停止容差、初始值或迭代上限可能不穩定。
- 一次無限制求解後逐節點取最大值,可能被誤當成精確的隱式或 Crank-Nicolson LCP 求解。
- 現價處插值可能使價值、Delta、Gamma 或自由邊界產生偏差。
- 價格看似收斂後,Gamma 與履約邊界仍可能有雜訊。
- 可能在尚未進入平滑漸近區間時使用觀察到的收斂階或 Richardson 外推。
- 擴散、局部波動率插值、跳躍、參數或校準可能有結構性錯誤。
- 理論價值可能被描述為可成交的買進報價、賣出報價、避險或套利機會。
常見誤解
- 「更細的網格就證明價格正確。」它既不能證明合約正確,也不能證明模型正確。
- 「隱式格式本質上比顯式格式不準確。」兩種 Euler 格式通常都是時間一階,只是穩定性與誤差特性不同。
- 「Crank-Nicolson 無條件穩定,所以一定單調且沒有振盪。」這些是彼此不同的性質。
- 「美式價值等於一次無限制求解後逐點取最大值。」耦合隱式系統需要 LCP 方法或有量化說明的近似。
- 「符合一個報價就驗證了求解器與希臘字母。」校準與市場雜訊可能掩蓋數值或結構錯誤。
相關主題
主要來源
- The Pricing of Options and Corporate Liabilities
- Theory of Rational Option Pricing
- A Practical Method for Numerical Evaluation of Solutions of Partial Differential Equations of the Heat-Conduction Type
- The Valuation of American Put Options
- Finite Element Solution of Diffusion Problems with Irregular Data
- Convergence of Approximation Schemes for Fully Nonlinear Second Order Equations
- Operator Splitting Methods for American Option Pricing
- Characteristics and Risks of Standardized Options