mcpField
G
google-finance

google-finance

github.com/gauss314データ・データベース252261 回インストール20 週間前に更新
リポジトリ

google-finance について

google-financeは、Google Financeの非公開内部RPCエンドポイントから認証なしで金融データを取得するスキル兼CLIです。多様な市場・企業データを扱い、位置依存レスポンスのリスクや厳しいレート制限も説明しており、調査や試作向けです。

主な機能

  1. 01株価と日中・履歴OHLC
  2. 02企業財務、決算、プロフィール
  3. 03アナリスト見解、ニュース、同業銘柄
  4. 04世界の指数とセクターのヒートマップ
  5. 05CLIモードとRPCカタログ
  6. 06注意事項とトラブルシューティング

活用シーン

  1. 01個人調査用に1分足データを取得
  2. 02企業間でアナリスト見解を比較
  3. 03世界の指数とセクター動向を確認
  4. 04キャッシュを使って分析を試作

インストール

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

$npx skills add https://github.com/gauss314/skills --skill google-finance

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

同梱ファイル

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

assets/
chunk_layouts.json
consent_cookies.json
rpc_ids.json
references/
COOKBOOK.md
LIMITATIONS_TROUBLESHOOTING.md
REFERENCE.md
RESPONSE_FORMAT.md
RPC_IDS.md
scripts/
fetch_gfinance.py

詳細

Google Finance — 認証不要の内部 API 経由データ

リバースエンジニアリングで発見された 内部 RPC エンドポイント batchexecute 経由で、Google Finance からデータを取得するスキルです — API キー不要、認証不要です。

quote、過去の OHLC(intraday 1-min / 5-min / daily / 6-meses)、大量の financials、earnings、個別の意見(Goldman など)を含む analyst recommendations、住所と従業員数を含む企業概要、peers、サムネイル付き news、世界の indices(Dow/S&P/NASDAQ/VIX/DAX/FTSE/Nikkei)、sectors heatmap に対応しています。


⚠️ 重大な警告 — まずお読みください

このスキルを本番環境で使用する前に、必ず references/LIMITATIONS_TROUBLESHOOTING.md をお読みください。

主な4つの警告の概要
  1. 🚨 非公式 API — Google は予告なく RPC 名の変更、レイアウトの変更、認証の追加、またはエンドポイントの停止を行う可能性があります。
  2. 🚨 キーのないレイアウト — レスポンスは位置ベースの配列です。Google がフィールドを並べ替えると、エラーが表示されないまま誤ったデータを読み取ることになります。
  3. 🚨 非常に厳しいレート制限 — 5 req/s を超えると、IP が数時間ブロックされる可能性があります。リクエスト間に ≥ 0.5s の sleep を入れることを推奨します。
  4. 🚨 継続性の保証なし — 重要なものを構築する場合は、別のプロバイダー(Yahoo Finance、TradingView、Finnhub)によるフォールバックを用意してください。
このスキルを使用しない場合
  • 重要な判断を伴う本番環境での取引(公式フィードを使用してください)。
  • ユーザーにデータを提供する公開アプリケーション。
  • 1 日あたり 10k requests を超える場合(IP が恒久的にブロックされるリスクがあります)。
  • データを自分のものとして再配布する場合(Google の利用規約に抵触します)。
このスキルを使用する場合
  • 個人的な調査やプロトタイプ。
  • ローカルキャッシュを使ったバックテスト。
  • 他のプロバイダーとのクロス比較分析。
  • Google 独自のデータが重要となるケース(無料の intraday 1-min、個別の analyst opinions の詳細)。

🚀 クイックスタート

# Quote basico
py scripts/fetch_gfinance.py quote GGAL:NASDAQ
py scripts/fetch_gfinance.py quote AAPL:NASDAQ
py scripts/fetch_gfinance.py quote GGAL:BCBA       # mercado argentino

# Intraday del dia actual
py scripts/fetch_gfinance.py intraday-5min AAPL:NASDAQ
py scripts/fetch_gfinance.py intraday-1min GGAL:NASDAQ

# Daily historico
py scripts/fetch_gfinance.py daily-6m AAPL:NASDAQ

# Indices globales (Dow, S&P, NASDAQ, VIX, DAX, FTSE, Nikkei...)
py scripts/fetch_gfinance.py indices

# Analyst recommendations + opinions individuales
py scripts/fetch_gfinance.py analysts NVDA:NASDAQ

# Todo en uno (6 requests pipelinadas)
py scripts/fetch_gfinance.py all GGAL:NASDAQ

スキルの構成

