mcpField
O
opportunity-scanner

opportunity-scanner

github.com/senpi-aiその他140156 回インストール今日更新
リポジトリ

opportunity-scanner について

Pythonを使い、段階的にHyperliquidの無期限先物市場をスクリーニングし、市場データとテクニカル評価から取引候補を抽出するスキルです。時間足トレンドの判定、ハード除外条件、複数回のスキャン比較を備えています。

主な機能

  1. 01流動性に基づく市場スクリーニング
  2. 02スマートマネーと鮮度のシグナルを追加
  3. 034h・1h・15m足を分析
  4. 04四つの市場要素でスコアリング
  5. 05BTCのマクロ調整を適用
  6. 06複数回のスキャンでスコア変化を追跡

活用シーン

  1. 01無期限先物の取引候補を絞り込む
  2. 02取引案が時間足トレンドに沿うか確認
  3. 03複数回のスキャンで機会スコアの変化を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/senpi-ai/senpi-skills --skill opportunity-scanner

インストール後、Claude Code で/opportunity-scannerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
config-schema.md
hourly-trend.md
output-schema.md
scoring.md
source-code-v5.md

詳細

Opportunity Scanner v5

Hyperliquid 上の 521 の無期限先物。すべての銘柄のローソク足を取得してテクニカル指標を計算すると、トークンを 50 万以上消費します。このスキャナーはすべてをスクリーニングしますが、実際の機会にのみトークンを消費します。

計算はすべて Python で実行します。LLM トークンの消費はほぼゼロです。

4 段階のファネル

Stage 0:BTC のマクロコンテキスト

ソース:BTC の 4h および 1h ローソク足(API 呼び出し 2 回)。 出力:btc_trend(strong_down/down/neutral/up/strong_up)と、最終スコアすべてに適用される macro_modifier。scanner-config.json で設定できます。

Stage 1:一括スクリーニング(LLM トークンほぼゼロ)

ソース:単一の API 呼び出し — metaAndAssetCtxs フィルター:24 時間の出来高が $500K 超(設定可能)。 出力:最小流動性の条件を満たす約 70 銘柄。

Stage 2:スマートマネー + 鮮度オーバーレイ(LLM トークンほぼゼロ)

ソース:leaderboard_get_markets + leaderboard_get_top(limit=100)。 銘柄ごとに 2 エントリー(ロング + ショート)を使用し、優勢な側を維持します。 鮮度:avgAtPeak(>85% = 有効、<50% = 古い)、nearPeakPct。 フィルター:クイックスコア上位 15~16 銘柄。スマートマネー銘柄の上位 8 銘柄は必ず含めます。

Stage 3:詳細分析 — マルチタイムフレーム(LLM トークンほぼゼロ)

ThreadPoolExecutor を使用してローソク足を並列取得します(逐次処理の約 60 秒に対して約 20 秒)。

時間足期間ローソク足数用途
4h7 日約 42マクロトレンド(EMA 5/13 のクロスオーバー)
1h24 時間約 24時間足のトレンド構造 + RSI、出来高、S/R、パターン
15m6 時間約 24エントリー:RSI、パターン、モメンタム、出来高ダイバージェンス

v5:時間足トレンドの分類 — 1h データのスイング高値・安値を分析し、UP/DOWN/NEUTRAL に分類します。アルゴリズムについては references/hourly-trend.md を参照してください。

これはすべての取引判断における最重要ゲートです。 hourlyTrend: "DOWN" のときにロングを、hourlyTrend: "UP" のときにショートを、決して開始しないでください。

時間足ごとのエラー復旧:15m の取得に失敗した場合も、4h+1h のデータで分析を続行します。

Stage 4:スキャン間のモメンタム

結果を scan-history.json に保存します。scoreDelta(前回のスキャンからの変化)と scanStreak(連続して出現した回数)を計算します。

4 本柱のスコアリング(各 25%、合計 0~400 点)

各項目の詳細な配点については、references/scoring.md を参照してください。

Pillar 1:スマートマネー(25%)

PnL 貢献度の段階、トレーダー数(v5:400 以上 = +30 点)、加速、鮮度。トレーダー数は実際のシグナルとノイズを区別します。トレーダー数 130 で Conviction 4 のケースでは乱高下が発生しましたが、400 以上で Conviction 4 のケースは一貫して実際のシグナルでした。

