欢迎光临
我们一直在努力

Julia求解OU过程

文章目录

    • OU过程简介
    • 数值求解
    • 解析对比与绘图

OU过程简介

Ornstein-Uhlenbeck(OU) 过程是均值回归(Mean-Reverting)随机过程的经典代表,具有以下几个特征

  • 系统存在一个长期平衡值

    μ

    \\mu

    μ

  • 偏离平衡时会受到与偏离量成正比的恢复力
  • 叠加随机扰动

据此,可创建朗之万方程

d

X

t

d

t

=

θ

(

X

t

μ

)

+

σ

ξ

(

t

)

\\frac{\\mathrm dX_t}{\\mathrm dt}=-\\theta(X_t-\\mu)+\\sigma\\xi(t)

dtdXt=θ(Xtμ)+σξ(t)

式中

θ

\\theta

θ为均值回归速率,

μ

\\mu

μ为长期均值,

σ

\\sigma

σ为造成强度,

ξ

(

t

)

\\xi(t)

ξ(t)为高斯白噪声。将其转换为伊藤SDE如下

d

X

t

=

θ

(

μ

X

t

)

d

t

+

σ

d

W

t

\\mathrm dX_t=\\theta(\\mu-X_t)\\mathrm dt+\\sigma\\mathrm dW_t

dXt=θ(μXt)dt+σdWt

OU过程的解析解为

X

t

=

X

0

e

θ

t

+

μ

(

1

e

θ

t

)

+

σ

0

t

e

θ

(

t

s

)

d

W

s

X_t=X_0e^{-\\theta t}+\\mu(1-e^{-\\theta t})+\\sigma\\int^t_0e^{-\\theta(t-s)}\\mathrm dW_s

Xt=X0eθt+μ(1eθt)+σ0teθ(ts)dWs

易得

lim

t

E

(

X

t

)

=

μ

\\lim_{t\\to\\infty}E(X_t)=\\mu

limtE(Xt)=μ,这就是长期均值的来源。

数值求解

基于Julia的StochasticDiffEq,其数值求解结果为

在这里插入图片描述

代码如下

using StochasticDiffEq, GLMakie, Random

θ = 2.0
μ = 1.0
σ = 0.5
X0 = 0.0
tspan = (0.0, 5.0)
dt = 1/2^10

# ===== SDE 定义 =====
f(u, p, t) = θ * (μ – u)
g(u, p, t) = σ

prob = SDEProblem(f, g, X0, tspan)

Random.seed!(42)
sol = solve(prob, EM(), dt=dt, save_noise=true)

上述代码中,指定随机数种子的目的,是确保可复现。而求解SDE的关键步骤,只有两行代码,其中

  • 【SDE.SDEProblem】用于构建SDE问题,其输入为漂移项函数、扩散项函数、初始值以及数值坐标范围
  • 【SDE.solve】用于求解SDE问题,其输入分别是SDE问题、求解方法以及数值坐标间隔
  • 【SDE.EM()】是Euler-Maruyama 方法,相当于在常微分方程的Euler方法上,新增了对随机过程的采样。

解析对比与绘图

解析解对比与绘图代码如下

t = sol.t
W = [sol.W(τ)[1] for τ in t]

m_t = X0 .* exp.(-θ .* t) .+ μ .* (1 .- exp.(-θ .* t))

fig = Figure(size=(800, 400))
ax = Axis(fig[1,1], xlabel="t", ylabel="X(t)", title="OU Process: Path vs Mean")
lines!(ax, t, sol.u, label="Numerical Path", color=:steelblue, alpha=0.7)
lines!(ax, t, m_t, label="Theoretical Mean 𝔼[Xₜ]", color=:red, linewidth=2, linestyle=:dash)
hlines!(ax, [μ], label="Long-term Mean μ", color=:gray, linestyle=:dot)
axislegend(ax, position=:rb)
fig

赞(0)
未经允许不得转载:171主机测评 » Julia求解OU过程
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址