mcpField
P
pp-yahoo-finance

pp-yahoo-finance

github.com/mvanhornその他2.1k652 回インストール今日更新
リポジトリ

pp-yahoo-finance について

pp-yahoo-finance は、Yahoo Finance CLI を操作するスキルで、市場データを調べて分析するエージェント向けです。ローカル保存データを使ったポートフォリオ分析と、機械処理向けの JSON 出力が特徴です。

主な機能

  1. 01株価、履歴、ファンダメンタルズの取得
  2. 02ポートフォリオのリターンと配当の分析
  3. 03オプションチェーンと株式の絞り込み
  4. 04データのローカル同期とスクリーニング
  5. 05ウォッチリストの市場ブリーフ作成

活用シーン

  1. 01保有銘柄の年間リターンと配当の確認
  2. 02配当込みで複数銘柄のリターンを比較
  3. 03評価基準に合う銘柄のスクリーニング
  4. 04ウォッチリストのニュースと市場動向の集約

インストール

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

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-yahoo-finance

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

詳細

Yahoo Finance — Printing Press CLI

前提条件:CLI をインストールする

このスキルは yahoo-finance-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。

  1. Printing Press インストーラーを使用してインストールします。バイナリの保存先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin がデフォルトです。
    npx -y @mvanhorn/printing-press-library install yahoo-finance --cli-only
    
  2. 次のコマンドで確認します:yahoo-finance-pp-cli --version
  3. 表示されたインストール先ディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認します。

npx によるインストールが失敗した場合(Node がない、オフラインなど)は、Go を直接インストールしてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/commerce/yahoo-finance/cmd/yahoo-finance-pp-cli@latest

インストール後に --version が「command not found」と表示する場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できていません。確認が完了するまで、このスキルのコマンドを実行しないでください。

この CLI を使用する場面

エージェントが、決定論的な JSON 出力を伴う Yahoo Finance の市場データ、呼び出しを重ねて蓄積されるローカルストア(ポートフォリオ、ウォッチリスト、履歴キャッシュ)、またはレート制限のあるホストでの作業セッションを必要とするときに、この CLI を使用してください。取得原価とライブデータを結合し、429 が発生した場合に Chrome Cookie フォールバックで処理を継続できる Yahoo Finance ツールは、これだけです。

この CLI を使用しない場面

作成、更新、削除、公開、コメント、賛成票の追加、招待、注文、メッセージの送信、予約、購入、またはリモートの状態変更が必要なリクエストでは、この CLI を有効にしないでください。この印刷用 CLI が公開するのは、調査、エクスポート、同期、分析のための読み取り専用コマンドです。

独自の機能

この API のほかのツールでは、次の機能を利用できません。

積み重なるローカル状態
  • portfolio perf — 取得原価、配当、現在価格を反映した保有資産の年初来/1年間/全期間のリターンを追跡します。

    エージェントが「今年、ユーザーのポートフォリオはどうなっていますか」と報告する必要がある場合に使用してください。取得原価を含む Yahoo Finance のエンドポイントは存在しません。

    yahoo-finance-pp-cli portfolio perf --agent
    
  • digest — ウォッチリスト内のすべての銘柄について、夜間のニュース、値上がり・値下がりの大きな銘柄、当日の決算、権利落ち日を1つのコマンドで取得します。

    銘柄を指定した一連の「毎日の市場ブリーフィング」に対する単一のエージェント呼び出しとして使用してください。4つ以上の個別エンドポイント呼び出しを置き換えます。

    yahoo-finance-pp-cli digest --watchlist tech --agent
    
  • portfolio dividends — 年間配当収入の合計、保有銘柄ごとの内訳、取得原価に対する利回りを確認します。

    ユーザーが「今年の配当収入はいくらですか」または「私の JNJ 保有分の実質利回りはいくらですか」と尋ねた場合に使用してください。

    yahoo-finance-pp-cli portfolio dividends --year 2026 --agent
    
  • insiders-net-buying — 過去 N 日間にインサイダーが買い越している企業を、ウォッチリストで絞り込んで表示します。

    ユーザーのウォッチリスト全体で「インサイダーが実際に買っているのはどこか」を示すシグナルが必要な場合に使用してください。

    yahoo-finance-pp-cli insiders-net-buying --recent 30d --watchlist tech --agent
    
