HWV: Hull-White/Vasicek, Ornstein-Uhlenbeck process

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/HWV.R

Description

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

Usage

1
2
3
4
5
6
7
8
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 \code{t0}.

t0

initial time.

T

final time.

Dt

time step of the simulation (discretization). If it is missing a default Dt = (T-t0)/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 x0 at time t0; 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 x0 at time t0; 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.

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## 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")

Example output

Package 'Sim.DiffProc', version 3.7
browseVignettes('Sim.DiffProc') for summary information.
Warning messages:
1: In rgl.init(initValue, onlyNULL) : RGL: unable to open X11 display
2: 'rgl_init' failed, running with rgl.useNULL = TRUE 
3: .onUnload failed in unloadNamespace() for 'rgl', details:
  call: fun(...)
  error: object 'rgl_quit' not found 

Sim.DiffProc documentation built on Nov. 8, 2020, 4:27 p.m.