Files
foxhunt/adaptive-strategy/Cargo.toml
jgrusewski e8a68ee39f Download 360 DBN files (36.3 MB) using Rust databento client
- 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
2025-10-13 13:30:02 +02:00

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"