more symbols
This commit is contained in:
@@ -1,26 +1,39 @@
|
||||
//! 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 SEMIS: &[&str] = &["AVGO", "AMD", "ASML", "QCOM", "MU"];
|
||||
pub const GROWTH_TECH: &[&str] = &["NFLX", "CRM", "NOW", "UBER", "SNOW"];
|
||||
pub const HEALTHCARE: &[&str] = &["LLY", "UNH", "ISRG", "VRTX", "ABBV", "MRK", "PFE"];
|
||||
pub const FINTECH_VOLATILE: &[&str] = &["V", "MA", "COIN", "PLTR", "MSTR"];
|
||||
pub const SP500_FINANCIALS: &[&str] = &["JPM", "GS", "MS", "BLK", "AXP", "C"];
|
||||
pub const SP500_INDUSTRIALS: &[&str] = &["CAT", "GE", "HON", "BA", "RTX", "LMT", "DE"];
|
||||
pub const SP500_CONSUMER: &[&str] = &["COST", "WMT", "HD", "NKE", "SBUX", "MCD", "DIS"];
|
||||
pub const SP500_ENERGY: &[&str] = &["XOM", "CVX", "COP", "SLB", "OXY"];
|
||||
/// Get all symbols in the trading universe (50 stocks).
|
||||
pub const SEMIS: &[&str] = &["AVGO", "AMD", "ASML", "QCOM", "MU", "MRVL", "LRCX", "KLAC", "AMAT"];
|
||||
pub const GROWTH_TECH: &[&str] = &["NFLX", "CRM", "NOW", "UBER", "SNOW", "DDOG", "CRWD", "ZS", "WDAY"];
|
||||
pub const SOFTWARE: &[&str] = &["ADBE", "INTU", "PANW", "FTNT", "TEAM", "HUBS", "MNDY"];
|
||||
pub const HEALTHCARE: &[&str] = &["LLY", "UNH", "ISRG", "VRTX", "ABBV", "MRK", "PFE", "TMO", "ABT", "DHR"];
|
||||
pub const BIOTECH: &[&str] = &["GILD", "AMGN", "REGN", "BIIB", "MRNA"];
|
||||
pub const FINTECH_VOLATILE: &[&str] = &["V", "MA", "COIN", "PLTR", "MSTR", "SQ", "PYPL"];
|
||||
pub const SP500_FINANCIALS: &[&str] = &["JPM", "GS", "MS", "BLK", "AXP", "C", "SCHW", "ICE"];
|
||||
pub const SP500_INDUSTRIALS: &[&str] = &["CAT", "GE", "HON", "BA", "RTX", "LMT", "DE", "UNP", "UPS"];
|
||||
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> {
|
||||
let mut symbols = Vec::new();
|
||||
symbols.extend_from_slice(MAG7);
|
||||
symbols.extend_from_slice(SEMIS);
|
||||
symbols.extend_from_slice(GROWTH_TECH);
|
||||
symbols.extend_from_slice(SOFTWARE);
|
||||
symbols.extend_from_slice(HEALTHCARE);
|
||||
symbols.extend_from_slice(BIOTECH);
|
||||
symbols.extend_from_slice(FINTECH_VOLATILE);
|
||||
symbols.extend_from_slice(SP500_FINANCIALS);
|
||||
symbols.extend_from_slice(SP500_INDUSTRIALS);
|
||||
symbols.extend_from_slice(SP500_CONSUMER);
|
||||
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
|
||||
}
|
||||
// Strategy Parameters — Regime-Adaptive Dual Signal
|
||||
@@ -96,8 +109,12 @@ pub fn get_sector(symbol: &str) -> &'static str {
|
||||
"semis"
|
||||
} else if GROWTH_TECH.contains(&symbol) {
|
||||
"growth_tech"
|
||||
} else if SOFTWARE.contains(&symbol) {
|
||||
"software"
|
||||
} else if HEALTHCARE.contains(&symbol) {
|
||||
"healthcare"
|
||||
} else if BIOTECH.contains(&symbol) {
|
||||
"biotech"
|
||||
} else if FINTECH_VOLATILE.contains(&symbol) {
|
||||
"fintech_volatile"
|
||||
} else if SP500_FINANCIALS.contains(&symbol) {
|
||||
@@ -108,6 +125,12 @@ pub fn get_sector(symbol: &str) -> &'static str {
|
||||
"consumer"
|
||||
} else if SP500_ENERGY.contains(&symbol) {
|
||||
"energy"
|
||||
} else if TELECOM_MEDIA.contains(&symbol) {
|
||||
"telecom_media"
|
||||
} else if INTERNATIONAL.contains(&symbol) {
|
||||
"international"
|
||||
} else if MATERIALS.contains(&symbol) {
|
||||
"materials"
|
||||
} else {
|
||||
"unknown"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user