optionstratlib_simulation/simulation/steps/mod.rs
1//! # Financial Time Series Framework
2//!
3//! This module provides a comprehensive framework for handling time series data
4//! in financial applications. It offers a structured approach to manage and process
5//! time-based financial information with support for different time units, step sizes,
6//! and value representations.
7//!
8//! The framework is designed to be flexible, type-safe, and easy to use, making it suitable
9//! for various financial modeling tasks including option pricing, risk analysis, and time
10//! series forecasting.
11//!
12//! ## Architecture
13//!
14//! The framework consists of three primary components:
15//!
16//! * The `Step` structure which combines time and value information
17//! * The `Xstep` structure for managing time-related components
18//! * The `Ystep` structure for managing value-related components
19
20/// Module containing the `Step` structure which combines time and value components.
21///
22/// The `Step` structure serves as the main container for time series data points,
23/// integrating both temporal information (via `Xstep`) and value information (via `Ystep`).
24/// It provides methods for creating sequences of steps and navigating through time series.
25mod step;
26
27/// Module containing the `Xstep` structure for handling time components.
28///
29/// The `Xstep` structure manages temporal aspects of time series data, including:
30/// - Time unit representation (days, weeks, months, etc.)
31/// - Step size in appropriate time units
32/// - Date/time tracking capabilities
33/// - Methods for time progression and regression
34mod x;
35
36/// Module containing the `Ystep` structure for handling value components.
37///
38/// The `Ystep` structure manages value-related aspects of time series data, including:
39/// - Numeric values of different types
40/// - Indexing for sequential tracking
41/// - Value manipulation and transformation
42/// - Type-safe positive value enforcement
43mod y;
44
45pub use step::Step;
46pub use x::Xstep;
47pub use y::Ystep;