stochastic
stochastic
Section titled “stochastic”The stochastic module wraps the runtime’s stochastic-process intrinsics.
Each function returns a flat numeric series sampled at uniform time steps.
Import
Section titled “Import”use std::core::stochasticFunctions
Section titled “Functions”stochastic::brownian_motion(n: int, dt: number, sigma: number) -> Array<number>
Section titled “stochastic::brownian_motion(n: int, dt: number, sigma: number) -> Array<number>”Standard Brownian motion path of n steps with time step dt and volatility
sigma.
let path = stochastic::brownian_motion(1000, 0.01, 0.2)stochastic::gbm(n: int, dt: number, mu: number, sigma: number, s0: number) -> Array<number>
Section titled “stochastic::gbm(n: int, dt: number, mu: number, sigma: number, s0: number) -> Array<number>”Geometric Brownian motion: dS = mu*S dt + sigma*S dW. Common for asset-price
modeling.
let prices = stochastic::gbm(1000, 1.0 / 252.0, 0.05, 0.2, 100.0)stochastic::ou_process(n: int, dt: number, theta: number, mu: number, sigma: number, x0: number) -> Array<number>
Section titled “stochastic::ou_process(n: int, dt: number, theta: number, mu: number, sigma: number, x0: number) -> Array<number>”Mean-reverting Ornstein-Uhlenbeck process:
dx = theta * (mu - x) dt + sigma dW.
let series = stochastic::ou_process(500, 0.01, 1.0, 0.0, 0.3, 1.0)stochastic::random_walk(n: int, step_size: number) -> Array<number>
Section titled “stochastic::random_walk(n: int, step_size: number) -> Array<number>”Discrete random walk with +step_size or -step_size per step.
let walk = stochastic::random_walk(1000, 1.0)See Also
Section titled “See Also”- random — low-level PRNG (
random,random_normal, etc.) - distributions — statistical distribution samplers
- monte_carlo — Monte Carlo runners