Skip to main content

finance_solution/stocks/
mod.rs

1//! Ordered **price-path** analytics (equities or any positive price series).
2//!
3//! # Layers
4//!
5//! | Layer | API | Purpose |
6//! |-------|-----|---------|
7//! | Scalars | [`simple_return`], [`volatility`], [`beta`], … | One-off metrics |
8//! | Solution | [`price_path_solution`] | Summary stats + formulas for a full path |
9//! | Series | [`PricePathSolution::series`] | Period detail (return, wealth, drawdown) |
10//! | Tables | [`PricePathSeries::print_table`] | Terminal / copy-paste output |
11//! | **TA** | [`ta`] — SMA/EMA/WMA/HMA/Stoch/MACD/BB/KC/Donchian/VWAP/RVOL/RSI/ATR/LinReg + `*State` | Batch series + incremental push |
12//!
13//! # Error handling (v0.1+)
14//!
15//! Public scalars and [`price_path_solution`] return [`crate::FinanceResult`].
16//! Empty series, non-positive prices, length mismatches, and zero volatility cases are
17//! structured [`crate::FinanceError`] values — not panics.
18//! Prefer composing with `?` when prices come from users or external data.
19pub mod path;
20pub mod returns;
21pub mod risk;
22pub mod ta;
23
24#[doc(inline)]
25pub use path::*;
26#[doc(inline)]
27pub use returns::*;
28#[doc(inline)]
29pub use risk::*;
30// TA: re-export common entry points; full surface under `stocks::ta`.
31#[doc(inline)]
32pub use ta::{
33    adx, adx_solution, atr, atr_solution, bollinger, bollinger_solution, cci, cci_solution, dema,
34    dema_last, donchian, donchian_solution, ema, ema_last, hma, hma_last, kama, kama_last, keltner,
35    keltner_solution, linear_regression, linear_regression_solution, macd, macd_solution, mfi,
36    mfi_solution, mom, mom_solution, natr, obv, obv_solution, rma, rma_last, roc, rocp, rsi,
37    rsi_solution, rvol, rvol_solution, sar, sar_solution, sma, sma_last, stochastics,
38    stochastics_solution, supertrend, supertrend_solution, tema, tema_last, true_range_series,
39    vwap, vwap_solution, willr, willr_solution, wma, wma_last, AdxBarOutput, AdxParams, AdxSeries,
40    AdxSolution, AdxState, AtrParams, AtrSeries, AtrSolution, AtrState, BollingerBarOutput,
41    BollingerParams, BollingerSeries, BollingerSolution, BollingerState, CciParams, CciSeries,
42    CciSolution, CciState, DemaState, DonchianBarOutput, DonchianParams, DonchianSeries,
43    DonchianSolution, DonchianState, EmaState, HmaState, KamaParams, KamaState, KeltnerBarOutput,
44    KeltnerParams, KeltnerSeries, KeltnerSolution, KeltnerState, LinRegBar, LinRegParams,
45    LinRegSolution, LinRegState, MacdParams, MacdSeries, MacdSolution, MacdState, MfiParams,
46    MfiSeries, MfiSolution, MfiState, MomBarOutput, MomParams, MomSeries, MomSolution, MomState,
47    NatrSeries, NatrState, ObvParams, ObvSeries, ObvSolution, ObvState, RmaState, RocSeries,
48    RocpSeries, RsiParams, RsiSeries, RsiSolution, RsiState, RvolParams, RvolSeries, RvolSolution,
49    RvolState, SarBarOutput, SarParams, SarSeries, SarSolution, SarState, SmaState, StdevKind,
50    StochBarOutput, StochState, StochasticParams, StochasticSeries, StochasticSolution,
51    SupertrendBar, SupertrendParams, SupertrendSeries, SupertrendSolution, SupertrendState,
52    TemaState, ValidatedAdx, ValidatedAtr, ValidatedBollinger, ValidatedCci, ValidatedDonchian,
53    ValidatedKama, ValidatedKeltner, ValidatedLinReg, ValidatedMacd, ValidatedMfi, ValidatedMom,
54    ValidatedObv, ValidatedRsi, ValidatedRvol, ValidatedSar, ValidatedStochastic,
55    ValidatedSupertrend, ValidatedVwap, ValidatedWillr, VwapMode, VwapParams, VwapPriceSource,
56    VwapSeries, VwapSolution, VwapState, WillrParams, WillrSeries, WillrSolution, WillrState,
57    WmaState,
58};