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
44
45
46
47
48
49
50
51
52
53
54
//! # NT-Core: Neural Trader Core Library
//!
//! This crate provides the foundational types, traits, and utilities for the Neural Trading system.
//! It has zero domain-specific dependencies and serves as the base for all other crates.
//!
//! ## Features
//!
//! - **Zero-cost abstractions**: Generic traits with no runtime overhead
//! - **Type safety**: Strong typing for financial primitives (Symbol, Price, etc.)
//! - **Async-first**: All I/O operations use `async/await`
//! - **Error handling**: Comprehensive error types with context
//! - **Serialization**: Full serde support for all types
//!
//! ## Architecture
//!
//! ```text
//! nt-core
//! ├── types - Core financial types (Symbol, Price, Order, etc.)
//! ├── traits - Async traits for strategies, data providers, execution
//! ├── error - Unified error handling with thiserror
//! └── config - Configuration management with validation
//! ```
//!
//! ## Example Usage
//!
//! ```rust
//! use nt_core::prelude::*;
//!
//! // Create a symbol
//! let symbol = Symbol::new("AAPL").unwrap();
//!
//! // Create a trading signal
//! let signal = Signal::new(
//! "momentum_strategy",
//! symbol.clone(),
//! Direction::Long,
//! 0.85,
//! );
//!
//! println!("Signal: {:?}", signal);
//! ```
/// Commonly used types and traits