whale-hunting について
whale-hunting は、原資産のオプションチェーンを調べ、大口の異常取引を見つけるコマンドラインスキルです。日次データで候補を絞り、利用可能な場合は Massive API の秒単位データで詳しく分析します。
主な機能
- 01オプションチェーンの異常検出
- 02秒単位データによる候補の精査
- 03満期と日付による絞り込み
- 04統計的な検出閾値の調整
- 05取引と銘柄の集計出力
活用シーン
- 01銘柄ごとの異常なオプション取引の確認
- 02候補取引の秒単位での調査
- 03コールとプットの投資額比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ staskh/ trading_skills --skill whale-huntingインストール後、Claude Code で/whale-huntingを入力して読み込まれたか確認します。
同梱ファイルscripts/whale_hunting.py
詳細
クジラ狩り
指定した原資産のオプションチェーンをスキャンし、次の2段階の方法で機関投資家規模の取引を特定します。
- 粗スキャン(Yahoo Finance)— チェーン内のほかの契約と比べて、1日の投資額が異常な契約を見つけます。
- 詳細な調査(Massive API)— 各候補の1秒ごとのバーを取得し、投資額が外れ値となる秒を検出します。
使用方法
注:
uvがインストールされていない場合、またはpyproject.tomlが見つからない場合は、以下のすべてのコマンドでuv run pythonをpythonに置き換えてください。
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py SYMBOL [--months N] [--date YYYY-MM-DD] [--sigma F] [--sigma-z F] [--summary]
引数
SYMBOL— 原資産のティッカー(例:AAPL、NVDA、SPY)--months— 対象とするオプション満期までの最大月数(デフォルト:2)--date— 分析する取引日(YYYY-MM-DD形式、デフォルト:直近の取引日)--sigma— 粗スキャンの外れ値しきい値に使用する標準偏差の倍率(デフォルト:3.0)--sigma-z— 1秒ごとの少数サンプル検出に使用する修正 Z スコアのしきい値(デフォルト:3.5)--summary— ティッカーごとのサマリーも計算し、JSON 出力に含めます
出力
次の内容を含む JSON を返します。
underlying— スキャンしたシンボルtrading_date— 分析した日付source—"massive"(1秒ごとのデータ)または"yahoo only"(日次のチェーンデータ)total_whales— 検出されたクジラ取引イベントの合計数total_call_invested— コールのクジラ取引イベントに投じられた金額の合計total_put_invested— プットのクジラ取引イベントに投じられた金額の合計call_put_ratio— コールの投資額 / プットの投資額(プットがない場合は null)whales— クジラ取引イベントのリスト:timestamp、ticker、type、strike、expiryclose、volume、transactions、invested、break_even
summary(--summaryを指定した場合のみ含まれます)— ティッカーごとの集計リスト:ticker、type、strike、expiry、whale_count、total_invested、break_even
例
# Hunt whales for AAPL (latest trading day)
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py AAPL
# Hunt whales for NVDA on a specific date
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py NVDA --date 2026-03-13
# With per-ticker summary
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py HOOD --months 3 --summary
# Looser detection threshold
uv run python .claude/skills/whale-hunting/scripts/whale_hunting.py SPY --sigma 2.0
レポート
スクリプトの実行後、次のように結果を表示します。
ヘッダー行:
{underlying} の {trading_date} のクジラ取引 — データソース:{source} コールのフロー:${total_call_invested:,.0f} | プットのフロー:${total_put_invested:,.0f} | C/P 比率:{call_put_ratio:.2f}
--summary が指定された場合、summary 配列をテーブルとして表示します。
| 時刻(ET) | ティッカー | 種別 | 権利行使価格 | 満期 | イベント数 | 投資額合計 | 損益分岐点 |
|---|---|---|---|---|---|---|---|
| {timestamp} | {ticker} | {type} | {strike} | {expiry} | {whale_count} | ${total_invested:,.0f} | {break_even} |
total_invested の降順で並べ替えます。複数イベントを含む行では、最初から最後までのイベントの時刻範囲を使用します(例:11:46–12:33)。
解釈のガイド:
source: "massive"— 信頼度が高いデータ。Massive API による1秒ごとのブロック取引データです。source: "yahoo only"— フォールバックデータ。日次データです(Massive API キーがない、または日中データがありません)。- C/P 比率が低い(< 0.5)— 機関投資家のポジションは弱気です
- C/P 比率が高い(> 2.0)— 機関投資家のポジションは強気です
transactions: 1— 単一のブロック取引で、最も強いクジラのシグナルです
必要条件
- 1秒ごとのデータには
MASSIVE_API_KEY環境変数が必要です。設定されていない場合は、Yahoo Finance の日次データにフォールバックします。
タイムゾーン
すべてのタイムスタンプと時刻ベースの計算には、America/New_York タイムゾーンを使用する必要があります。すべての JSON 出力には generated_at(ニューヨーク時間の文字列)と data_delay フィールドを含める必要があります。