CQF笔记M1L5仿真和操作随机微分方程
CQF筆記M1L5仿真和操作隨機微分方程
- Module 1 Building Blocks of Quant Finance
- Lecture 5 Simulating and Manipulating Stochastic Differential Equations
- 操作隨機微分方程
- 轉移概率密度函數
- 前向方程
- 對數正態隨機游走
- 穩態分布
- 反向方程
- 仿真對數正態隨機游走
- 生成相關的隨機數
Module 1 Building Blocks of Quant Finance
Lecture 5 Simulating and Manipulating Stochastic Differential Equations
操作隨機微分方程
dG=a(G,t)dt+b(G,t)dXdG = a(G,t) \ dt + b(G,t) \ dXdG=a(G,t)?dt+b(G,t)?dX
稱為GGG的隨機微分方程或者dGdGdG的隨機游走,由兩部分組成:
資產價格和幾何布朗運動
dS=μSdt+σSdX(1)dS=\mu S dt + \sigma S dX \tag{1}dS=μSdt+σSdX(1)
- drift a(S,t)=μSa(S,t)=\mu Sa(S,t)=μS
- diffusion b(S,t)=σSb(S,t)=\sigma Sb(S,t)=σS
這個隨機過程叫幾何布朗運動Geometric Brownian Motion(GMB)或指數布朗運動Exponential Brownian Motion(EMB),廣泛用于資產定價
期權價格
df=f(X+dX)?f(x)=dfdXdX+12d2fdX2dt(2)df = f(X+dX)-f(x) = \frac{df}{dX} dX + \frac{1}{2} \frac{d^2f}{dX^2} dt \tag{2}df=f(X+dX)?f(x)=dXdf?dX+21?dX2d2f?dt(2)
其中用到limdt→0dX2=dtlim_{dt \to 0} dX^2 = dtlimdt→0?dX2=dt
重寫公式(1)(1)(1)為 dSS=μdt+σdX\begin{aligned} \frac{dS}{S} = \mu dt + \sigma dX \end{aligned}SdS?=μdt+σdX?
- dSdSdS反映很短時間間隔dtdtdt內的價格變化, dSS\begin{aligned} \frac{dS}{S} \end{aligned}SdS??表示資產收益率
- μ\muμ 是資產收益率的平均值
- σ\sigmaσ 反映資產收益率的波動性(標準差)
- dXdXdX 是布朗運動的增量,服從正態分布dX~N(0,dt)dX \sim N(0, dt)dX~N(0,dt)
期權價格是隨機過程的函數V(S)V(S)V(S), 進行泰勒展開得到 dV=dVdSdS+12d2VdS2dS2\begin{aligned} dV=\frac{dV}{dS} dS + \frac{1}{2} \frac{d^2V}{dS^2} dS^2 \end{aligned}dV=dSdV?dS+21?dS2d2V?dS2?
忽略dt32,dt2dt^\frac{3}{2}, dt^2dt23?,dt2等高階無窮小, 得到dS2=σ2S2dtdS^2=\sigma ^2 S^2 dtdS2=σ2S2dt,帶入得到
dV=(μSdVdS+12σ2S2d2VdS2)dt+(σSdVdS)dX(3)\begin{aligned} dV = (\mu S \frac{dV}{dS} + \frac{1}{2} \sigma^2 S^2 \frac{d^2V}{dS^2})dt + (\sigma S \frac{dV}{dS})dX \end{aligned} \tag{3}dV=(μSdSdV?+21?σ2S2dS2d2V?)dt+(σSdSdV?)dX?(3)
這是一個新的隨機微分方程,同樣包括確定性部分和隨機部分
實例1:對數
由于幾何布朗運動的右側有S,無法直接通過積分求解,定義中間函數V(S)=logSV(S)=logSV(S)=logS,有
dVdS=1Sd2VdS2=?1S2\begin{aligned} & \frac{dV}{dS} = \frac{1}{S} \\ & \frac{d^2V}{dS^2} = - \frac{1}{S^2} \\ \end{aligned}?dSdV?=S1?dS2d2V?=?S21??
由公式(3)(3)(3)得到
d(logS)=(μ?12σ2)dt+σdXd(logS) = (\mu - \frac{1}{2} \sigma ^2)dt + \sigma dXd(logS)=(μ?21?σ2)dt+σdX
兩邊積分,得到
∫0td(logS)=∫0t(μ?12σ2)dτ+∫0tσdX=(μ?12σ2)t+σ(X(t)?X(0))\begin{aligned} \int_0^t d(logS) &= \int_0^t(\mu - \frac{1}{2} \sigma ^2)d\tau + \int_0^t \sigma dX \\ &= (\mu - \frac{1}{2} \sigma ^2)t + \sigma (X(t) - X(0)) \end{aligned}∫0t?d(logS)?=∫0t?(μ?21?σ2)dτ+∫0t?σdX=(μ?21?σ2)t+σ(X(t)?X(0))?
假設X(0)=0,S(0)=S0X(0) = 0, S(0) = S_0X(0)=0,S(0)=S0?,
S(t)=S0e(μ?12σ2)t+σX(t)=S0e(μ?12σ2)t+σ?t\begin{aligned} S(t) &= S_0 e^{(\mu - \frac{1}{2} \sigma ^2)t + \sigma X(t)} &=S_0 e^{(\mu - \frac{1}{2} \sigma ^2)t + \sigma \phi \sqrt{t}} \end{aligned}S(t)?=S0?e(μ?21?σ2)t+σX(t)?=S0?e(μ?21?σ2)t+σ?t??
實例2:均值復歸
考察 dr=γ(rˉ?r)dt+σdXdr = \gamma(\bar{r} - r)dt + \sigma dXdr=γ(rˉ?r)dt+σdX
- γ\gammaγ 是回復速度
- rˉ\bar{r}rˉ 是均值(長期均值)
這個微分方程同樣無法直接通過積分求解rrr,令u=r?rˉu = r - \bar{r}u=r?rˉ, 兩邊同時乘以eγte^{\gamma t}eγt, 使用乘法法則,得到d(ueγt)=σeγtdXd(ue^{\gamma t}) = \sigma e^{\gamma t} dXd(ueγt)=σeγtdX, 兩邊積分得到
u(t)=u(0)e?γt+σ∫0teγ(s?t)dXs=u(0)e?γt+σ(X(t)?γ∫0tX(s)eγ(s?t)ds)\begin{aligned} u(t) &= u(0)e^{-\gamma t} + \sigma \int_0^t e^{\gamma (s-t)} dX_s \\ &= u(0)e^{-\gamma t} + \sigma (X(t) - \gamma \int_0^t X(s)e^{\gamma (s-t)} ds) \end{aligned}u(t)?=u(0)e?γt+σ∫0t?eγ(s?t)dXs?=u(0)e?γt+σ(X(t)?γ∫0t?X(s)eγ(s?t)ds)?
轉移概率密度函數
dy=A(y,t)dt+B(y,t)dXdy = A(y, t)dt + B(y, t)dXdy=A(y,t)dt+B(y,t)dX
注意概率密度函數p(y,t;y′,t′)p(y,t;y',t')p(y,t;y′,t′)的定義
Prob(a<y′<battimet′∣yattimet)=∫abp(y,t;y′,t′)dy′\begin{aligned} Prob(a<y'<b \ at \ time \ t' | y\ at\ time\ t) = \int_a^b p(y,t;y',t')dy' \end{aligned}Prob(a<y′<b?at?time?t′∣y?at?time?t)=∫ab?p(y,t;y′,t′)dy′?
前向方程
已知:當前時刻ttt的值為yyy
求解:未來時刻t′t't′的值為y′y'y′的概率(分布)
通過三叉樹思想可以得到前向方程和反向方程, 參考泰勒級數和轉移概率密度函數
?p?t′=12?2?y′2(B(y′,t′)2p)???y′(A(y′,t′)p)\begin{aligned} \frac{\partial p}{\partial t'} = \frac{1}{2} \frac{\partial ^2}{\partial {y'}^2}(B(y',t')^2 p) - \frac{\partial}{\partial y'}(A(y',t')p) \end{aligned}?t′?p?=21??y′2?2?(B(y′,t′)2p)??y′??(A(y′,t′)p)?
這個方程稱為Fokker–Planck或者forward Kolmogorov方程
對數正態隨機游走
dS=μSdt+σSdXdS=\mu S dt + \sigma S dXdS=μSdt+σSdX
- A(S,t)=μSA(S,t)=\mu SA(S,t)=μS
- B(S,t)=σSB(S,t)=\sigma SB(S,t)=σS
前向方程變為
?p?t′=12?2?y′2(σ2S′2p)???y′(μS′p)\begin{aligned} \frac{\partial p}{\partial t'} = \frac{1}{2} \frac{\partial ^2}{\partial {y'}^2}(\sigma ^ 2 {S'}^2 p) - \frac{\partial}{\partial y'}(\mu S' p) \end{aligned}?t′?p?=21??y′2?2?(σ2S′2p)??y′??(μS′p)?
求解得到
p(S,t;S′,t′)=1σS′2π(t′?t)e?(log(S/S′)+(μ?12σ2)(t′?t))2/2σ2(t′?t)\begin{aligned} p(S, t; S', t') = \frac{1}{\sigma S' \sqrt{2 \pi (t' - t)}} e^{-(log(S/S')+(\mu - \frac{1}{2}\sigma^2)(t'-t))^2/2\sigma ^ 2(t'-t)} \end{aligned}p(S,t;S′,t′)=σS′2π(t′?t)?1?e?(log(S/S′)+(μ?21?σ2)(t′?t))2/2σ2(t′?t)?
對數隨機游走的概率密度分布
下圖是上圖表達的是同一個意思
穩態分布
當t′→∞t' \to \inftyt′→∞時, p(y,t;y′,t′)p(y, t; y', t')p(y,t;y′,t′)與初始時刻ttt的狀態yyy無關。
- 利率、通脹和波動率的SDE模型呈現穩態分布
- 對數正態分布隨機游走會變為無界或者退化為0(非穩態)
穩態分布p∞(y′)p_{\infty}(y')p∞?(y′)滿足微分方程
12d2dy′2(B2p∞)?ddy′(Ap∞)=0\begin{aligned} \frac{1}{2} \frac {d^2}{{dy'}^2}(B^2 p_{\infty}) - \fracozvdkddzhkzd{dy'}(Ap_{\infty}) = 0 \end{aligned}21?dy′2d2?(B2p∞?)?dy′d?(Ap∞?)=0?
Vasicek model
dr=γ(rˉ?r)dt+σdXdr = \gamma(\bar{r} - r)dt + \sigma dXdr=γ(rˉ?r)dt+σdX
帶入穩態分布的微分方程
12σ2d2p∞dy′2?γddr′((rˉ?r′)p∞)=0\begin{aligned} \frac{1}{2} \sigma ^2 \frac {d^2 p_{\infty}}{{dy'}^2} - \gamma \fracozvdkddzhkzd{dr'}((\bar{r}-r')p_{\infty}) = 0 \end{aligned}21?σ2dy′2d2p∞???γdr′d?((rˉ?r′)p∞?)=0?
解方程得到
p∞=1σγπe?γ(rˉ?r′)2σ2\begin{aligned} p_{\infty} = \frac{1}{\sigma} \sqrt{\frac{\gamma}{\pi}} e^{-\frac{\gamma(\bar{r} - r')^2}{\sigma ^2}} \end{aligned}p∞?=σ1?πγ??e?σ2γ(rˉ?r′)2??
說明利率
r~N(rˉ,σ22γ)r \sim N(\bar{r}, \frac{\sigma^2}{2 \gamma})r~N(rˉ,2γσ2?)
TODO: 疑問: Vasicek模型本身滿足穩態分布,還是假設他滿足穩態分布
反向方程
backward Kolmogorov equation
?p?t+12B(y,t)2?p?y2+A(y,t)?p?y=0\begin{aligned} \frac{\partial p}{\partial t} + \frac{1}{2} B(y,t)^2 \frac {\partial ^ p} {\partial y ^ 2} + A(y, t) \frac {\partial p} {\partial y} = 0 \end{aligned}?t?p?+21?B(y,t)2?y2?p?+A(y,t)?y?p?=0?
仿真對數正態隨機游走
dS=μSdt+σSdXdS=\mu S dt + \sigma S dXdS=μSdt+σSdX
變換為離散時間
Si+1=Si(1+μδt+σ?δ1/2)\begin{aligned} S_{i+1} = S_i (1+\mu \delta t + \sigma \phi \delta ^ {1/2}) \end{aligned}Si+1?=Si?(1+μδt+σ?δ1/2)?
Euler method 用電子表格軟件仿真這個模型
輸入參數
- 初始值 S0S_0S0?
- 時間步長 δt\delta tδt
- drift rate μ\muμ
- 波動率 σ\sigmaσ
- 步數
標準正態分布發生器 ?\phi?
在Excel中,
- 精確但是慢的方法:用函數NORMSINV(RAND())產生標準正態分布的隨機數
- 不精確但是快的方法:(∑i=112\begin{aligned} \sum_{i=1}^{12} \end{aligned}i=1∑12?? RAND()) - 6
這里是用均勻分布之和呈現正態分布的特性,只取了12次均勻分布的和,所以不太精確
仿真其他隨機游走
基本思路都是先離散化,再用正態分布隨機數發生器產生數據
生成相關的隨機數
生成不相關的隨機數
?1=?1\phi_1 = \epsilon_1?1?=?1?
?2=ρ?1+1?ρ2?2\phi_2 = \rho \epsilon_1 + \sqrt{1-\rho^2} \epsilon_2?2?=ρ?1?+1?ρ2??2?$
?1\phi_1?1?和?2\phi_2?2?的相關性為ρ\rhoρ
獨立正態分布Xi~N(μi,σi2)Xi \sim N(\mu_i, \sigma_i^2)Xi~N(μi?,σi2?)的加權和滿足正態分布
∑i=1nωiXi~N(∑i=1nωiμi,∑i=1nωi2σi2)\begin{aligned} \sum_{i=1}^{n} \omega_i X_i \sim N(\sum_{i=1}^{n} \omega_i \mu_i, \sum_{i=1}^{n} \omega_i ^2 \sigma_i ^ 2) \end{aligned}i=1∑n?ωi?Xi?~N(i=1∑n?ωi?μi?,i=1∑n?ωi2?σi2?)?
以上幾個結論都可以通過獨立分布的相關性/協方差為0證明
總結
以上是生活随笔為你收集整理的CQF笔记M1L5仿真和操作随机微分方程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鞋城模板+html,西安锦绣鞋城整合营销
- 下一篇: Turbo码(Turbo Codes)