Skip to main content

kestrel_chartkit/engine/
mod.rs

1//! Composite "engine" layer (plan `kestrel-chartkit-design-plan.md`, Anhang E–G): structures
2//! that combine several `indicator::*` outputs into a higher-level context/state/permission
3//! reading, sitting above the per-bar `Indicator` trait and below `scoring::CompositeSignal`.
4//!
5//! Every type here is explicitly a **candidate**, not a stabilized API (see the plan's "Kandidat,
6//! kein Commitment" notes) — field names and enum variants follow the plan's Rust sketches as
7//! closely as possible so the two stay traceable to each other.
8
9pub mod acceptance_detector;
10pub mod balance_classifier;
11pub mod balance_migration;
12pub mod liquidity_path;
13pub mod location_quality;
14pub mod market_context;
15pub mod market_state;
16pub mod multi_series;
17pub mod pipeline;
18pub mod structural_stop;
19pub mod vwap_regime;
20
21pub use acceptance_detector::{
22    detect_acceptance_rejection, AcceptanceDetectorOutput, RejectionKind,
23};
24pub use balance_classifier::{
25    classify_balance_imbalance, BalanceClassifierOutput, MarketBalanceState,
26};
27pub use balance_migration::{build_balance_migration, BalanceMigrationOutput, MigrationDirection};
28pub use liquidity_path::{build_free_space_score, FreeSpaceScore};
29pub use location_quality::{calculate_location_quality, LocationQualityScore};
30pub use market_context::{
31    build_market_context, classify_volume_node, AcceptanceLevel, AuctionPhase, MarketContextOutput,
32    VolumeNodeKind,
33};
34pub use market_state::{
35    derive_playbook, ExpectedPlaybook, MarketStateOutput, OpeningType, PlaybookState,
36    VolatilityRegime,
37};
38pub use multi_series::*;
39pub use pipeline::*;
40pub use structural_stop::{remaining_rr, StructuralTrailingStop};
41pub use vwap_regime::{classify_slope, SlopeState, VwapRegimeOutput, VwapRegimeTracker};