Pillar 2:市場構造(25%)

出来高、出来高急増、建玉、建玉/出来高比率。

Pillar 3:テクニカル(25%)

4h トレンドとの整合性、1h トレンド構造(v5)、複数時間足での RSI の収束、出来高による確認、ローソク足パターン、モメンタム。時間足トレンドに逆行:-30 点(v5)。

Pillar 4:ファンディング(25%)

中立的なファンディングが最適(+40)。有利な極端値は強いプラス(+35)。不利な極端値はマイナス(-20)。

BTC マクロ修正値

最終スコアに適用します。BTC の下落トレンド時にはアルトコインのロングにペナルティを与え、ショートを引き上げます(逆の場合も同様)。すべての修正値は設定可能です。

ハード失格条件(v5)

これらに該当する機会は、単に減点するのではなく、完全にスキップされます。

条件理由
時間足トレンドに逆行1 分足の反発での SM の確信度は、2 週間の下落トレンドを覆しません。$346 の教訓です。
RSI が極端(ショートは < 20、ロングは > 80)反転が差し迫っています
強度 > 50 で 4h トレンドに逆行強いマクロ環境が不利です
出来高が減少(両方の時間足で比率 < 0.5)流動性がありません
ファンディングが大きく不利(年率 > 50%)手数料負担で利益が失われます
BTC マクロの逆風が 30 点超市場全体のリスク

アーキテクチャ

┌──────────────────────────────────────────┐
│  Stage 0: BTC macro (2 API calls)        │
├──────────────────────────────────────────┤
│  Stage 1: metaAndAssetCtxs → ~70 assets  │
├──────────────────────────────────────────┤
│  Stage 2: SM + freshness → top 15-16     │
├──────────────────────────────────────────┤
│  Stage 3: parallel candle fetch + v5     │
│  hourly trend classification             │
├──────────────────────────────────────────┤
│  Stage 4: cross-scan momentum            │
├──────────────────────────────────────────┤
│  v5: Hard disqualifier check             │
├──────────────────────────────────────────┤
│  Final: scored JSON → LLM formats report │
│  Total: ~5k LLM tokens                  │
└──────────────────────────────────────────┘

ファイル

ファイル用途
scripts/opportunity-scan-v5.pyPython パイプライン — データの取得、スコアリング、時間足ゲートの適用
scripts/opportunity-report.shラッパー — パイプラインを実行し、LLM プロンプトを出力
scanner-config.jsonユーザー設定:リスク、レバレッジ、マクロ修正値
scan-history.json自動管理:スキャン間の追跡用に直近 12 回のスキャンを保存
active-positions.json現在のポジション(競合フラグ)

設定スキーマ

すべてのオプションを含む完全な設定については、references/config-schema.mdを参照してください。

出力形式

完全な出力JSONスキーマについては、references/output-schema.mdを参照してください。

機会ごとの主なフィールド:asset、direction、leverage、finalScore、hourlyTrend、trendAligned、pillarScores、smartMoney、technicals、funding、risks、scoreDelta、scanStreak。

除外された資産は、透明性を確保するため、reasonとwouldHaveScoredを付けて別途報告されます。

ソースコード

Pythonスキャナーへのv5の追加内容(時間足トレンドの分類、スコアリングの変更、ハード除外ロジック)については、references/source-code-v5.mdを参照してください。

Cronの設定

10~30分ごとに実行します(時間を考慮したスケジューリングは任意です)。

python3 scripts/opportunity-scan-v5.py | python3 scripts/opportunity-report.sh

v4からの移行

そのまま置き換えられます。v5のすべての機能には、妥当なデフォルト値が設定されています。

  • 時間足トレンドゲートはデフォルトで有効です(無効にするにはhourlyTrendGate: falseを設定します)
  • 逆張り方向の時間足トレンドによるペナルティは-30ポイントです(設定可能)
  • 出力にhourlyTrendとtrendAlignedが追加されます
  • disqualifiedAssetsにフィルタリングされた対象が表示されます
  • SMトレーダー数400以上のティアが自動的に追加されます

コメント