エージェント向けの計算機能
  • options-chain — 満期までの日数の範囲を指定して、オプションチェーンから ATM/OTM/ITM のコントラクトを絞り込みます。

    エージェントが、数千行のオプションチェーンを解析せずに「決算前の AAPL の OTM 週次プット」を抽出する必要がある場合に使用してください。

    yahoo-finance-pp-cli options-chain AAPL --moneyness otm --max-dte 45 --agent
    
  • screen-local — ローカルに同期したデータを対象に、P/E、P/B、利回り、利益率、成長率の任意のフィルターを実行します。

    同期済みの銘柄群に対してエージェントが適用できる、カスタムのバリュー/グロース・スクリーニングを組み合わせる場合に使用してください。Yahoo が用意している12種類の定型スクリーニングを大きく超える条件を指定できます。

    yahoo-finance-pp-cli screen-local --pe-max 15 --roe-min 0.15 --agent
    
  • compare — 複数銘柄の価格と配当を含めたトータルリターンを、指定範囲で順位付けします。

    価格変動だけでなく、実際の保有期間リターンを比較する場合に使用してください。オフラインでこれを実行できる Yahoo CLI はこれだけです。

    yahoo-finance-pp-cli compare AAPL MSFT NVDA --range 1y --include-divs --agent
    
  • options-covered-calls — 年率換算利回りと DTE を基準に、保有銘柄からカバードコールの候補をスキャンします。

    ユーザーが実際に保有する株式から、「ホイール戦略」のカバードコール候補を抽出する場合に使用してください。

    yahoo-finance-pp-cli options-covered-calls --min-yield-annualized 0.10 --max-dte 45 --agent
    
  • watchlist correlate — 名前を指定したウォッチリスト内の銘柄について、指定期間におけるペアごとの Pearson 相関を算出します。

    ウォッチリスト内の集中リスクを検出する必要がある場合に使用してください。「この『テック』ウォッチリストは、実際には AAPL へのエクスポージャーが80%ではないか」を確認できます。

    yahoo-finance-pp-cli watchlist correlate tech --range 6m --agent
    
到達性の緩和
  • auth login --chrome — Yahoo の crumb ハンドシェイクが IP でブロックされている場合に、稼働中の Chrome セッションの Cookie をインポートします。

    エージェントの doctor がホストの IP からの 429 を報告した場合に使用してください。Chrome のセッション Cookie によって crumb ハンドシェイクのブロックが解除されます。

    yahoo-finance-pp-cli auth login --chrome
    

コマンドリファレンス

autocomplete — 従来のオートコンプリート(検索より高速)

  • yahoo-finance-pp-cli autocomplete — シンボルと企業名をオートコンプリートします

chart — 過去の OHLCV 価格データ

  • yahoo-finance-pp-cli chart <symbol> — シンボルの過去の価格チャートデータを取得します

fundamentals — ファンダメンタルズの時系列データ(四半期/年次)

  • yahoo-finance-pp-cli fundamentals <symbol> — ファンダメンタルズの時系列データ(EPS、売上高、利益率、キャッシュフローなど)を取得します

insights — 企業のインサイト、評価、テクニカルイベント

  • yahoo-finance-pp-cli insights — シンボルのインサイト(テクニカルイベント、評価、調査レポート)を取得します

lookup — シンボルの検索と照会

  • yahoo-finance-pp-cli lookup — クエリに一致するシンボル、ニュース、ファンドを検索します

options — 株式と ETF のオプションチェーン

  • yahoo-finance-pp-cli options <symbol> — シンボルのオプションチェーン(コールとプット)を取得します

quote — リアルタイムの株価と株価サマリー

  • yahoo-finance-pp-cli quote list — 1 つ以上のシンボルの現在の株価を取得します
  • yahoo-finance-pp-cli quote summary — 価格、ファンダメンタルズ、所有状況、提出書類を含む詳細な株価サマリーを取得します

