quantfin-0.2.0.0: src/Quant/Models/Processes.hs
module Quant.Models.Processes (
ProcessSpec (..)
, normal
, lognormal
) where
data ProcessSpec = ProcessSpec {-# UNPACK #-} !Double !Double !Double
normal :: ProcessSpec -> Double -> Double -> Double
normal (ProcessSpec initVal r t) vol normRand = initVal + vol * normRand + r * t
lognormal :: ProcessSpec -> Double -> Double -> Double
lognormal (ProcessSpec initVal r t) vol normRand = initVal * exp ( g + sig * normRand )
where
g = (r - vol*vol/2) * t
sig = vol * sqrt t
--cir :: ProcessSpec -> Double
--cir (ProcessSpec initVal r t) vol normRand