用途:Batch Scanner 用于按顺序运行整套股票筛选策略,并把每个策略的结果推送到 Google Sheets,每个策略对应一个标签页,适合定时批量扫描。
主要能力:内置多种策略,包括 Momentum with Pullback(多周期 EMA 叠加加振荡指标回调)、Volatility Squeeze(ATR 压缩的蓄势突破股)、MEME Screen(按成交量前 200 中取 IV 最高的 30 只)、Small Cap Multibaggers(成长加正自由现金流的小盘股)、Gamma Scan(接近高未平仓期权行权价的股票)、EMA Cross Momentum(看涨 EMA 交叉)和 Bearish EMA Cross (Down)(看跌 EMA 交叉)。输出列包含 ScanTime、Symbol、Company、WeekEnding、策略专属列和 CurrentPrice(通过 GOOGLEFINANCE 实时获取)。
使用方式:运行 python batch_scanner.py 执行全部策略并写入 Sheets;--dry-run 只打印不发送;--strategies "Momentum with Pullback,MEME Screen" 指定策略;--list 列出有效策略名。安装依赖:pip install pandas requests python-dotenv tradingview-screener yfinance scikit-learn。需创建 .env 并设置 GOOGLE_SHEETS_WEBHOOK=https://script.google.com/macros/s/<id>/exec,并将 google_sheets_script_v2.js 部署为 Apps Script Web App(Execute as Me,访问权限 Anyone),把 URL 填入 .env。定时示例:0 16 * * 1-5 cd /path/to/project && .venv/bin/python batch_scanner.py >> logs/batch.log 2>&1。
限制与排错:未配置 webhook 会报 GOOGLE_SHEETS_WEBHOOK not configured;Sheets error: 302 需以 Anyone 权限重新部署 Apps Script;Unknown strategy 可用 --list 查看有效名称;MEME 与 Gamma 因需获取期权数据,扫描较慢属预期。Squeeze 与 Momentum 策略的入场逻辑参见 momentum-squeeze 技能。完整指南见 BATCH_SCANNER_README.md。