香草歐洲電話的二項式定價和蒙地卡羅模擬之間的分歧?
我注意到我自己的程式碼存在分歧,但即使在公共程式碼中也很明顯:
因此,為普通期權定價顯示了工具價值的巨大差異:
::: BinomialTreeEuropeanCallPrice(50., 50., 0.065, 0.7, 1.)
14.770372341296639
::: MonteCarloEuropeanCallPrice(50., 50., 0.065, 0.7, 1.)
15.790992991711446
::: MonteCarloEuropeanCallPrice(50., 50., 0.065, 0.7, 1.)
15.708282373460175
::: MonteCarloEuropeanCallPrice(50., 50., 0.065, 0.7, 1.)
16.329354195310856
::: BinomialTreeEuropeanCallPrice(50., 50., 0.065, 0.7, 1., N=40)
14.797836571920467
::: MonteCarloEuropeanCallPrice(50., 50., 0.065, 0.7, 1., N=150, pathCount=10000)
15.465674502595983
::: MonteCarloEuropeanCallPrice(50., 50., 0.065, 0.7, 1., N=150, pathCount=10000)
15.716431314886879
即使 sd ~ 40,蒙地卡羅的標準誤差也是 ~ 0.4,因此價格差異超過 2 se。MC收斂真的那麼慢嗎?還是步長太大導致向上偏差?
此選項的 Black-Scholes 價格約為 $ 14.8 $ . 當我執行蒙地卡羅模擬時 $ 10000 $ 路徑和“精確”時間步進,我得到的結果非常接近這個值。
您正在使用一階歐拉近似值在多個時間步長上模擬終端資產價格:
$$ S(t+\Delta t)= S(t) + rS(t)\Delta t + \sigma S(t)\sqrt{\Delta t}\xi, $$ 在哪裡 $ \xi \sim N(0,1). $
這將導致對高波動性(例如。 $ 70%). $
時間步長上幾何布朗運動的精確解是
$$ S(t+\Delta t)= S(t)\exp[(r-\sigma^2/2)\Delta t]\exp[\sigma\sqrt{\Delta t}\xi]. $$ 使用低階時間步進方案,您將引入向上偏差。要麼使用時間步長上的精確解,要麼使用 SDE 的高階數值方法,或者簡單地一步模擬終端資產價格,如下所示
$$ S(T)= S(0)\exp[(r-\sigma^2/2)T]\exp[\sigma\sqrt{T}\xi]. $$
您還可以在蒙特卡羅模擬中包含變異數減少技術,例如控制變數或對立變數。兩者都旨在減少您的模擬期權價格的可變性,並且在蒙特卡羅模擬中非常受歡迎。
http://en.wikipedia.org/wiki/Antithetic_variates
http://en.wikipedia.org/wiki/Control_variates
兩者都非常易於實現,尤其是對應於您的底層證券的第二條路徑的對立變數,其中隨機數與第一條路徑負相關。
對立變數通常工作得很好,應該會大大減少結果的可變性。控制變數取決於您的估值模型的設計和衍生品的收益結構。您也可以將兩者結合起來。
Glasserman 關於金融工程中的蒙地卡羅技術的書提供了一些極好的指導。