skills/google-finance/
├── SKILL.md                                # Este archivo
├── references/                             # 5 documentos
│   ├── REFERENCE.md                        # Overview general + batchexecute
│   ├── RPC_IDS.md                          # Catalogo de los 14+ RPC IDs
│   ├── RESPONSE_FORMAT.md                  # Parser deep dive del wrb.fr protocol
│   ├── LIMITATIONS_TROUBLESHOOTING.md      # ⚠️ Warnings, plan B, debugging
│   └── COOKBOOK.md                         # 25 recetas listas
├── assets/                                 # 3 archivos JSON
│   ├── rpc_ids.json                        # Catalogo estructurado de RPCs + args
│   ├── chunk_layouts.json                  # Layouts posicionales de los arrays
│   └── consent_cookies.json                # Cookies de bypass del consent
└── scripts/
    └── fetch_gfinance.py                   # Script principal — 19 modos CLI

利用可能な19種類の CLI モード

シンボル別
モードデータRPC ID
quote SYM価格 + 変動 + 通貨 + 取引時間gCvqoe
quote-full SYMQuote + 業種 + 時価総額 + 出来高dlNq8b
description SYM概要 + 住所 + 従業員数 + 比率 + URLJL8oKc
peers SYM関連銘柄(デフォルトは4件、--peers-count で変更可能)SICF5d
analysts SYM推奨の概要 + 個別の意見YTM9q
earnings SYM複数期間の earnings 履歴XxQsbd
technicals SYMテクニカル評価(TradingView Recommend.* に類似)gXxkFd
financials SYM複数期間の Income + Balance + Cashflow(約22 KB)Pr8h2e
intraday-1min SYM当日の OHLC 1-min(約30 KB)c2u4wc
intraday-5min SYM完全な OHLC を含む OHLC 5-min(約5 KB)c2u4wc
daily SYM直近1か月の日次 OHLC(約22日分)c2u4wc
daily-6m SYM過去約6か月の日次 OHLCc2u4wc
news SYMシンボル固有の newskA4MVd
news-related SYM関連シンボルを含む、クエリに関するグローバルな newskA4MVd
グローバル(シンボルなし)
モードデータRPC ID
indices世界の indices:Dow、S&P、NASDAQ、VIX、DAX、FTSE、Nikkei などhgueg
sectors株式セクターの heatmap(Health Care、Tech など)vNewwe
ローカルカタログ(HTTP 不使用)
モードデータ
rpcs引数テンプレートと説明を含む RPC ID のカタログ
layoutsネストされた配列の位置ベースのレイアウト
cookies同意画面をバイパスするための Cookie
組み合わせ
モードデータ
all SYMquote + description + analysts + financials + daily + news(6件のリクエスト)

シンボルの形式

場所形式例
米国のティッカーTICKER:NASDAQ または TICKER:NYSEAAPL:NASDAQ、JPM:NYSE
アルゼンチンの ADRTICKER:NASDAQ または TICKER:NYSEGGAL:NASDAQ、BBAR:NYSE
BCBA のティッカー(アルゼンチン国内)TICKER:BCBAGGAL:BCBA、YPFD:BCBA
ブラジル B3TICKER:BMFBOVESPAPETR4:BMFBOVESPA
スペイン BMETICKER:BMESAN:BME
ドイツ XetraTICKER:XETRSAP:XETR
指数IDX:INDEXSP/DJX/NASDAQ/CBOE.INX:INDEXSP、.DJI:INDEXDJX

スクリプトは逆順(NASDAQ:GGAL)も受け付けます — 取引所を自動検出します。 ただし、Google の標準形式は TICKER:EXCHANGE です。


このリポジトリの他のスキルとの独自の差別化ポイント

特徴Google FinanceTradingViewYahooFinnhub
認証不要✅✅✅フリーミアム
無料公開の OHLC 1 分足イントラデイデータ✅ 唯一❌(有料)⚠️ 制限あり⚠️ 有料
完全な OHLC 5 分足データ✅❌⚠️⚠️
1 回の呼び出しでグローバル指数を取得(Dow+S&P+NASDAQ+VIX+DAX+FTSE+Nikkei...)✅ 唯一⚠️ 個別に取得⚠️⚠️
アナリストの意見の個別詳細(氏名、企業、目標価格、日付)✅ 唯一⚠️ 集計のみ⚠️✅
セクターのヒートマップ✅⚠️❌❌
企業の説明(所在地住所+従業員数)✅ 唯一⚠️⚠️✅
遅延株価情報✅✅✅✅
財務情報✅(約 22 KB)✅✅✅
サムネイル付きニュース✅✅✅✅
Google Finance を TradingView より優先して使う場合
  • 無料で OHLC の 1 分足イントラデイデータが必要な場合。
  • アナリストの意見について、担当者、目標価格、日付を含む個別の詳細が必要な場合。
  • アルゼンチン企業の所在地住所が必要な場合。
  • 1 回の呼び出しでグローバル指数(Dow+S&P+NASDAQ+VIX+DAX+FTSE+Nikkei)が必要な場合。
TradingView を Google Finance より優先して使う場合
  • SQL のようなフィルターを使った大規模なスクリーナーが必要な場合。
  • シンボルの ISIN/CUSIP/CIK が必要な場合(Symbol Search v3)。
  • 事前計算済みのテクニカル指標(RSI/MACD/EMAs/ピボット)が必要な場合。
  • 安定性が必要な場合 — TV は Google Finance よりはるかに安定しています。

