hquantlib-0.0.5.0: HQuantLib is a port of essencial parts of QuantLib to Haskell

Safe HaskellNone
LanguageHaskell2010

QuantLib.Stochastic

Synopsis

Documentation

data PureMT #

data BoxMuller a #

Box-Muller method

Instances
RandomGenerator a => NormalGenerator (BoxMuller a) # 
Instance details

Defined in QuantLib.Stochastic.Random

mkNormalGen :: RandomGenerator a => IO (BoxMuller a) #

class NormalGenerator a where #

Normally distributed generator

Minimal complete definition

ngGetNext, ngMkNew, ngSplitWithSeed

Methods

ngGetNext :: a -> (Double, a) #

ngMkNew :: a -> IO a #

ngSplit :: a -> (a, a) #

ngSplitWithSeed :: Integer -> a -> (a, a) #

data InverseNormal a #

Normal number generation using inverse cummulative normal distribution

mkInverseNormal :: RandomGenerator a => IO (InverseNormal a) #

data EndEuler #

Euler end-point discretization of stochastic processes

Constructors

EndEuler 

Fields

Instances
Eq EndEuler # 
Instance details

Defined in QuantLib.Stochastic.Discretize

Show EndEuler # 
Instance details

Defined in QuantLib.Stochastic.Discretize

Discretize EndEuler # 
Instance details

Defined in QuantLib.Stochastic.Discretize

data Euler #

Euler discretization of stochastic processes

Constructors

Euler 

Fields

Instances
Eq Euler # 
Instance details

Defined in QuantLib.Stochastic.Discretize

Methods

(==) :: Euler -> Euler -> Bool #

(/=) :: Euler -> Euler -> Bool #

Show Euler # 
Instance details

Defined in QuantLib.Stochastic.Discretize

Methods

showsPrec :: Int -> Euler -> ShowS #

show :: Euler -> String #

showList :: [Euler] -> ShowS #

Discretize Euler # 
Instance details

Defined in QuantLib.Stochastic.Discretize

Methods

dDrift :: StochasticProcess a => a -> Euler -> Dot -> Double #

dDiff :: StochasticProcess a => a -> Euler -> Dot -> Double #

dDt :: StochasticProcess a => a -> Euler -> Dot -> Double #

data BlackScholesProcess #

Generalized Black-Scholes process

data ItoProcess #

Ito process

Constructors

ItoProcess 

Fields

Instances
StochasticProcess ItoProcess # 
Instance details

Defined in QuantLib.Stochastic.Process

Methods

drift :: ItoProcess -> Dot -> Double #

diff :: ItoProcess -> Dot -> Double #

evolve :: Discretize b => b -> ItoProcess -> Dot -> Double -> Dot #

type Path = [Dot] #

Path as list of Dots

data Dot #

Dot. t and x pair

Constructors

Dot 

Fields

Instances
Eq Dot # 
Instance details

Defined in QuantLib.Stochastic.Process

Methods

(==) :: Dot -> Dot -> Bool #

(/=) :: Dot -> Dot -> Bool #

Show Dot # 
Instance details

Defined in QuantLib.Stochastic.Process

Methods

showsPrec :: Int -> Dot -> ShowS #

show :: Dot -> String #

showList :: [Dot] -> ShowS #

class StochasticProcess a where #

1D Stochastic process

Minimal complete definition

drift, diff

Methods

drift :: a -> Dot -> Double #

diff :: a -> Dot -> Double #

evolve :: Discretize b => b -> a -> Dot -> Double -> Dot #

class Discretize b where #

Discretization of stochastic process over given interval

Minimal complete definition

dDrift, dDiff, dDt

Methods

dDrift :: StochasticProcess a => a -> b -> Dot -> Double #

dDiff :: StochasticProcess a => a -> b -> Dot -> Double #

dDt :: StochasticProcess a => a -> b -> Dot -> Double #

Instances
Discretize EndEuler # 
Instance details

Defined in QuantLib.Stochastic.Discretize

Discretize Euler # 
Instance details

Defined in QuantLib.Stochastic.Discretize

Methods

dDrift :: StochasticProcess a => a -> Euler -> Dot -> Double #

dDiff :: StochasticProcess a => a -> Euler -> Dot -> Double #

dDt :: StochasticProcess a => a -> Euler -> Dot -> Double #

generatePath :: (StochasticProcess a, NormalGenerator b, Discretize c) => b -> c -> a -> Int -> Dot -> Path #

Generates sample path for given stochastic process under discretization and normal generator for given amount of steps, starting from x0