蒙特卡羅

幾何布朗運動 - 增加模擬或減小步長

  • January 6, 2016

我正在執行蒙地卡羅模擬來估計某些股票的未來股價。

對於股票 A,我需要正好一年後的 1 個股價。

對於股票 B,我需要來年每個交易日的每日價格。

這兩個模型都被模擬了,比如說,1000 次。

由於 B 的 dt 較小,這提高了一年後股價的準確性。但是如何證明這一點?而且,模擬次數和時間步長之間的關係是什麼?

編輯: 我使用 3 年對數正態每日收益來估計波動率;漂移基於零息債券,其期限等於期權/股票的期限(在本例中為 1 年)。兩者在模擬年保持不變。使用 Mersenne Twister 算法生成隨機數。

時間 t 的股票價格由下式計算:

對於 A,dt = 1

$$ S_{t}= S_0 \cdot exp((r-\frac{1}{2}\sigma^2)dt+\sigma\sqrt{dt}Z) $$ 對於 B,我使用歐拉離散化,dt = 1/255

$$ S_{t+dt}= S_t \cdot exp((r-\frac{1}{2}\sigma^2)dt+\sigma\sqrt{dt}Z) $$

由於您使用幾何布朗運動 (GBM) 作為模型,因此 SDE 有一個強(因此也是弱)的解決方案。也就是說,您的模擬大概看起來像

$$ S^A_T \sim S^A_0 \exp\left( \left(r-q-\frac12 \sigma^2\right) T + z \sigma \sqrt{T} \right) $$ 對於標準高斯 $ z $ 具有精確的正確分佈。

因為高斯變數的總和本身就是高斯的,所以您對股票 B 的鍊式模擬遵循以下公式

$$ S^B_{t_i} \sim S^B_{t_{i-1}} \exp\left( \left(r-q-\frac12 \sigma^2\right) (t_{i}-t_{i-1}) + z \sigma \sqrt{t_{i}-t_{i-1}} \right) $$ 望遠鏡進入

$$ S^B_{t_N} \sim S^B_0 \prod_{i=1}^N \exp\left( \left(r-q-\frac12 \sigma^2\right) (t_{i}-t_{i-1}) + z \sigma \sqrt{t_{i}-t_{i-1}} \right) $$ 或者

$$ S^B_{t_N} \sim S^B_0 \exp\left( \sum_{i=1}^N \left(r-q-\frac12 \sigma^2\right) (t_{i}-t_{i-1}) + z \sigma \sqrt{t_{i}-t_{i-1}} \right) $$ 並且在分配方面也完全正確。

因此,以 1 年的時間間隔對股票 A 進行模擬的“準確度”不亞於對股票 B 的模擬。

現在,如果您使用股票 B SDE 的 GBM 的 Euler 或 Milstein 離散化,那麼您將有理由擔心相對準確性。

a) 在 NOW 和 1 YEAR 之間進行任何模擬是沒有意義的。直接模擬 1 年的股價。

b)在這裡你關心stoch過程的PATH,所以模擬每一天,但不要模擬“中間”或“內部”天。

程序 b 有效地使用程序 a 中的算法,並對漂移和 vol 進行適當調整

衡量“準確性”計算信賴區間。您的估計具有正態分佈,樣本變異數與 SQRT (N) 成正比,其中 N - 模擬次數。因此,如果您進行 4 倍的模擬,您將獲得兩倍準確的估計 SQRT(4)=2。增加 N 的成本非常高,最好使用變異數減少技術(參見 wiki)。

引用自:https://quant.stackexchange.com/questions/22584