recommendations — アナリストの推奨で関連付けられたシンボル

  • yahoo-finance-pp-cli recommendations <symbol> — 指定したシンボルと推奨が共通するシンボルを取得します

screener — 事前定義済みおよびカスタムの株式スクリーナー

  • yahoo-finance-pp-cli screener — ID で事前定義済みスクリーナーを実行します

trending — 地域別のトレンドシンボル

  • yahoo-finance-pp-cli trending <region> — 現在、指定した地域でトレンドになっている上位のシンボルを取得します
適切なコマンドを見つける

実行したい処理は分かっていても、それに対応するコマンドが分からない場合は、CLI に直接問い合わせてください。

yahoo-finance-pp-cli which "<capability in your own words>"

which は、自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は 1 つ以上の候補が見つかったことを意味し、終了コード 2 は確信を持てる候補がないことを意味します。その場合は --help に切り替えるか、より具体的なクエリを使用してください。

レシピ

ウォッチリスト全体の毎日のマーケットブリーフィング
yahoo-finance-pp-cli digest --watchlist tech --agent

1 つのコマンドで、指定したウォッチリスト内のシンボルについて、夜間のニュース、値上がり・値下がり上位銘柄、本日の決算、権利落ち日を取得します。

年初来のポートフォリオパフォーマンス
yahoo-finance-pp-cli portfolio perf --agent --select symbol,unrealized_pl,total_return_pct

取得原価とリアルタイムの株価、再投資された配当を結合します。--select を使うと出力を絞り込めるため、エージェントがすべての行にコンテキストを費やさずに済みます。

AAPL の約 30 DTE の OTM プットを検索
yahoo-finance-pp-cli options-chain AAPL --moneyness otm --max-dte 45 --type puts --agent

オプションチェーン全体をクライアント側で、マネーネスと DTE に基づいてフィルタリングします。Yahoo のエンドポイントではフィルタリングできません。

割安な大型株を対象にしたカスタム SQL スクリーナー
yahoo-finance-pp-cli screen-local --pe-max 15 --roe-min 0.15 --market-cap-min 10000000000 --agent

ローカルに同期されたファンダメンタルズを対象に実行します。Yahoo のリモートスクリーナーには、事前定義済み ID が 12 個しかありません。

ローカルストアに対する生 SQL
yahoo-finance-pp-cli sql "SELECT symbol, ROUND(AVG(close), 2) AS avg_close FROM history WHERE date > date('now','-30 days') GROUP BY symbol ORDER BY avg_close DESC LIMIT 10"

SQLite のパスを示します。既存のコマンドでは対応できない集計がエージェントに必要な場合に便利です。

認証の設定

Yahoo Finance には API キーがなく、crumb と Cookie のハンドシェイクが必要です。CLI は最初の呼び出し時に crumb を自動取得し、Cookie を ~/.config/yahoo-finance-pp-cli/ に保存します。IP がレート制限されている場合(クラウドホストや多くの海外 IP など)は、auth login --chrome を実行してログイン済みの Chrome セッションをインポートし、crumb ハンドシェイクを成功させてください。

yahoo-finance-pp-cli doctor を実行して、設定を確認してください。

エージェントモード

任意のコマンドに --agent を追加します。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

  • パイプ可能 — stdout に JSON、stderr にエラーを出力します

  • フィルター可能 — --select でフィールドの一部を残せます。ドット区切りのパスはネストされた構造をたどり、配列では各要素を順にたどります。出力が多い API でコンテキストを小さく保つのに重要です:

    yahoo-finance-pp-cli autocomplete --query example-value --agent --select id,name,status
    
  • プレビュー可能 — --dry-run で、送信せずにリクエストを表示します

  • オフライン対応 — sync/search コマンドでは、利用可能な場合、ローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトは表示されず、すべての入力はフラグで指定します

  • 読み取り専用 — 作成、更新、削除、公開、コメント、賛成票、招待、注文、送信、その他の変更を伴うリクエストには、この CLI を使用しないでください

レスポンスのエンベロープ

