Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
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 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 \(dX_t = \mu(X_t, t)dt + \sigma(S_t, t)dB_t \)
pDrift :: a -> (Time, b) -> RVar b Source #
The process drift.
pDiff :: a -> (Time, b) -> RVar b Source #
The process diffusion.
:: Discretize d b | |
=> a | The process |
-> d | Discretization scheme |
-> (Time, b) | Initial state |
-> Time | Target time t. |
-> RVar b | \(dB_i\). |
-> 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 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
Instances
Show GeometricBrownian Source # | |
Defined in Q.Stochastic.Process showsPrec :: Int -> GeometricBrownian -> ShowS # show :: GeometricBrownian -> String # showList :: [GeometricBrownian] -> ShowS # | |
StochasticProcess GeometricBrownian Double Source # | |
Defined in Q.Stochastic.Process 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