mcpField
S
scanner-bullish

scanner-bullish

github.com/staskh其他39490 次安装1 天前更新
代码仓库

关于 scanner-bullish

这是一项扫描指定股票代码并按综合技术评分排序的命令行技能,用于识别看涨趋势。它结合移动平均线、RSI、MACD、ADX 和动量指标,并提供交叉信号详情。

主要功能

  1. 01扫描逗号分隔的股票代码列表
  2. 02按综合评分排列股票
  3. 03评估移动平均线、RSI、MACD、ADX 和动量
  4. 04报告 EMA 与 MACD 交叉详情
  5. 05返回财报时间及触发的信号

适用场景

  1. 01按看涨技术信号排列观察列表
  2. 02查看近期 EMA 和 MACD 交叉
  3. 03比较所选股票的趋势指标

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/staskh/trading_skills --skill scanner-bullish

安装后在 Claude Code 中输入/scanner-bullish确认已加载。

附带文件scripts/scan.py

详细介绍

看涨扫描器

扫描标的以查找看涨趋势,并按综合评分排名。

说明

注意: 如果未安装 uv 或找不到 pyproject.toml,请在以下所有命令中将 uv run python 替换为 python。

uv run python scripts/scan.py SYMBOLS [--top N] [--period PERIOD]

参数

  • SYMBOLS - 以逗号分隔的股票代码(例如:AAPL,MSFT,GOOGL,NVDA)
  • --top - 返回的结果数量上限(默认值:30)
  • --period - 分析所用的历史周期:1mo、3mo、6mo(默认值:3mo)

评分系统(最高约 9.5 分)

指标条件分数
SMA20价格 > SMA20+1.0
SMA50价格 > SMA50+1.0
RSI50-70(看涨)+1.0
30-50(中性)+0.5
<30(超卖)+0.25
MACDMACD > 信号线+1.0
柱状图上升+0.5
EMA9/21EMA9 > EMA21(金叉)+0.5
EMA9 < EMA21(死叉)-0.25
双重交叉两者均向上,且都在 ≤10 天内+1.0
两者均向上,不限时间+0.5
两者均向下,且都在 ≤10 天内-1.0
两者均向下,不限时间-0.5
方向相反-0.5
ADX>25 且 +DI > -DI+1.5
仅 +DI > -DI+0.5
动量周期回报 / 20-1 到 +2

输出

返回包含以下内容的 JSON:

  • scan_date - 扫描时间戳
  • symbols_scanned - 分析的标的总数
  • results - 按评分排序的数组(从高到低):
    • symbol、score、price
    • next_earnings、earnings_timing(BMO/AMC)
    • period_return_pct、pct_from_sma20、pct_from_sma50
    • rsi、macd、macd_signal、macd_hist、adx、dmp、dmn
    • ema9、ema21 — 当前的 EMA9 和 EMA21 值
    • ema_crossover - 最近一次 EMA9/EMA21 交叉(如果未找到则为 null):
      • direction - "up"(EMA9 上穿 EMA21 = 看涨)或 "down"(下穿 = 看跌)
      • days_ago - 距离交叉所在 K 线的交易日数(0 = 交叉发生在最近一根 K 线上)
    • macd_crossover - 最近一次 MACD 交叉(如果未找到则为 null):
      • direction - "up"(MACD 上穿信号线 = 看涨)或 "down"(下穿 = 看跌)
      • days_ago - 距离交叉所在 K 线的交易日数(0 = 交叉发生在最近一根 K 线上)
    • signals - 已触发条件的列表

EMA 交叉解读

  • EMA9 > EMA21 且 days_ago 较小(0-5):近期金叉 — 短期动量已确认
  • EMA9 刚刚下穿 EMA21:死叉 — 短期动量转为负向
  • EMA9 交叉比 MACD 交叉晚几天:正常 — MACD 领先,EMA 确认
  • null:整个周期内 EMA9/21 的相对关系未发生变化

MACD 交叉解读

  • direction: "up" 且 days_ago 较小(0-5):近期看涨交叉 — 早期入场信号
  • direction: "up" 且信号线原本处于深度负值:从回调中复苏
  • direction: "down":无论评分如何,动量都已转为看跌
  • null:该周期内未发现符号变化 — 趋势始终保持同一方向

示例

# Scan a few symbols
uv run python scripts/scan.py AAPL,MSFT,GOOGL,NVDA,TSLA

# Get top 10 from larger list
uv run python scripts/scan.py AAPL,MSFT,GOOGL,NVDA,TSLA,AMD,AMZN,META --top 10

# Use 6-month lookback
uv run python scripts/scan.py AAPL,MSFT,GOOGL --period 6mo

解读

  • 评分 > 6:强劲看涨趋势
  • 评分 4-6:中等看涨
  • 评分 2-4:中性/偏弱
  • 评分 < 2:看跌或无趋势

依赖项

  • pandas
  • pandas-ta
  • yfinance

时区

所有时间戳和基于时间的计算都必须使用 America/New_York 时区。所有 JSON 输出都必须包含 generated_at(纽约时间字符串)和 data_delay 字段。

评论

支持 Markdown