Black-Scholes
Black Scholes PDE 邊界條件
所以我試圖使用有限差分模型來求解布萊克斯科爾斯方程,但我得到的答案是錯誤的,我無法理解為什麼。
這是 K = 100.0、r = 0.12 和 sigma = 0.10 的選項的結果
左側高於應有的高度,並且應該開始平坦,但右側相當接近。這是我正在求解的方程:
$$
- \frac{\partial}{\partial t} V(t,s) + r\ s\ \frac{\partial}{\partial s} V(t,s) + \frac{1}{2}\ \sigma^2\ s^2\ \frac{\partial^2}{\partial s^2} V(t,s) - r\ V(t,s) = 0 $$
這是一個將解決方案與離散公式中的值圖進行比較的圖表,藍線是正確的值,黃線是我得到的。這是 t=1 的到期時間
def euro_call_sym(S, K, T, r, sigma): N = Normal('x', 0.0, 1.0) d1 = (sympy.ln(S / K) + (r + 0.5 * sigma ** 2) * T) / (sigma * sympy.sqrt(T)) d2 = (sympy.ln(S / K) + (r - 0.5 * sigma ** 2) * T) / (sigma * sympy.sqrt(T)) call = (S * cdf(N)(d1) - K * sympy.exp(-r * T) * cdf(N)(d2)) return call
為了生成我的結果,我沒有使用任何邊界條件,在右側邊緣的一個點上使用一側的左導數,在其餘位置上使用居中的導數。
有誰知道什麼邊界條件可以解決圖表左側的行為?
不確定問題是否歸結為邊界條件 - 可能還有很多其他問題,但看漲期權最簡單形式的邊界條件是:
- 對於非常大的 S: $ V\left(t,S\right) \approx S $
- 對於非常小的 S: $ V\left(t,S\right) \approx 0 $
對於看跌期權,等效邊界條件為:
- 對於非常大的 S: $ V\left(t,S\right) \approx 0 $
- 對於非常小的 S: $ V\left(t,S\right) \approx K e^{-r(T-t)} $
每個的初始條件只是到期時的期權收益。
順便說一句,您還可以將時間倒轉,在這種情況下,通過設置也很容易擺脫可變係數 $ x=\ln S $ ,然後可以將方程轉換為熱方程,這是相對容易處理的有限差分。
我後來解決了這個問題,問題是我在左邊使用的前嚮導數。對於其他嘗試做類似事情的人來說,我成功的關鍵如下:
- 右側的諾依曼邊界條件(或單點的單向反嚮導數)
- 填充左側,使 V 從 0 開始
- 來自魔術答案的邊界條件
這是我的結果(K=100,r=12%,sigma=10%)