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. 04EMAと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
2本同時クロス両方上向き、どちらも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 - クロスが発生したバーからの取引日数(0 = 最新のバーで発生)
    • macd_crossover - 直近の MACD クロス(見つからない場合は null):
      • direction - "up"(MACD がシグナルを上抜け=強気)または "down"(下抜け=弱気)
      • days_ago - クロスが発生したバーからの取引日数(0 = 最新のバーで発生)
    • 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 フィールドを含める必要があります。

コメント