feat(scanners): remove caps for technical_breakout; add missing config entry
- technical_breakout: max_tickers 150 → 0 (reads from OHLCV cache, no need for cap) - minervini: fix stale default max_tickers 50 → 0 in code (config already 0) - default_config: add missing technical_breakout scanner config entry Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7567a17c82
commit
12a398a29a
|
|
@ -42,7 +42,7 @@ class MinerviniScanner(BaseScanner):
|
|||
self.sma_200_slope_days = self.scanner_config.get("sma_200_slope_days", 20)
|
||||
self.min_pct_off_low = self.scanner_config.get("min_pct_off_low", 30)
|
||||
self.max_pct_from_high = self.scanner_config.get("max_pct_from_high", 25)
|
||||
self.max_tickers = self.scanner_config.get("max_tickers", 50)
|
||||
self.max_tickers = self.scanner_config.get("max_tickers", 0) # 0 = no cap
|
||||
|
||||
def scan(self, state: Dict[str, Any]) -> List[Dict[str, Any]]:
|
||||
if not self.is_enabled():
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class TechnicalBreakoutScanner(BaseScanner):
|
|||
|
||||
def __init__(self, config: Dict[str, Any]):
|
||||
super().__init__(config)
|
||||
self.max_tickers = self.scanner_config.get("max_tickers", 150)
|
||||
self.max_tickers = self.scanner_config.get("max_tickers", 0) # 0 = no cap
|
||||
self.min_volume_multiple = self.scanner_config.get("min_volume_multiple", 2.0)
|
||||
self.lookback_days = self.scanner_config.get("lookback_days", 20)
|
||||
|
||||
|
|
@ -37,7 +37,8 @@ class TechnicalBreakoutScanner(BaseScanner):
|
|||
logger.warning("No tickers loaded for breakout scan")
|
||||
return []
|
||||
|
||||
tickers = tickers[: self.max_tickers]
|
||||
if self.max_tickers:
|
||||
tickers = tickers[: self.max_tickers]
|
||||
|
||||
cache_dir = self.config.get("discovery", {}).get("ohlcv_cache_dir", "data/ohlcv_cache")
|
||||
logger.info(f"Loading OHLCV for {len(tickers)} tickers from cache (3mo)...")
|
||||
|
|
|
|||
|
|
@ -240,6 +240,14 @@ DEFAULT_CONFIG = {
|
|||
"fetch_market_cap": False, # Skip for speed (1 NaN out of 30 features)
|
||||
"max_workers": 8, # Parallel feature computation threads
|
||||
},
|
||||
"technical_breakout": {
|
||||
"enabled": True,
|
||||
"pipeline": "momentum",
|
||||
"limit": 10,
|
||||
"max_tickers": 0, # 0 = no cap (reads from OHLCV cache)
|
||||
"min_volume_multiple": 2.0, # Min volume vs 20d avg to confirm breakout
|
||||
"lookback_days": 20, # Days for volume/price lookback
|
||||
},
|
||||
"minervini": {
|
||||
"enabled": True,
|
||||
"pipeline": "momentum",
|
||||
|
|
|
|||
Loading…
Reference in New Issue