Agent Skillsstaskh/trading_skills › scanner-bullish

scanner-bullish

GitHub

扫描股票并基于SMA、RSI、MACD等指标按综合得分排名,识别看涨趋势。适用于用户请求扫描看涨股、查找趋势股或按动量排序代码时。

.claude/skills/scanner-bullish/SKILL.md staskh/trading_skills

Trigger Scenarios

扫描看涨股票 查找趋势股 按动量排序代码

Install

npx skills add staskh/trading_skills --skill scanner-bullish -g -y
More Options

Non-standard path

npx skills add https://github.com/staskh/trading_skills/tree/main/.claude/skills/scanner-bullish -g -y

Use without installing

npx skills use staskh/trading_skills@scanner-bullish

指定 Agent (Claude Code)

npx skills add staskh/trading_skills --skill scanner-bullish -a claude-code -g -y

安装 repo 全部 skill

npx skills add staskh/trading_skills --all -g -y

预览 repo 内 skill

npx skills add staskh/trading_skills --list

SKILL.md

Frontmatter
{
    "name": "scanner-bullish",
    "description": "Scan stocks for bullish trends using technical indicators (SMA, RSI, MACD, ADX). Use when user asks to scan for bullish stocks, find trending stocks, or rank symbols by momentum.",
    "dependencies": [
        "trading-skills"
    ]
}

Bullish Scanner

Scans symbols for bullish trends and ranks them by composite score.

Instructions

Note: If uv is not installed or pyproject.toml is not found, replace uv run python with python in all commands below.

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

Arguments

  • SYMBOLS - Comma-separated ticker symbols (e.g., AAPL,MSFT,GOOGL,NVDA)
  • --top - Number of top results to return (default: 30)
  • --period - Historical period for analysis: 1mo, 3mo, 6mo (default: 3mo)

Scoring System (max ~9.5 points)

Indicator Condition Points
SMA20 Price > SMA20 +1.0
SMA50 Price > SMA50 +1.0
RSI 50-70 (bullish) +1.0
30-50 (neutral) +0.5
<30 (oversold) +0.25
MACD MACD > Signal +1.0
Histogram rising +0.5
EMA9/21 EMA9 > EMA21 (golden cross) +0.5
EMA9 < EMA21 (death cross) -0.25
Dual crossover Both up, both ≤10 days +1.0
Both up, any age +0.5
Both down, both ≤10 days -1.0
Both down, any age -0.5
Directions conflict -0.5
ADX >25 with +DI > -DI +1.5
+DI > -DI only +0.5
Momentum period return / 20 -1 to +2

Output

Returns JSON with:

  • scan_date - Timestamp of scan
  • symbols_scanned - Total symbols analyzed
  • results - Array sorted by score (highest first):
    • 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 — current EMA9 and EMA21 values
    • ema_crossover - Most recent EMA9/EMA21 crossover (or null if none found):
      • direction - "up" (EMA9 crossed above EMA21 = bullish) or "down" (crossed below = bearish)
      • days_ago - Trading days since the crossover bar (0 = happened in the most recent bar)
    • macd_crossover - Most recent MACD crossover (or null if none found):
      • direction - "up" (MACD crossed above signal = bullish) or "down" (crossed below = bearish)
      • days_ago - Trading days since the crossover bar (0 = happened in the most recent bar)
    • signals - List of triggered conditions

EMA Crossover Interpretation

  • EMA9 > EMA21 with small days_ago (0-5): fresh golden cross — short-term momentum confirmed
  • EMA9 just crossed below EMA21: death cross — short-term momentum turning negative
  • EMA9 crossover lagging MACD crossover by days: normal — MACD leads, EMA confirms
  • null: EMA9/21 relationship unchanged throughout the period

MACD Crossover Interpretation

  • direction: "up" with small days_ago (0-5): fresh bullish crossover — early entry signal
  • direction: "up" from a deeply negative signal: recovery from correction
  • direction: "down": momentum has turned bearish regardless of score
  • null: no sign change found in the period — trend has been consistently one-directional

Examples

# 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

Interpretation

  • Score > 6: Strong bullish trend
  • Score 4-6: Moderate bullish
  • Score 2-4: Neutral/weak
  • Score < 2: Bearish or no trend

Dependencies

  • pandas
  • pandas-ta
  • yfinance

Timezone

All timestamps and time-based calculations must use the America/New_York timezone. All JSON output must include generated_at (NY time string) and data_delay fields.

Version History

  • cc30858 Current 2026-07-05 11:05

Dependencies

  • required trading-skills

Same Skill Collection

.claude/skills/earnings-calendar/SKILL.md
.claude/skills/fundamentals/SKILL.md
.claude/skills/greeks/SKILL.md
.claude/skills/ib-account/SKILL.md
.claude/skills/ib-collar/SKILL.md
.claude/skills/ib-create-consolidated-report/SKILL.md
.claude/skills/ib-find-short-roll/SKILL.md
.claude/skills/ib-option-chain/SKILL.md
.claude/skills/ib-pmcc-advisor/SKILL.md
.claude/skills/ib-portfolio-action-report/SKILL.md
.claude/skills/ib-portfolio/SKILL.md
.claude/skills/ib-report-delta-adjusted-notional-exposure/SKILL.md
.claude/skills/ib-stop-loss/SKILL.md
.claude/skills/ib-trades-history/SKILL.md
.claude/skills/ib-trailing-stop/SKILL.md
.claude/skills/insider-trading/SKILL.md
.claude/skills/markdown-to-pdf/SKILL.md
.claude/skills/news-sentiment/SKILL.md
.claude/skills/option-chain/SKILL.md
.claude/skills/price-history/SKILL.md
.claude/skills/report-stock/SKILL.md
.claude/skills/risk-assessment/SKILL.md
.claude/skills/scanner-pmcc/SKILL.md
.claude/skills/spread-analysis/SKILL.md
.claude/skills/stock-quote/SKILL.md
.claude/skills/technical-analysis/SKILL.md
.claude/skills/whale-hunting/SKILL.md

Metadata

Files
0
Version
cc30858
Hash
e0678c0f
Indexed
2026-07-05 11:05

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-16 04:24
浙ICP备14020137号-1 $mapa de visitantes$