投影具有 Black Scholes 收益的 Thiele 微分方程
我正在嘗試求解方程
$ \frac{d}{dt}V(t)=r(t)V(t)+\pi-\mu(x+t)(b_d-V(t)) $
數值上使用 R 函式“ode”。這是具有保費率的人壽保險準備金的 Thiele 微分方程 $ \pi $ , 死亡率強度 $ \mu $ (為 $ x+t $ 歲),死亡撫卹金 $ b_d $ 和利率流程 $ r $ .
我想在所謂的單位關聯設置中執行此操作,其中保單的回報是由股票投資產生的,因此為了簡單起見,我假設了 Black Scholes 模型。
我生成幾何布朗運動。如圖所示,時間間隔為 40 年,模擬的步長為 $ 40/100000 $ . 對於每個模擬點,我將回報計算為
$ r[i]=\frac{S[i+1]-S[i]}{S[i]} $
這樣我有 $ 100000 $ 返回值。為兩個非常不同的場景繪製這兩個會產生
我的問題是,我希望保留過程會有更多變化,就像模擬的幾何布朗運動一樣。本質上,我認為它太光滑了。此外,如果我生成的 GBM 軌跡分別以 500 和 10 的值結束,則儲備最終值的差異變化很小。
有誰知道這是為什麼,我做錯了什麼嗎?附上 R 程式碼。
maturity <- 40 simulation.length <- 100001 dt <- maturity/(simulation.length-1) timeline <- seq(0,maturity, dt) BM <- GBM <- EV <- rep(0, times=simulation.length) EV[1] <- GBM[1] <- S0 for(i in 2:simulation.length){ BM[i] <- BM[i-1]+sqrt(dt)*rnorm(1) GBM[i] <- GBM[1]*exp((mu-(sigma^2)/2)*(i-1)*dt+sigma*BM[i]) EV[i] <- EV[1]*exp(mu*(i-1)*dt) } return <- rep(0,length(GBM)) returns[1] <- 0 for (i in 2:length(GBM)-1) { returns[i] <- (GBM[i+1] - GBM[i]) / GBM[i] } dV <- function(t,V, parms) { list(returns[t/0.0004+1] * V + premiumRate - mortalityIntensity(t+25) * (deathBenefit - V)) } out <- ode(y = 0, times = timeline, func = dV, parms = NULL) interpolatedReserve <- approxfun(times,out[,2], method="linear")
問題不在於
approxfun
功能不夠好,因為我在GBM上使用它來繪製綠色軌跡。我使用 60000 作為保費率(每月支付大約 1000 美元的養老金)和 1.000.000 的死亡撫卹金(丹麥克朗的實際數字)。是不是因為回報 $ r\cdot V $ 與每年的保費率相比,太小而無法引起注意?我只是懷疑儲備地塊大致跟隨GBM的運動?
我找到了解決方案,但我不確定為什麼我做錯了。
無論如何,解決方案是使用 R 包 Sim.DiffProc 來模擬隨機擴散過程
$ dV(t)=\alpha(t,V(t))dt+\sigma(t,V(t))dW(t)\=(\alpha V(t)+\pi-\mu(x+t)(b_d-V(t)))dt+\sigma V(t)dW(t) $
感謝 Quantuple 引導我朝著正確的方向前進。