1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! Errors owned by the simulation layer.
//!
//! Each failure here is raised while generating a walk, validating its
//! parameters or stepping through it. Errors of the layers below
//! (`DecimalError`, `OptionsError`, `PricingError`, `VolatilityError`, …)
//! stay with core and pricing, and the variants below that wrap them carry
//! those types unchanged.
//!
//! # Canonical paths (#550)
//!
//! Every error type is exported flat from this module, for example
//! `optionstratlib_simulation::error::SimulationError`. The file module
//! `simulation` is private: it held nothing the flat paths do not, and was
//! public only because 0.21 exposed it.
//!
//! ```rust
//! use optionstratlib_simulation::error::{SimulationError, SimulationResult};
//! ```
//!
//! ```compile_fail,E0603
//! use optionstratlib_simulation::error::simulation::SimulationError;
//! ```
//!
//! ```compile_fail,E0603
//! use optionstratlib_simulation::error::simulation::SimulationResult;
//! ```
/// ### Simulation Errors (`SimulationError`)
/// Handles:
/// * Random walk generation failures
/// * Monte Carlo simulation errors
/// * Stochastic process parameter validation
/// * Step calculation issues
/// ### Quadratic rough Heston errors (`QuadraticRoughHestonError`)
/// Handles:
/// * Kernel and model parameter validation
/// * A simulated state that stops being finite
pub use QuadraticRoughHestonError;
pub use ;