- Created data/examples/download_ml_training_data.rs using reqwest + Databento HTTP API - Downloaded 90 days × 4 symbols (ES.FUT, NQ.FUT, ZN.FUT, 6E.FUT) - Files saved to test_data/real/databento/ml_training/ - Total: 360 files, 15 MB compressed DBN format - Used existing Rust pattern from download_nq_fut.rs - API key loaded from .env file - 100% success rate (360/360 files) - Ready for ML training benchmarks Next: Create simplified training benchmark for RTX 3050 Ti GPU measurements
130 lines
4.0 KiB
TOML
130 lines
4.0 KiB
TOML
[package]
|
|
name = "adaptive-strategy"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
documentation.workspace = true
|
|
publish.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
description = "Adaptive trading strategy framework with ensemble ML models and regime detection"
|
|
|
|
[dependencies]
|
|
# Core dependencies (using workspace dependencies)
|
|
tokio = { workspace = true }
|
|
tracing = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
uuid = { workspace = true }
|
|
|
|
# MINIMAL numerical dependencies - HEAVY ML REMOVED
|
|
# ALL HEAVY ML DEPENDENCIES REMOVED:
|
|
# candle-core, candle-nn - REMOVED (moved to ml_training_service)
|
|
# linfa, linfa-clustering - REMOVED (moved to ml_training_service)
|
|
# smartcore - REMOVED (moved to ml_training_service)
|
|
|
|
# MINIMAL time series and statistics
|
|
chrono = { workspace = true }
|
|
# ta - REMOVED (technical analysis moved to data crate)
|
|
|
|
# Configuration (using workspace dependencies)
|
|
config = { workspace = true }
|
|
# ALL GPU DEPENDENCIES REMOVED - moved to ml_training_service
|
|
# cudarc - REMOVED
|
|
|
|
# Additional dependencies for async traits and serialization (using workspace dependencies)
|
|
async-trait = { workspace = true }
|
|
futures = { workspace = true }
|
|
rand = { workspace = true }
|
|
|
|
# Financial types
|
|
rust_decimal = { workspace = true }
|
|
num-traits = { workspace = true }
|
|
|
|
# Internal dependencies
|
|
common = { path = "../common" }
|
|
|
|
# Database - optional, only when postgres feature is enabled
|
|
sqlx = { workspace = true, optional = true }
|
|
|
|
# Remove problematic dependencies that have compilation issues
|
|
# ml.workspace = true # REMOVED - has compilation issues
|
|
# trading_engine.workspace = true # REMOVED - has compilation issues
|
|
# risk.workspace = true # REMOVED - has compilation issues
|
|
# data.workspace = true # REMOVED - has compilation issues
|
|
[features]
|
|
default = ["minimal"]
|
|
|
|
# MINIMAL FEATURES ONLY - ALL GPU/ML REMOVED
|
|
minimal = [] # Minimal adaptive strategies without heavy ML
|
|
|
|
# PostgreSQL database support for configuration loading
|
|
# Enables DatabaseConfigLoader with hot-reload via NOTIFY/LISTEN
|
|
# Includes: PgPool, PgListener, query macros, and FromRow derives
|
|
postgres = ["sqlx"]
|
|
|
|
# ALL GPU/ML FEATURES REMOVED:
|
|
# cuda, cudnn, gpu - MOVED TO ml_training_service
|
|
|
|
[dev-dependencies]
|
|
criterion = { workspace = true, features = ["html_reports", "async_tokio"] }
|
|
futures = { workspace = true }
|
|
backtesting = { path = "../backtesting" }
|
|
rust_decimal_macros = { workspace = true }
|
|
data = { path = "../data" } # For real market data loading in tests
|
|
|
|
[[bench]]
|
|
name = "tlob_performance"
|
|
harness = false
|
|
|
|
[lib]
|
|
name = "adaptive_strategy"
|
|
path = "src/lib.rs"
|
|
|
|
[lints.clippy]
|
|
# Module structure - allow mod.rs files for complex modules with subdirectories
|
|
mod_module_files = "allow"
|
|
self_named_module_files = "allow"
|
|
|
|
# Critical safety lints - temporarily set to warn during remediation (Wave 105)
|
|
unwrap_used = "warn"
|
|
expect_used = "warn"
|
|
panic = "warn"
|
|
indexing_slicing = "warn"
|
|
float_arithmetic = "warn"
|
|
out_of_bounds_indexing = "deny"
|
|
unchecked_duration_subtraction = "deny"
|
|
|
|
# High-priority restriction lints for HFT safety
|
|
arithmetic_side_effects = "warn"
|
|
as_conversions = "warn"
|
|
assertions_on_result_states = "deny"
|
|
clone_on_ref_ptr = "warn"
|
|
create_dir = "deny"
|
|
dbg_macro = "deny"
|
|
decimal_literal_representation = "deny"
|
|
default_numeric_fallback = "warn"
|
|
deref_by_slicing = "deny"
|
|
disallowed_script_idents = "deny"
|
|
else_if_without_else = "deny"
|
|
empty_drop = "deny"
|
|
empty_structs_with_brackets = "deny"
|
|
error_impl_error = "deny"
|
|
exit = "deny"
|
|
|
|
[lints.rust]
|
|
unsafe_code = "warn"
|
|
missing_docs = "allow"
|
|
unreachable_pub = "warn"
|
|
unused_crate_dependencies = "allow" # Override workspace warn → allow for test dependencies
|
|
unused_extern_crates = "warn"
|
|
unused_import_braces = "warn"
|
|
unused_lifetimes = "warn"
|
|
unused_qualifications = "warn"
|
|
variant_size_differences = "warn" |