pub struct GeometricBrownianMotion {
pub mu: f64,
pub sigma: f64,
/* private fields */
}Expand description
Geometric Brownian Motion.
$$dS_t = mu * S_t * dt + sigma * S_t * dW_t$$
Fields§
§mu: f64§sigma: f64Implementations§
Trait Implementations§
Source§impl Clone for GeometricBrownianMotion
impl Clone for GeometricBrownianMotion
Source§fn clone(&self) -> GeometricBrownianMotion
fn clone(&self) -> GeometricBrownianMotion
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Simulatable for GeometricBrownianMotion
impl Simulatable for GeometricBrownianMotion
Source§fn dim(&self) -> usize
fn dim(&self) -> usize
Dimensionality of the Brownian driver. Used by the runner to
pre-generate the correct number of random normals per step.
GBM is 1, Heston is 2, etc.
Source§impl StochasticProcess for GeometricBrownianMotion
impl StochasticProcess for GeometricBrownianMotion
type State = f64
type Diffusion = f64
type BrownianIncrement = f64
fn drift(&self, x: &f64, _t: f64) -> f64
fn diffusion(&self, x: &f64, _t: f64) -> f64
fn jump_size<R: Rng + ?Sized>(&self, _x: &f64, _t: f64, _rng: &mut R) -> f64
fn expected_value(&self, x0: &f64, t: f64) -> f64
fn variance(&self, x0: &f64, t: f64) -> f64
fn step<R: Rng + ?Sized>( &self, x: &f64, t: f64, dt: f64, dw: &f64, _rng: &mut R, ) -> f64
fn generate_increment<R: Rng + ?Sized>(&self, rng: &mut R, dt: f64) -> f64
fn simulate<R: Rng + ?Sized>( &self, x0: f64, t0: f64, t_end: f64, dt: f64, rng: &mut R, ) -> Vec<(f64, f64)>
fn jump_intensity(&self, _x: &Self::State, _t: f64) -> f64
fn simulate_paths( &self, x0: Self::State, t0: f64, t_end: f64, dt: f64, num_paths: usize, ) -> Vec<Vec<(f64, Self::State)>>
Auto Trait Implementations§
impl Freeze for GeometricBrownianMotion
impl RefUnwindSafe for GeometricBrownianMotion
impl Send for GeometricBrownianMotion
impl Sync for GeometricBrownianMotion
impl Unpin for GeometricBrownianMotion
impl UnsafeUnpin for GeometricBrownianMotion
impl UnwindSafe for GeometricBrownianMotion
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more