opportunity-scanner について
Pythonを使い、段階的にHyperliquidの無期限先物市場をスクリーニングし、市場データとテクニカル評価から取引候補を抽出するスキルです。時間足トレンドの判定、ハード除外条件、複数回のスキャン比較を備えています。
主な機能
- 01流動性に基づく市場スクリーニング
- 02スマートマネーと鮮度のシグナルを追加
- 034h・1h・15m足を分析
- 04四つの市場要素でスコアリング
- 05BTCのマクロ調整を適用
- 06複数回のスキャンでスコア変化を追跡
活用シーン
- 01無期限先物の取引候補を絞り込む
- 02取引案が時間足トレンドに沿うか確認
- 03複数回のスキャンで機会スコアの変化を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ senpi-ai/ senpi-skills --skill opportunity-scannerインストール後、Claude Code で/opportunity-scannerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/config-schema.mdhourly-trend.mdoutput-schema.mdscoring.mdsource-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 秒)。
| 時間足 | 期間 | ローソク足数 | 用途 |
|---|---|---|---|
| 4h | 7 日 | 約 42 | マクロトレンド(EMA 5/13 のクロスオーバー) |
| 1h | 24 時間 | 約 24 | 時間足のトレンド構造 + RSI、出来高、S/R、パターン |
| 15m | 6 時間 | 約 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.py | Python パイプライン — データの取得、スコアリング、時間足ゲートの適用 |
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以上のティアが自動的に追加されます