HWV {Sim.DiffProc}R Documentation

Hull-White/Vasicek, Ornstein-Uhlenbeck process

Description

The (S3) generic function for simulation of Hull-White/Vasicek or gaussian diffusion models, and Ornstein-Uhlenbeck process.

Usage

HWV(N, ...)
OU(N, ...)

## Default S3 method:
HWV(N = 100, M = 1, x0 = 2, t0 = 0, T = 1, Dt = NULL, mu = 4, theta = 1,
   sigma = 0.1, ...)
## Default S3 method:
OU(N =100,M=1,x0=2,t0=0,T=1,Dt = NULL,mu=4,sigma=0.2, ...)

Arguments

N

number of simulation steps.

M

number of trajectories.

x0

initial value of the process at time t0t_{0}.

t0

initial time.

T

final time.

Dt

time step of the simulation (discretization). If it is missing a default Δt=Tt0N\Delta t = \frac{T-t_{0}}{N}.

mu

parameter of the HWV and OU; see details.

theta

parameter of the HWV; see details.

sigma

the volatility of the HWV and OU.

...

potentially further arguments for (non-default) methods.

Details

The function HWV returns a trajectory of the Hull-White/Vasicek process starting at x0x_{0} at time t0t_{0}; i.e., the diffusion process solution of stochastic differential equation:

dXt=μ(θXt)dt+σdWtdX_{t}= \mu ( \theta -X_{t}) dt + \sigma dW_{t}

The function OU returns a trajectory of the Ornstein-Uhlenbeck starting at x0x_{0} at time t0t_{0}; i.e., the diffusion process solution of stochastic differential equation:

dXt=μXtdt+σdWtdX_{t}= -\mu X_{t} dt + \sigma dW_{t}

Constraints: μ,σ>0\mu , \sigma >0.

Please note that the process is stationary only if μ>0\mu >0.

Value

X

an visible ts object.

Author(s)

A.C. Guidoum, K. Boukhetala.

References

Vasicek, O. (1977). An Equilibrium Characterization of the Term Structure. Journal of Financial Economics, 5, 177–188.

See Also

rcOU and rsOU for conditional and stationary law of Vasicek process are available in "sde".

Examples

## Hull-White/Vasicek Models
## dX(t) = 4 * (2.5 - X(t)) * dt + 1 *dW(t), X0=10
set.seed(1234)

X <- HWV(N=1000,M=10,mu = 4, theta = 2.5,sigma = 1,x0=10)
plot(X,plot.type="single")
lines(as.vector(time(X)),rowMeans(X),col="red")

## Ornstein-Uhlenbeck Process
## dX(t) = -4 * X(t) * dt + 1 *dW(t) , X0=2
set.seed(1234)

X <- OU(N=1000,M=10,mu = 4,sigma = 1,x0=10)
plot(X,plot.type="single")
lines(as.vector(time(X)),rowMeans(X),col="red")

[Package Sim.DiffProc version 4.9 Index]