# Home

## Summary

Stochastic calculus and univariate and multivariate stochastic processes/Markov processes in continuous time.

The key objects introduced are the abstract type `ContinuousTimeProcess{T}`

parametrised by the state space of the path, for example `T == Float64`

and various `structs`

suptyping it, for example `Wiener{Float64}`

for a real Brownian motion. These play roughly a similar role as types subtyping `Distribution`

in the Distributions.jl package.

Secondly, the struct

```
struct SamplePath{T}
tt::Vector{Float64}
yy::Vector{T}
end
```

serves as container for sample path returned by direct and approximate samplers (`sample`

, `euler`

, ...). `tt`

is the vector of the grid points of the simulation and `yy`

the corresponding vector of states.

Help is available at the REPL:

```
help?> Bridge.ContinuousTimeProcess
ContinuousTimeProcess{T}
Types inheriting from the abstract type ContinuousTimeProcess{T}
characterize the properties of a T-valued stochastic process, play a similar
role as distribution types like Exponential in the package Distributions.
```

Pre-defined processes defined are `Wiener`

, `WienerBridge`

, `Gamma`

, `LinPro`

(linear diffusion/generalized Ornstein-Uhlenbeck) and others.

## Features

- Define and simulate diffusion processes in one or more dimension
- Continuous and discrete likelihood using Girsanovs theorem and transition densities
- Monte Carlo sample diffusion bridges, diffusion processes conditioned to hit a point v at a prescribed time T
- Brownian motion in one and more dimensions
- Ornstein-Uhlenbeck processes
- Bessel processes
- Gamma processes
- Basic stochastic calculus functionality (Ito integral, quadratic variation)
- Euler-Scheme and implicit methods (Runge-Kutta)

The layout/api was originally written to be compatible with Simon Danisch's package FixedSizeArrays.jl. It was refactored to be compatible with StaticArrays.jl by Dan Getz.

The example programs in the example/directory have additional dependencies: ConjugatePriors and a plotting library.