Learn R Programming

Sim.DiffProc (version 2.8)

HWV: 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, ...)

## S3 method for class 'default':
HWV(N = 100, M = 1, x0 = 2, t0 = 0, T = 1, Dt, mu = 4, theta = 1,
   sigma = 0.1, \dots)
## S3 method for class 'default':
OU(N =100,M=1,x0=2,t0=0,T=1,Dt,mu=4,sigma=0.2, \dots)

Arguments

N
number of simulation steps.
M
number of trajectories.
x0
initial value of the process at time $t_{0}$.
t0
initial time.
T
final time.
Dt
time step of the simulation (discretization). If it is missing a default $\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.
...
further arguments for (non-default) methods.

Value

  • Xan visible ts object.

newcommand

\CRANpkg

href

http://CRAN.R-project.org/package=#1

pkg

#1

Details

The function HWV returns a trajectory of the Hull-White/Vasicek process starting at $x_{0}$ at time $t_{0}$; i.e., the diffusion process solution of stochastic differential equation: $$dX_{t}= \mu ( \theta -X_{t}) dt + \sigma dW_{t}$$ The function OU returns a trajectory of the Ornstein-Uhlenbeck starting at $x_{0}$ at time $t_{0}$; i.e., the diffusion process solution of stochastic differential equation: $$dX_{t}= -\mu X_{t} dt + \sigma dW_{t}$$ Constraints: $\mu , \sigma >0$. Please note that the process is stationary only if $\mu >0$.

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

Run this code
## Hull-White/Vasicek Models
## dX(t) = 4 * (2.5 - X(t)) * dt + 1 *dW(t), X0=10

X <- HWV(N=1000,M=50,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

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

Run the code above in your browser using DataLab