hquantlib-0.0.1.2: 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