希臘人:通過蒙地卡羅有限差分估計 gamma
當我使用 Monte Carlo 通過有限差分法計算普通看漲期權的 gamma 時,我陷入瞭如下奇怪的情況。
考慮到這一點, $$ Gamma = \frac{CallPrice(S^{up}{T}) - 2 * CallPrice(S{T}) + CallPrice(S^{down}{T})}{dS^2} $$ 我們可以選擇足夠小的 dS 使得當 $$ S{T}>K \text{ then } S^{down}{T}>K $$ 和 $$ S{T}<K \text{ then } S^{up}_{T}<K $$
也就是說,我們可以將上面的 Gamma 公式寫成 $$ Gamma = \frac{(S^{up}{T}-K)I(S{T}>K) - 2 * (S_{T}-K)*I(S_{T}>K) + (S^{down}{T}-K)I(S{T}>K)}{dS^2} $$ $$ = \frac{(S^{up}{T} - 2 * S{T} + S^{down}{T})I(S{T}>K)}{dS^2} $$ $$ = \frac{(S_{0}+dS)exp(…) - 2S_{0}*exp(…) + (S_{0}-dS)*exp(…)}{dS^2} = 0 $$
所以每次我執行模擬時,我總是得到一個正確的 delta 但錯誤的 gamma。(不等於零可能是因為捨入誤差?)
我知道伽瑪是非零的,但我找不到我做錯了什麼。有什麼幫助嗎?
注意:這個問題有點類似於“希臘人:為什麼我的蒙地卡羅給出正確的 delta 但不正確的 gamma? ”,但略有不同。
路徑有限差分 Gamma 公式確實是:
$$ \Gamma(S_0,T, dS; Z) = (dS)^{-2} \left[ (S_T^{up} (Z) - K)^+ -2 (S_T (Z) - K)^+ + (S_T^{dn} (Z) - K)^+ \right], $$
在哪裡 $ Z $ 是標準正態 rv,並且
$$ S_T (Z) = S_0\eta (Z), $$
$$ S_T^{up} (Z) = (S_0+dS)\eta(Z) = (S_0+dS)S_0^{-1} S_T (Z) $$
$$ S_T^{dn} (Z) = (S_0-dS)\eta(Z) = (S_0-dS)S_0^{-1} S_T (Z), $$
和
$$ \eta(Z) = \exp \left( (r-0.5\sigma^2)T + \sigma \sqrt{T} Z \right). $$
對於實現 $ Z $ , 如果 $ S_T (Z) > K $ , 然後 $ S_T^{up} (Z) > K $ . 我們還有 $ S_T^{dn} (Z) > K $ ,但僅當:
$$ dS < (S_T(Z) - K)\eta(Z)^{-1}. $$
如果 $ S_T (Z) <K $ , 然後 $ S_T^{dn} (Z) <K $ . 和 $ S_T^{up} (Z) <K $ , 如果
$$ dS < (K -S_T(Z) )\eta(Z)^{-1}. $$
所以,對於這樣的 $ Z $ 實現和 $ dS $ , 我們確實有:
$$ I(S_T(Z)-K) = I(S_T^{up}(Z)-K) = I(S_T^{up}(Z)-K). $$
如果 $ S_T (Z) = K $ , 然後 $ S_T^{up} (Z) > K $ , 和 $ S_T^{dn} (Z) < K $ 無論 $ dS>0 $ 我們選擇。所以,在這種情況下:
$$ I(S_T(Z)-K) = I(S_T^{dn}(Z)-K) =0 \not= 1 = I(S_T^{up}(Z)-K). $$
您提供的連結提供了有關如何在 Monte Carlo 框架中處理 Gamma 計算的答案和資源。
請注意,使用上面的符號,
$$ \lim_{dS\rightarrow 0}\Gamma(S_0,T, dS; Z) = \delta (S_T(Z)-K) S_T(Z)S_0^{-1}, $$
在哪裡 $ \delta $ 是狄拉克三角函式。所以,通過蒙地卡羅計算它的期望必然會給出毫無意義的結果。給出非零結果的機率為零,而實際上我們知道:
$$ E[\delta (S_T(Z)-K) S_T(Z)S_0^{-1}] = KS_0^{-1}f(K), $$
在哪裡 $ f $ 是的pdf $ S_T(Z) $ .