技術的な考慮事項

エンドポイント
POST https://www.google.com/finance/beta/_/FinHubUi/data/batchexecute?rpcids={RPC_ID}
必要なヘッダー

スクリプトで設定済みです:

HEADERS = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
    "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
    "X-Same-Domain": "1",           # CRITICO
    "Origin": "https://www.google.com",
    "Referer": "https://www.google.com/finance/...",
}
バイパス用 Cookie

スクリプトが自動的に渡します:

COOKIES = {
    "CONSENT": "PENDING+999",
    "SOCS": "CAESHAgBEhJnd3NfMjAyNTAxMjMtMF9SQzMaAmVuIAEaBgiAvLW8Bg",
}

機能しなくなった場合は、LIMITATIONS_TROUBLESHOOTING.md のセクション 6を参照して、新しい Cookie を取得してください。

レスポンス形式(wrb.fr)

レスポンスでは Google の wrb.fr プロトコル(XSSI プレフィックス+二重にシリアライズされた JSON)が使われます。スクリプトにはこれを処理する parse_wrbfr() が用意されています。 詳細は RESPONSE_FORMAT.md を参照してください。

レート制限

⚠️ 厳格です。次の設定を推奨します:

  • リクエスト間に 0.5 秒以上のスリープを入れます。
  • IP ブロックを引き起こさないよう、1 日あたり 1,000 リクエスト未満にします。
  • CI からは予防措置なしで使用しないでください(クラウド IP はブラックリストに登録されています)。
出力
  • デフォルト:stdout に JSON を出力します。
  • -o archivo.json:ファイルに保存します(UTF-8、ensure_ascii=False)。
  • -q:サイレントモード(INFO ログなし)。
  • --raw:wrb.fr 配列から抽出せず、生のレスポンスを返します。
エラー処理

スクリプトは requests.HTTPError を捕捉し、デバッグ用に本文を表示します。 エンドポイントが機能しなくなった場合は、LIMITATIONS_TROUBLESHOOTING.md を参照するよう案内します。


よくあるケース — クイックレシピ

完全なレシピ 25 件は COOKBOOK.md を参照してください。

# Quote rapido
py scripts/fetch_gfinance.py quote GGAL:NASDAQ -q

# Stock argentino BCBA
py scripts/fetch_gfinance.py quote GGAL:BCBA -q

# Indices globales del dia
py scripts/fetch_gfinance.py indices -q

# Intraday 5-min con OHLC completo
py scripts/fetch_gfinance.py intraday-5min AAPL:NASDAQ -o aapl_5min.json

# Daily ultimos 6 meses
py scripts/fetch_gfinance.py daily-6m AAPL:NASDAQ -o aapl_6m.json

# Analyst recommendations + opinions individuales
py scripts/fetch_gfinance.py analysts NVDA:NASDAQ -q

# Comparar empresa con peers
py scripts/fetch_gfinance.py peers GGAL:NASDAQ --peers-count 5 -q

# Todo-en-uno (snapshot completo)
py scripts/fetch_gfinance.py all GGAL:NASDAQ -o ggal_complete.json

全ドキュメント

ドキュメント内容
references/REFERENCE.md全般的な概要 + batchexecute の詳細
references/RPC_IDS.md14 件以上の RPC ID の引数と出力を詳しく記載したカタログ
references/RESPONSE_FORMAT.mdwrb.fr のパーサーの詳細(XSSI、二重 JSON、エッジケース)
references/LIMITATIONS_TROUBLESHOOTING.md⚠️ 警告、デバッグ、代替プロバイダーを使ったプラン B
references/COOKBOOK.mdコピー&ペーストですぐに使える 25 のレシピ
assets/rpc_ids.json引数のテンプレートと説明を含む RPC カタログ
assets/chunk_layouts.json各配列の位置レイアウト(どのインデックスがどのフィールドか)
assets/consent_cookies.json同意画面を回避するための Cookie

着想とクレジット

このスキルは、google.com/finance/beta/quote/GGAL:NASDAQ の HTML を調査し、 「Wiz」システム(Search、Maps、 Translate でも使われている)を備えた AF_initDataCallback チャンクを特定して作成されました。wrb.fr プロトコルは公開されており、コミュニティによって十分に文書化されています(Google によるものではありません)。

他の言語での類似実装:

  • google-finance-quotes(Node.js) — 同じエンドポイントを使用
  • mfinance(Python、異なるアプローチ)
  • finance.google.com をスクレイピングする複数の OSS プロジェクト

このスキルの特徴:

  1. 異なる 14 件以上の RPC ID に対応する 24 の CLI モード。
  2. 警告とプラン B を網羅したドキュメント。
  3. RPC と位置レイアウトをまとめた構造化カタログを assets に収録。
  4. すべてのエッジケースに対応する、堅牢な wrb.fr パーサー。

コメント