規劃

從 GBM 的對數正態分佈中提取值

  • December 13, 2019

我正在查看帶有參數的 GBM

$$ r=0.05 \ \sigma=0.2 \ K=130\ T=0.25\ S_0 = 100 $$

這是一個對數正態分佈的過程,均值和變異數由下式給出

$ \mu = S_0e^{r T+0.5\sigma^2 T}\ Var = S_0^2e^{2r T + \sigma^2T}(e^{\sigma^2 T}-1) $

我正在嘗試從此分佈中生成值。但是,我得到的值相當:

r = 0.05
sigma = 0.2
K = 130
T = 0.25
S0 = 100

import numpy as np
mean = S0*np.exp(r*T)
var = np.sqrt((S0**2)*np.exp(2*r*T)*(np.exp((sigma**2)*T)-1))
np.random.lognormal(mean, np.sqrt(var))

從中提取值 $ f(x) $ 給了我一些東西 $ 10^{45} $ (!)有人能在上面發現我的錯誤嗎?

假設您的 GBM 由

$$ S_{T}=S_{0}e^{(r -{\frac {\sigma ^{2}}{2}})T+\sigma W_{T}} $$

那麼它的均值和變異數是: $$ {Mean=S_{0}e^{r T},} $$ $$ {Variance=S_{0}^{2}e^{2r T}\left(e^{\sigma ^{2}T}-1\right)}{\displaystyle} $$

您不能將這些值直接粘貼到 np.random.lognormal 中,因為在這種情況下,參數 $ \mu $ 和 $ \sigma^2 $ 不代表隨機變數的均值和變異數。你實際上需要模擬 $ W_T\sim N(0,T) $ 並將這些值插入 $ S_T $ .

對於正態分佈,僅巧合的是, $ \mu $ 和 $ \sigma $ 是均值和變異數;同樣不適用於對數正態分佈https://docs.scipy.org/doc/numpy-1.14.1/reference/generated/numpy.random.lognormal.html

“從具有指定均值、標準差和數組形狀的對數正態分佈中抽取樣本。請注意,均值和標準差不是分佈本身的值,而是其衍生的基礎正態分佈的值。”

從對數正態分佈模擬 $ S_T $ , 注意 $ \ln S_T $ 正態分佈: $$ \ln S_{T}=\ln S_{0}+(r -{\frac {\sigma ^{2}}{2}})T+\sigma W_{T}\sim N(\ln S_{0}+(r -{\frac {\sigma ^{2}}{2}})T,\sigma T) $$

因此,您需要致電:

np.random.lognormal(ln S_0+(r-sigma^2/2)*T, sigma*T)

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