Safe Haskell | None |
---|---|
Language | Haskell2010 |
Q.Stochastic.Process
Contents
Synopsis
- rwalkState :: RVarT (State Double) Double
- type Time = Double
- class Num b => Discretize d b where
- dDrift :: StochasticProcess a b => a -> d -> (Time, b) -> RVar b
- dDiff :: StochasticProcess a b => a -> d -> (Time, b) -> RVar b
- dDt :: StochasticProcess a b => a -> d -> (Time, b) -> Time
- class Num b => StochasticProcess a b where
- data GeometricBrownian = GeometricBrownian {}
- data ItoProcess = ItoProcess {}
Documentation
class Num b => Discretize d b where Source #
Discretization of stochastic process over given interval
Methods
dDrift :: StochasticProcess a b => a -> d -> (Time, b) -> RVar b Source #
Discretization of the drift process.
dDiff :: StochasticProcess a b => a -> d -> (Time, b) -> RVar b Source #
Discretization of the diffusion process.
dDt :: StochasticProcess a b => a -> d -> (Time, b) -> Time Source #
dt used.
Instances
(forall a b. StochasticProcess a Double) => Discretize EndEuler Double Source # | |
Defined in Q.Stochastic.Discretize | |
Discretize Euler Double Source # | |
Defined in Q.Stochastic.Discretize | |
Discretize Euler (Vector Double) Source # | |
Defined in Q.Stochastic.Discretize Methods dDrift :: StochasticProcess a (Vector Double) => a -> Euler -> (Time, Vector Double) -> RVar (Vector Double) Source # dDiff :: StochasticProcess a (Vector Double) => a -> Euler -> (Time, Vector Double) -> RVar (Vector Double) Source # dDt :: StochasticProcess a (Vector Double) => a -> Euler -> (Time, Vector Double) -> Time Source # |
class Num b => StochasticProcess a b where Source #
A stochastic process of the form dXt=μ(Xt,t)dt+σ(St,t)dBt
Methods
pDrift :: a -> (Time, b) -> RVar b Source #
The process drift.
pDiff :: a -> (Time, b) -> RVar b Source #
The process diffusion.
Arguments
:: Discretize d b | |
=> a | The process |
-> d | Discretization scheme |
-> (Time, b) | Initial state |
-> Time | Target time t. |
-> RVar b | dBi. |
-> RVar b | X(t). |
Evolve a process from a given state to a given time.
pEvolve' :: (Discretize d b, Num b) => a -> d -> (Time, b) -> RVar b -> RVar (Time, b) Source #
Similar to evolve, but evolves the process with the discretization scheme dt.
Instances
StochasticProcess GeometricBrownian Double Source # | |
Defined in Q.Stochastic.Process Methods pDrift :: GeometricBrownian -> (Time, Double) -> RVar Double Source # pDiff :: GeometricBrownian -> (Time, Double) -> RVar Double Source # pEvolve :: Discretize d Double => GeometricBrownian -> d -> (Time, Double) -> Time -> RVar Double -> RVar Double Source # pEvolve' :: (Discretize d Double, Num Double) => GeometricBrownian -> d -> (Time, Double) -> RVar Double -> RVar (Time, Double) Source # |
data GeometricBrownian Source #
Geometric Brownian motion
Constructors
GeometricBrownian | |
Instances
Show GeometricBrownian Source # | |
Defined in Q.Stochastic.Process Methods showsPrec :: Int -> GeometricBrownian -> ShowS # show :: GeometricBrownian -> String # showList :: [GeometricBrownian] -> ShowS # | |
StochasticProcess GeometricBrownian Double Source # | |
Defined in Q.Stochastic.Process Methods pDrift :: GeometricBrownian -> (Time, Double) -> RVar Double Source # pDiff :: GeometricBrownian -> (Time, Double) -> RVar Double Source # pEvolve :: Discretize d Double => GeometricBrownian -> d -> (Time, Double) -> Time -> RVar Double -> RVar Double Source # pEvolve' :: (Discretize d Double, Num Double) => GeometricBrownian -> d -> (Time, Double) -> RVar Double -> RVar (Time, Double) Source # |
data ItoProcess Source #
Ito process