ローカルストアまたは API からデータを読み取るコマンドは、出力をプロベナンスエンベロープでラップします:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を、ライブデータかローカルデータかの確認には .meta.source を解析してください。人が読める N results (live) の概要は、stdout がターミナルであり、かつ機械可読形式のフラグ(--json、--csv、--compact、--quiet、--plain、--select)が設定されていない場合に限り、stderr のみに出力されます。パイプやエージェントによる利用、および形式を明示した実行では、stdout に純粋な JSON が出力されます。

エージェントからのフィードバック

この CLI に気になる点があれば、あなた(またはエージェント)が気づいた内容を記録してください:

yahoo-finance-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
yahoo-finance-pp-cli feedback --stdin < notes.txt
yahoo-finance-pp-cli feedback list --json --limit 10

記録は ~/.local/share/yahoo-finance-pp-cli/feedback.jsonl にローカル保存されます。YAHOO_FINANCE_FEEDBACK_ENDPOINT が設定され、かつ --send が渡されるか YAHOO_FINANCE_FEEDBACK_AUTO_SEND=true が設定されていない限り、POST されることはありません。デフォルトの動作はローカル保存のみです。

バグ報告ではなく、意外だったことを書いてください。短く、具体的に、1 行で記します。それが積み重なっていきます。

出力の配信

すべてのコマンドで --deliver <sink> を指定できます。出力は stdout に加えて(または stdout の代わりに)指定したシンクに送られるため、エージェントはコマンド結果を手動でパイプせずに振り分けられます。次の 3 つのシンクに対応しています:

シンク動作
stdoutデフォルト。stdout のみに出力します
file:<path>出力を <path> にアトミックに書き込みます(一時ファイル + rename)
webhook:<url>出力本文を URL に POST します(--compact の場合、application/json または application/x-ndjson)

不明なスキームは、対応しているスキームを示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードを返し、URL と HTTP ステータスを stderr に記録します。

名前付きプロファイル

プロファイルは、保存したフラグ値のセットで、実行ごとに再利用できます。スケジュールされたエージェントが毎回同じ設定で同じコマンドを呼び出す場合に使用します。これは HeyGen の「Beacon」パターンです。

yahoo-finance-pp-cli profile save briefing --json
yahoo-finance-pp-cli --profile briefing autocomplete --query example-value
yahoo-finance-pp-cli profile list --json
yahoo-finance-pp-cli profile show briefing
yahoo-finance-pp-cli profile delete briefing --yes

明示的に指定したフラグは、常にプロファイルの値より優先されます。プロファイルの値はデフォルトより優先されます。agent-context は、利用可能なすべてのプロファイルを available_profiles の下に一覧表示するため、実行時にプロファイルを調べるエージェントが検出できます。

終了コード

コード意味
0成功
2使用方法のエラー(引数が不正)
3リソースが見つかりません
5API エラー(上流の問題)
7レート制限(待ってから再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します:

  1. 空、help、または --help → yahoo-finance-pp-cli --help の出力を表示します
  2. install で始まる場合 → mcp で終わる場合は MCP のインストール。それ以外の場合は、上記の前提条件を参照してください
  3. それ以外 → 直接使用(--agent を付けて CLI コマンドとして実行)

MCP サーバーのインストール

  1. MCP サーバーをインストールします:
    go install github.com/mvanhorn/printing-press-library/library/commerce/yahoo-finance/cmd/yahoo-finance-pp-mcp@latest
    
  2. Claude Code に登録します:
    claude mcp add yahoo-finance-pp-mcp -- yahoo-finance-pp-mcp
    
  3. 確認します:claude mcp list

直接使用

  1. インストール済みか確認します:which yahoo-finance-pp-cli 見つからない場合は、インストールを提案してください(このスキルの冒頭にある前提条件を参照)。
  2. ユーザーのクエリに最適なコマンドを、上記の独自機能とコマンドリファレンスから選びます。
  3. --agent フラグを付けて実行します:
    yahoo-finance-pp-cli <command> [subcommand] [args] --agent
    
  4. 曖昧な場合は、サブコマンドのヘルプを確認してください:yahoo-finance-pp-cli <command> --help。

コメント