more symbols

This commit is contained in:
zastian-dev
2026-02-12 12:36:25 +00:00
parent 7c94b0f422
commit 9fb9d171d4

View File

@@ -1,26 +1,39 @@
//! Configuration constants for the trading bot. //! Configuration constants for the trading bot.
// Stock Universe // Stock Universe (~100 symbols across 14 sectors)
pub const MAG7: &[&str] = &["AAPL", "MSFT", "GOOGL", "AMZN", "META", "NVDA", "TSLA"]; pub const MAG7: &[&str] = &["AAPL", "MSFT", "GOOGL", "AMZN", "META", "NVDA", "TSLA"];
pub const SEMIS: &[&str] = &["AVGO", "AMD", "ASML", "QCOM", "MU"]; pub const SEMIS: &[&str] = &["AVGO", "AMD", "ASML", "QCOM", "MU", "MRVL", "LRCX", "KLAC", "AMAT"];
pub const GROWTH_TECH: &[&str] = &["NFLX", "CRM", "NOW", "UBER", "SNOW"]; pub const GROWTH_TECH: &[&str] = &["NFLX", "CRM", "NOW", "UBER", "SNOW", "DDOG", "CRWD", "ZS", "WDAY"];
pub const HEALTHCARE: &[&str] = &["LLY", "UNH", "ISRG", "VRTX", "ABBV", "MRK", "PFE"]; pub const SOFTWARE: &[&str] = &["ADBE", "INTU", "PANW", "FTNT", "TEAM", "HUBS", "MNDY"];
pub const FINTECH_VOLATILE: &[&str] = &["V", "MA", "COIN", "PLTR", "MSTR"]; pub const HEALTHCARE: &[&str] = &["LLY", "UNH", "ISRG", "VRTX", "ABBV", "MRK", "PFE", "TMO", "ABT", "DHR"];
pub const SP500_FINANCIALS: &[&str] = &["JPM", "GS", "MS", "BLK", "AXP", "C"]; pub const BIOTECH: &[&str] = &["GILD", "AMGN", "REGN", "BIIB", "MRNA"];
pub const SP500_INDUSTRIALS: &[&str] = &["CAT", "GE", "HON", "BA", "RTX", "LMT", "DE"]; pub const FINTECH_VOLATILE: &[&str] = &["V", "MA", "COIN", "PLTR", "MSTR", "SQ", "PYPL"];
pub const SP500_CONSUMER: &[&str] = &["COST", "WMT", "HD", "NKE", "SBUX", "MCD", "DIS"]; pub const SP500_FINANCIALS: &[&str] = &["JPM", "GS", "MS", "BLK", "AXP", "C", "SCHW", "ICE"];
pub const SP500_ENERGY: &[&str] = &["XOM", "CVX", "COP", "SLB", "OXY"]; pub const SP500_INDUSTRIALS: &[&str] = &["CAT", "GE", "HON", "BA", "RTX", "LMT", "DE", "UNP", "UPS"];
/// Get all symbols in the trading universe (50 stocks). pub const SP500_CONSUMER: &[&str] = &["COST", "WMT", "HD", "NKE", "SBUX", "MCD", "DIS", "TGT", "LOW", "ABNB", "BKNG"];
pub const SP500_ENERGY: &[&str] = &["XOM", "CVX", "COP", "SLB", "OXY", "EOG", "MPC"];
pub const TELECOM_MEDIA: &[&str] = &["T", "VZ", "CMCSA", "TMUS", "NFLX"];
pub const INTERNATIONAL: &[&str] = &["TSM", "BABA", "JD", "SHOP", "MELI"];
pub const MATERIALS: &[&str] = &["FCX", "NEM", "LIN", "APD", "SHW"];
/// Get all symbols in the trading universe (~100 stocks).
pub fn get_all_symbols() -> Vec<&'static str> { pub fn get_all_symbols() -> Vec<&'static str> {
let mut symbols = Vec::new(); let mut symbols = Vec::new();
symbols.extend_from_slice(MAG7); symbols.extend_from_slice(MAG7);
symbols.extend_from_slice(SEMIS); symbols.extend_from_slice(SEMIS);
symbols.extend_from_slice(GROWTH_TECH); symbols.extend_from_slice(GROWTH_TECH);
symbols.extend_from_slice(SOFTWARE);
symbols.extend_from_slice(HEALTHCARE); symbols.extend_from_slice(HEALTHCARE);
symbols.extend_from_slice(BIOTECH);
symbols.extend_from_slice(FINTECH_VOLATILE); symbols.extend_from_slice(FINTECH_VOLATILE);
symbols.extend_from_slice(SP500_FINANCIALS); symbols.extend_from_slice(SP500_FINANCIALS);
symbols.extend_from_slice(SP500_INDUSTRIALS); symbols.extend_from_slice(SP500_INDUSTRIALS);
symbols.extend_from_slice(SP500_CONSUMER); symbols.extend_from_slice(SP500_CONSUMER);
symbols.extend_from_slice(SP500_ENERGY); symbols.extend_from_slice(SP500_ENERGY);
symbols.extend_from_slice(TELECOM_MEDIA);
symbols.extend_from_slice(INTERNATIONAL);
symbols.extend_from_slice(MATERIALS);
// Deduplicate (NFLX appears in both GROWTH_TECH and TELECOM_MEDIA)
symbols.sort();
symbols.dedup();
symbols symbols
} }
// Strategy Parameters — Regime-Adaptive Dual Signal // Strategy Parameters — Regime-Adaptive Dual Signal
@@ -96,8 +109,12 @@ pub fn get_sector(symbol: &str) -> &'static str {
"semis" "semis"
} else if GROWTH_TECH.contains(&symbol) { } else if GROWTH_TECH.contains(&symbol) {
"growth_tech" "growth_tech"
} else if SOFTWARE.contains(&symbol) {
"software"
} else if HEALTHCARE.contains(&symbol) { } else if HEALTHCARE.contains(&symbol) {
"healthcare" "healthcare"
} else if BIOTECH.contains(&symbol) {
"biotech"
} else if FINTECH_VOLATILE.contains(&symbol) { } else if FINTECH_VOLATILE.contains(&symbol) {
"fintech_volatile" "fintech_volatile"
} else if SP500_FINANCIALS.contains(&symbol) { } else if SP500_FINANCIALS.contains(&symbol) {
@@ -108,6 +125,12 @@ pub fn get_sector(symbol: &str) -> &'static str {
"consumer" "consumer"
} else if SP500_ENERGY.contains(&symbol) { } else if SP500_ENERGY.contains(&symbol) {
"energy" "energy"
} else if TELECOM_MEDIA.contains(&symbol) {
"telecom_media"
} else if INTERNATIONAL.contains(&symbol) {
"international"
} else if MATERIALS.contains(&symbol) {
"materials"
} else { } else {
"unknown" "unknown"
} }