hquantlib-0.0.2.1: src/QuantLib/Stochastic/Discretize.hs
module QuantLib.Stochastic.Discretize
( module QuantLib.Stochastic.Discretize )
where
import QuantLib.Stochastic.Process
-- | Euler discretization of stochastic processes
data Euler = Euler { eDt :: Double }
deriving (Show, Eq)
-- | Euler end-point discretization of stochastic processes
data EndEuler = EndEuler { eeDt :: Double }
deriving (Show, Eq)
instance Discretize Euler where
dDrift p e dot = drift p dot * eDt e
dDiff p e dot = diff p dot * sqrt (eDt e)
dDt _ e _ = eDt e
instance Discretize EndEuler where
dDrift p e dot = drift p nextDot * eeDt e
where nextDot = Dot (getT dot + eeDt e) (getX dot)
dDiff p e dot = diff p nextDot * sqrt (eeDt e)
where nextDot = Dot (getT dot + eeDt e) (getX dot)
dDt _ e _ = eeDt e