pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub mod adapters;
pub mod applicability;
pub mod artifact;
#[cfg(feature = "calendar")]
pub mod calendar;
pub mod checkpoint;
pub mod clustering;
pub mod contract;
pub mod engine;
pub mod evaluation;
pub mod event;
pub mod execution;
pub mod finance;
pub mod graph;
pub mod indicator;
pub mod intrabar;
pub mod lifecycle;
pub mod model;
pub mod option;
pub mod parity;
pub mod portfolio;
pub mod regime;
pub mod regime_advanced;
pub mod risk;
pub mod runner;
pub mod scenario;
pub mod scoring;
pub mod series;
pub mod session;
pub mod signal;
pub mod stats;
pub mod stress;
pub mod structure;
pub mod synthetic;
pub mod timeframe;
pub mod transform;
pub mod valuation;
pub mod viz;
pub use adapters::{
DataFeedAdapter, InMemoryDataFeed, LoggingNotificationSink, NotificationEvent,
NotificationSeverity, NotificationSink, WebhookNotificationSink,
};
pub use applicability::{
check_applicability, data_requirements, rule_catalog, Applicability, ApplicabilityNote,
ApplicabilityReason, ApplicabilityTier, DataRequirements, RuleDescription,
};
pub use artifact::{
Artifact, PivotArtifact, ProfileArtifact, ProfileBin, ScenarioArtifact, ZoneArtifact,
};
#[cfg(feature = "calendar")]
pub use calendar::{ExchangeCalendar, SessionSegment};
pub use checkpoint::{Checkpoint, CheckpointStore};
pub use clustering::{kmeans_1d, KMeansResult, RobustBand, RollingRobustThreshold};
pub use contract::{
contract_pnl, contract_tick_value, notional_value, stop_risk_amount, ContractSpec,
ContractSpecError, Currency, FxConversionError, FxRate, InstrumentType, ValuationError,
};
pub use event::{AlertDeduplicator, AlertEvent, EventPhase};
pub use execution::{
submit_bracket, ExecutionCosts, Fill, FillSimulator, FillSimulatorConfig, Order, OrderKind,
OrderSide, OrderStatus, Position,
};
pub use finance::{
discount_factor, price_bond, year_fraction, yield_to_maturity, BondPricingResult, BondSpec,
BusinessCalendar, BusinessDayConvention, Cashflow, Compounding, CouponSchedule, Date,
DayCountConvention, FinanceError, FixedRateBond, ScheduleStub, Weekday,
};
pub use graph::{ComposedNode, CompositionGraph, GraphError, GraphIndicator, Leaf};
pub use indicator::cvd_intrabar::{
DeltaAnchor, DeltaProvenance, IntrabarCvd, IntrabarDelta, UnchangedIntrabarPolicy,
};
pub use indicator::registry::{
build, build_checked, build_typed, catalog, ParamValue, RegistryError, TypedParams,
};
pub use indicator::{Indicator, IndicatorAlert, IndicatorOutput};
pub use intrabar::{IntrabarGroup, IntrabarGrouper};
pub use lifecycle::{BarLifecycle, LifecycleError, LifecycleRunner};
pub use model::{
Bar, BarQuality, BarValidationError, ContinuityKind, InstrumentMeta, InstrumentMetaError,
LiquidityTier, MarketRegime, PriceAdjustment, Provenance, QualifiedBar, Resolution, RiskPlan,
SeriesCapabilities, SeriesIdentity, SessionKind, Source, SupportResistanceZone, VolumeKind,
ZoneKind,
};
pub use option::{
black_76, black_scholes_merton, implied_volatility, normal_cdf, normal_pdf,
verify_put_call_parity, BlackScholesInputs, OptionError, OptionGreeks, OptionPricingResult,
OptionStyle, OptionType,
};
pub use parity::{
ParityFixture, ParityFixtureError, ParityFixtureRow, ParityOutcome, ParityReport,
};
pub use portfolio::{
calculate_return_metrics, cashflow_adjusted_return, compute_drawdown, evaluate_portfolio,
historical_var_and_es, volatility_targeting_scale, CashLedger, DrawdownStats,
HistoricalRiskStats, PortfolioError, PortfolioSnapshot, PositionEvaluation, PositionSide,
PositionSnapshot, ReturnMetrics,
};
pub use regime::classify_regime;
pub use regime_advanced::{
AdaptiveCycleOutput, AdaptiveCycleTracker, HysteresisBand, HysteresisLevel,
PredictabilityTracker, RegimeMarkovModel, RegimePersistenceOutput, RegimePersistenceTracker,
};
pub use risk::{
position_size, position_size_contract, AccountRisk, PositionSizeResult, ScaleInStep,
ScaleOutStep, ScalePlan, StopDecision, StopManager,
};
pub use runner::{
run_batch, run_batch_checked, run_batch_with_applicability, BatchResult, TimestampedOutput,
};
pub use scenario::{ScenarioStateMachine, ScenarioStatus, StageConfig};
pub use scoring::{
aggregate_subscores, aggregate_subscores_with_instrument, score_indicator, WeightPreset,
};
pub use series::{CumulativeSum, Series, SeriesEvents};
pub use session::{SessionConfig, SessionConfigError, SessionTracker};
pub use signal::{CompositeSignal, PermissionGrade, SignalDirection, SubScore};
pub use stats::{correlation, linear_regression, longest_run, wilson_interval, ProportionInterval};
pub use stress::{
apply_portfolio_stress, multi_asset_block_bootstrap, simulate_equity_paths,
simulate_stop_gap_execution, PathSimulationSummary, StressError, StressScenario,
StressedPortfolioResult,
};
pub use structure::{find_sr_zones, ManagedZone, ZoneRegistry, ZoneState};
pub use synthetic::{
bos_choch_swing_bars, random_walk_bars, trending_bars, wyckoff_schematic_bars, SimpleRng,
SwingDirection, WyckoffGeneratorConfig,
};
pub use timeframe::{BarResampler, ConfirmedResampler, Timeframe, TimeframeError};
pub use valuation::bootstrap::CalibrationInstrument;
pub use valuation::portfolio::{
MarketScenario, PortfolioReport, PortfolioScenarioResult, PortfolioSensitivities,
PortfolioValuation, PositionValuation, SensitivityKind, ValuationModel, ValuationPosition,
ValuedInstrument,
};
pub use valuation::volatility::{SurfaceValidity, VolatilitySurface};
pub use valuation::{
BondCurveValuation, DiscountCurve, ForwardCurve, ValuationContext, ValuationContextError,
ValuationStamp, Valued, YieldCurve,
};
pub mod cross_asset;
pub use cross_asset::{
compute_market_breadth, compute_pair_spread, compute_rolling_beta,
compute_signal_correlation_matrix, correlation_matrix,
relative_strength as relative_strength_ranking, CloseSample, MarketBreadthSnapshot,
PairSpreadResult, RollingBetaResult, SignalCorrelationCell, UniverseMemberObservation,
};
pub use scoring::agreement::{
aggregate_agreement, Agreement, AgreementStrategy, DirectionalStatement,
};
pub use evaluation::price::{
ForwardPriceOutcome, PriceDirection, PriceObservation, PriceOutcomeSample, PriceOutcomeStats,
PriceStats,
};
pub use evaluation::probability::{
block_bootstrap_brier, compute_calibration_metrics, CalibratedProbability, CalibrationMetrics,
IsotonicCalibrator, ValidationExperimentManifest,
};
pub use evaluation::split::{
split_trades_purged, PurgedSplitConfig, PurgedTrainTestSplit, SplitError, TradeSpan,
};
pub mod analytics;