Learn R Programming

Sim.DiffProc (version 2.6)

fptsde1d: First Passage Time in 1-Dim SDE

Description

The (S3) generic function fptsde1d for simulate first-passage-time (f.p.t) in 1-dim stochastic differential equations.

Usage

fptsde1d(N, ...)
## S3 method for class 'default':
fptsde1d(N = 100, M = 10, x0 = 0, t0 = 0, T = 1, Dt, c = 0.5, 
   drift, diffusion, alpha = 0.5, mu = 0.5, type = c("ito", "str"), 
   method = c("euler", "milstein", "predcorr", "smilstein", "taylor", 
   "heun", "rk1", "rk2", "rk3"), ...)
						  
						  
## S3 method for class 'fptsde1d':
summary(object, \dots)
## S3 method for class 'fptsde1d':
mean(x, \dots)
## S3 method for class 'fptsde1d':
median(x, \dots)
## S3 method for class 'fptsde1d':
quantile(x, \dots)
## S3 method for class 'fptsde1d':
kurtosis(x, \dots)
## S3 method for class 'fptsde1d':
skewness(x, \dots)
## S3 method for class 'fptsde1d':
moment(x, order = 2, \dots)
## S3 method for class 'fptsde1d':
bconfint(x, level=0.95, \dots)

Arguments

N
size of sde.
M
size of fpt.
x0
initial value of the process at time t0.
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}$.
c
boundary or barrier (threshold).
drift
drift coefficient: an expression of two variables t and x.
diffusion
diffusion coefficient: an expression of two variables t and x.
alpha
weight alpha of the predictor-corrector scheme; the default alpha = 0.5.
mu
weight mu of the predictor-corrector scheme; the default mu = 0.5.
type
sde of the type Ito or Stratonovich.
method
numerical methods of simulation, the default method = "euler"; see snssde1d.
x, object
an object inheriting from class "fptsde1d".
order
order of moment.
level
the confidence level required.
...
further arguments for (non-default) methods.

Value

  • fptsde1d returns an object inheriting from class "fptsde1d".
  • taunumeric vector of fpt.

newcommand

\CRANpkg

href

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

pkg

#1

Details

The function fptsde1d returns a random variable $\tau_{c}$ "first passage time", defined by : $$\tau_{c} = { t \geq 0 ; X_{t} \geq c },\quad if \quad (x_{0} < c)$$ $$\tau_{c} = { t \geq 0 ; X_{t} \leq c },\quad if \quad (x_{0} > c)$$ with $c$ is a fixed boundary or barrier.

References

Argyrakisa, P. and G.H. Weiss (2006). A first-passage time problem for many random walkers. Physica A. 363, 343--347. Aytug H., G. J. Koehler (2000). New stopping criterion for genetic algorithms. European Journal of Operational Research, 126, 662--674. Boukhetala, K. (1996) Modelling and simulation of a dispersion pollutant with attractive centre. ed by Computational Mechanics Publications, Southampton ,U.K and Computational Mechanics Inc, Boston, USA, 245--252. Boukhetala, K. (1998a). Estimation of the first passage time distribution for a simulated diffusion process. Maghreb Math.Rev, 7(1), 1--25. Boukhetala, K. (1998b). Kernel density of the exit time in a simulated diffusion. les Annales Maghrebines De L ingenieur, 12, 587--589. Ding, M. and G. Rangarajan. (2004). First Passage Time Problem: A Fokker-Planck Approach. New Directions in Statistical Physics. ed by L. T. Wille. Springer. 31--46. Roman, R.P., Serrano, J. J., Torres, F. (2008). First-passage-time location function: Application to determine first-passage-time densities in diffusion processes. Computational Statistics and Data Analysis. 52, 4132--4146. Roman, R.P., Serrano, J. J., Torres, F. (2012). An R package for an efficient approximation of first-passage-time densities for diffusion processes based on the FPTL function. Applied Mathematics and Computation, 218, 8408--8428. Roman, R.P., Serrano, J. J., Torres, F. (2013). fptdApprox: Approximation of first-passage-time densities for diffusion processes. Rpackage version 2.0. Gardiner, C. W. (1997). Handbook of Stochastic Methods. Springer-Verlag, New York.

See Also

fptsde2d and fptsde3d simulation fpt for sde 2 and 3-dim. FPTL in package fptdApprox for computes values of the first passage time location.

Examples

Run this code
## dX(t) = -3*(1+X(t)) *dt + 0.5*X(t) *dW(t)
## tau(c=0) = inf{t>=0, X(t) <= 0}

f <- expression( -3*(1+x) )
g <- expression( 0.5*x )
res <- fptsde1d(drift=f,diffusion=g,x0=1,c=0,M=100,N=1000)
res
summary(res)
bconfint(res,level=0.95)
moment(res,order=c(2,3,4,5))
plot(density(res$tau[!is.na(res$tau)]))

Run the code above in your browser using DataLab