mcpField
T
tradingview

tradingview

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

tradingview について

TradingView の未公開 API と HTML ページから市場データを取得する Python スキルです。市場データ分析向けに、テクニカル指標、スクリーニング、検索、ニュースの CLI モードを備え、データは通常遅延しています。

主な機能

  1. 01株価と事前計算済みテクニカル指標
  2. 02財務、決算、アナリスト目標株価
  3. 03条件指定、並べ替え、ページ分割によるスクリーニング
  4. 04ISIN、CUSIP、CIK による銘柄検索
  5. 05銘柄別および全体のニュース見出し
  6. 06HTML サブページのデータ抽出

活用シーン

  1. 01銘柄のテクニカル指標を確認
  2. 02市場や条件を指定して金融商品を抽出
  3. 03識別子から証券を検索
  4. 04市場ニュースと財務データを収集

インストール

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

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

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

同梱ファイル

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

assets/
column_groups.json
markets.json
recommend_ratings.json
scanner_columns.json
references/
COOKBOOK.md
HTML_SCRAPING.md
MARKETS_EXCHANGES.md
NEWS_API.md
REFERENCE.md
SCANNER_COLUMNS.md
SCANNER_FILTERS.md
SYMBOL_SEARCH.md
scripts/
fetch_tradingview.py

詳細

TradingView — 公開 API によるマーケットデータ

TradingView からマーケットデータを抽出するプレミアムスキルです。リバースエンジニアリングで発見された非公開の内部 APIを利用します。API キーも認証も不要です。

TradingView は、世界で最も利用されているマーケットデータ+テクニカル分析+ソーシャルトレーディングのプラットフォームです(アクティブユーザー数 5,000 万人超)。このスキルで利用できる機能は次のとおりです。

  • Scanner API:約 300 のカラムを提供します。株価情報、事前計算済みテクニカル指標、ファンダメンタルズ、決算情報、アナリストの目標株価、集計済みの BUY/SELL 評価など。
  • Symbol Search v3:ISIN、CUSIP、CIK に対応しています(SEC EDGAR と結合可能)。
  • ニュース見出し:銘柄ごとに約 200 件(Dow Jones/Reuters など)。
  • prs.init-data+json の抽出に対応する、16 以上のサブページ(technicals、financials-*、forecast、options-chain、ideas など)のHTML スクレイピング。
  • フィルター+ソート+ページネーションに対応する大規模スクリーナー(約 10 万以上の金融商品)。

⚠️ 法的事項

  • TradingView は、これらの API の公式ドキュメントを公開していません。予告なく変更される可能性があります。
  • コミュニティによる約 6 年間の追跡では、変更は段階的に行われており、Scanner の構造は 2017 年以降安定しています。
  • 利用規約を遵守してください。商用で集中的に利用する場合は、公式 REST API(有料)をご契約ください。
  • データは遅延配信です(通常約 15 分)。リアルタイムデータは独自の WebSocket 経由で提供されます(ここでは実装されていません)。

🚀 クイックスタート

# Quote rapido
py scripts/fetch_tradingview.py quote NASDAQ:GGAL

# Todo-en-uno (6 requests combinadas)
py scripts/fetch_tradingview.py all NASDAQ:GGAL

# Screener masivo
py scripts/fetch_tradingview.py country Argentina --limit 30
py scripts/fetch_tradingview.py sector Finance --market america --limit 20

# News (~200 por simbolo)
py scripts/fetch_tradingview.py news NASDAQ:AAPL

# Symbol Search con ISIN/CUSIP/CIK
py scripts/fetch_tradingview.py search "Galicia"

スキルの構成

skills/tradingview/
├── SKILL.md                              # Este archivo (guia rapida)
├── references/                           # 8 documentos detallados
│   ├── REFERENCE.md                      # Overview general de la API
│   ├── SCANNER_COLUMNS.md                # Catalogo de 130+ columnas con tablas
│   ├── SCANNER_FILTERS.md                # Operaciones de filtro + queries complejos
│   ├── MARKETS_EXCHANGES.md              # Mercados validos + exchanges por pais
│   ├── NEWS_API.md                       # News API deep dive
│   ├── SYMBOL_SEARCH.md                  # Symbol Search v3 deep dive
│   ├── HTML_SCRAPING.md                  # Extraccion de prs.init-data+json
│   └── COOKBOOK.md                       # 30 recetas listas para copy-paste
├── assets/                               # 4 archivos JSON
│   ├── scanner_columns.json              # Catalogo de columnas con descripciones
│   ├── column_groups.json                # Bundles pre-armados por caso de uso
│   ├── markets.json                      # Mercados validos + cobertura
│   └── recommend_ratings.json            # Mapeo Recommend.* a STRONG_BUY/etc
└── scripts/
    └── fetch_tradingview.py              # Script principal con 24 modos CLI

利用可能なエンドポイント(HTTP エンドポイント 4 種類、CLI モード 24 種類)

Scanner API(エンドポイント 1 種類、CLI モード 14 種類)

POST https://scanner.tradingview.com/{market}/scan

モードカラムバンドル説明
quote SYMquote_basic(14 カラム)基本的な株価情報
quote-extended SYMquote_extended(30 カラム)株価情報+指標+バリュエーション
technicals SYMtechnicals(36 カラム)RSI、MACD、EMA、SMA、評価
pivots SYMpivots(17 カラム)月次ピボット(5 種類の手法)
financials SYMfinancials(35 カラム)貸借対照表+損益計算書+キャッシュフロー+各種比率
earnings SYMearnings(12 カラム)過去の決算+予測
targets SYMtargets(10 カラム)目標株価+アナリストの推奨
performance SYMperformance(18 カラム)リターン(W/1M/3M/6M/Y/YTD/5Y/All)+ボラティリティ+ベータ
dividends SYMdividends(8 カラム)利回り+DPS+配当性向+成長率
ownership SYMownership(10 カラム)浮動株+機関投資家+インサイダー+空売り
screencustomフィルター+ソート+ページネーションに対応する汎用スクリーナー
country COUNTRYquote_basic国別の株式
sector SECTORquote_basicセクター別の株式
market MARKETquote_basic市場全体の一覧
Symbol Search v3(エンドポイント 1 種類、モード 1 種類)

GET https://symbol-search.tradingview.com/symbol_search/v3/

モード説明
search QUERYISIN、CUSIP、CIK、logoid、取引所に対応するグローバル検索
News API(エンドポイント 1 種類、モード 3 種類)

GET https://news-headlines.tradingview.com/v2/headlines

モード説明
news SYM銘柄のニュース見出し(最大 200 件)
news-global市場全体のニュース見出し(最大 200 件)
story STORY_PATHニュース記事の詳細/本文(HTML スクレイピング)
HTML スクレイピング(エンドポイント 1 種類、モード 1 種類)

GET https://es.tradingview.com/symbols/{EX}-{SYM}/{path}/

モード説明
subpage SYM PATHHTML を取得し、prs.init-data+json ブロックを抽出します
ローカルカタログ(モード 3 種類)
モード説明
columns [GROUP]カラム一覧(すべて、または特定のグループ)
groups事前定義済みのバンドル一覧
markets有効な市場の一覧
統合モード(モード 1 種類)
モード説明
all SYM6 つのリクエスト(quote_extended+technicals+financials+earnings+targets+news)を統合します

クイック使用例 — カテゴリ別

クオートとテクニカル
py scripts/fetch_tradingview.py quote NASDAQ:GGAL                  # 14 cols
py scripts/fetch_tradingview.py quote-extended NASDAQ:AAPL         # 30 cols
py scripts/fetch_tradingview.py technicals NASDAQ:GGAL             # 36 cols
py scripts/fetch_tradingview.py pivots NASDAQ:AAPL                 # 17 cols
py scripts/fetch_tradingview.py performance NYSE:JPM               # returns W/1M/3M/6M/Y/YTD/5Y/All
財務情報
py scripts/fetch_tradingview.py financials NASDAQ:AAPL             # balance + income + cashflow + ratios
py scripts/fetch_tradingview.py earnings NASDAQ:GGAL               # past + forecast
py scripts/fetch_tradingview.py targets NASDAQ:NVDA                # analyst targets + recos
py scripts/fetch_tradingview.py dividends NYSE:KO                  # yield + DPS + payout
py scripts/fetch_tradingview.py ownership NASDAQ:NVDA              # float + inst + insiders + short
スクリーニング
# Filtros arbitrarios — pasar JSON con la sintaxis del Scanner
py scripts/fetch_tradingview.py screen \
  --filter '[["sector","equal","Finance"],["market_cap_basic","greater",100000000000]]' \
  --sort market_cap_basic:desc --limit 10

# Atajos
py scripts/fetch_tradingview.py country Argentina --limit 30
py scripts/fetch_tradingview.py sector Finance --market america --limit 20
py scripts/fetch_tradingview.py market crypto --limit 20
シンボル検索
py scripts/fetch_tradingview.py search "GGAL"                                       # auto type
py scripts/fetch_tradingview.py search "Apple" --type stocks --exchange NASDAQ
py scripts/fetch_tradingview.py search "BTC" --type crypto
py scripts/fetch_tradingview.py search "US3999091008"                                # por ISIN
ニュース
py scripts/fetch_tradingview.py news NASDAQ:AAPL                   # hasta 200 items
py scripts/fetch_tradingview.py news-global                        # global headlines
py scripts/fetch_tradingview.py story "/news/DJN_DN20260604009289:0/"  # body de noticia
HTML スクレイピング
py scripts/fetch_tradingview.py subpage NASDAQ:GGAL technicals     # subpage HTML
py scripts/fetch_tradingview.py subpage NASDAQ:GGAL financials-income-statement
py scripts/fetch_tradingview.py subpage NASDAQ:GGAL options-chain
py scripts/fetch_tradingview.py subpage NASDAQ:GGAL forecast
カタログ
py scripts/fetch_tradingview.py columns                            # todas las columnas
py scripts/fetch_tradingview.py columns technicals                 # un grupo
py scripts/fetch_tradingview.py groups                             # todos los bundles
py scripts/fetch_tradingview.py markets                            # mercados validos
組み合わせ
py scripts/fetch_tradingview.py all NASDAQ:GGAL                    # 6 requests en 1
py scripts/fetch_tradingview.py all NASDAQ:GGAL -o ggal_full.json  # guarda a archivo
カスタム列
py scripts/fetch_tradingview.py quote NASDAQ:GGAL \
  --columns "name,close,RSI,MACD.macd,Recommend.All,price_target_average"
出力/サイレント
py scripts/fetch_tradingview.py quote NASDAQ:GGAL -o ggal_quote.json   # archivo
py scripts/fetch_tradingview.py quote NASDAQ:GGAL -q                    # silencioso

シンボル形式

場所形式例
Scanner / News / Search(JSON API){EXCHANGE}:{TICKER}NASDAQ:GGAL、BCBA:YPF、BINANCE:BTCUSDT
HTML サブページ{EXCHANGE}-{TICKER}NASDAQ-GGAL(URL 内)

自動変換:スクリプトは HTML URL を組み立てる際に : → - に変換します。


対応市場

Market対象範囲ティッカーの例
globalすべての市場(100k 以上)任意の EX:TKR
america米国:NYSE、NASDAQ、AMEX、OTC(15k 以上)NASDAQ:AAPL
argentinaBCBA / BYMA(300 以上)BCBA:GGAL
brazilB3 / Bovespa(500 以上)BMFBOVESPA:PETR4
spainBME(200 以上)BME:SAN
italyBorsa Italiana(400 以上)MIL:ENI
germanyXetra / FWB(1k 以上)XETR:SAP
ukLSE(2k 以上)LSE:HSBA
franceEuronext Paris(800 以上)EURONEXT:MC
russiaMOEX(200 以上)MOEX:SBER
crypto暗号資産(50k 以上)BINANCE:BTCUSDT
forex外国為替ペア(1k 以上)FX:EURUSD
bondsグローバル債券(TVC)TVC:US10Y

詳細は references/MARKETS_EXCHANGES.md をご覧ください。


金融商品タイプ(type field)

タイプ説明
stock普通株
dr預託証券(米国の ADR、BCBA の CEDEAR、BMFBOVESPA の BDR)
etf上場投資信託
fund投資信託
structuredストラクチャード商品
bond債券
crypto暗号資産
forex通貨ペア
index指数
future先物
optionオプション

BUY/SELL レーティング(Recommend.*)

TradingView は、インジケーターに基づいて 3 つの集計レーティングを計算します。

フィールド計算対象
Recommend.Allすべてのインジケーター(移動平均線+オシレーター)
Recommend.MA移動平均線のみ(SMA/EMA 10..200、VWMA、Ichimoku、HullMA)
Recommend.Otherオシレーターのみ(RSI、Stoch、MACD、ADX、CCI、BBP、UO、W%R、AO)

値は [-1.0, +1.0] です。バケットへの対応は次のとおりです。

範囲バケットUI ラベル
-1.00 ~ -0.50STRONG_SELL強い売り
-0.50 ~ -0.10SELL売り
-0.10 ~ +0.10NEUTRAL中立
+0.10 ~ +0.50BUY買い
+0.50 ~ +1.00STRONG_BUY強い買い

スクリプトには、値を直接変換する recommend_label(value) があります。 アセットは assets/recommend_ratings.json にあります。


主なフラグ

フラグ説明
--market XScanner の市場(デフォルト:global)
--columns "a,b,c"カスタム列(モードのバンドルを上書き)
--filter '[...]'screen 用の JSON フィルター(SCANNER_FILTERS.md を参照)
--sort field:order並べ替え(例:market_cap_basic:desc)
--limit N結果の上限(デフォルト:30)
--offset Nページネーションのオフセット(デフォルト:0)
--type Xsearch の search_type(stocks、crypto、forex など)
--exchange Xsearch の取引所フィルター
--lang Xnews/search の言語(デフォルト:en)
-o archivo出力をファイルに保存(JSON または Markdown)
-q / --quietサイレントモード(INFO ログなし)

リポジトリ内の他のスキルとの差別化

機能TradingViewYahoo FinanceFinnhubInvesting.comMorningstar
APIキー不要の公開API✅✅フリーミアム✅✅
リアルタイム株価⚠️ 遅延あり⚠️ 遅延あり✅⚠️ 遅延あり❌
テクニカル指標の事前計算(約30種類以上)✅ 唯一❌❌❌❌
BUY/SELLの集計評価✅ 唯一❌⚠️⚠️❌
ピボット S/R(5種類の手法)✅ 唯一❌❌❌❌
財務情報✅✅✅✅⚠️
アナリストの目標株価✅⚠️✅✅❌
検索でのISIN/CUSIP/CIK対応✅ 唯一❌⚠️❌❌
複数国対応のスクリーナー✅(約10万件以上)⚠️⚠️⚠️✅
ニュース✅(200件)✅✅✅❌
暗号資産のカバレッジ✅(5万件以上)⚠️⚠️✅❌

TradingViewの独自の利点:

  1. サーバー側で事前計算されたテクニカル指標(RSI、MACD、EMA、評価)— クライアント側で計算する必要はありません。
  2. 5種類の手法による月次ピボット(クラシック、フィボナッチ、カマリラ、ウッディ、デマーク)。
  3. ISIN/CUSIP/CIKに対応した銘柄検索 — SEC EDGARと直接結合できます。
  4. SQLのようなフィルターに対応した大規模スクリーナーで、1回のリクエストで10万件以上の金融商品を検索できます。

TradingViewを使わないほうがよい場合:

  • 米国外の小型株のニュース → Yahoo Financeのほうが適しています。
  • ティック単位のリアルタイムデータ → WebSocketが必要です(未実装)。
  • 長期間のOHLCV履歴データ → 公開REST APIでは提供されていません。Alpha VantageまたはYahoo Financeを使用してください。
  • 複数期間のファンダメンタルズデータ(5年分の損益計算書など) → 米国株にはSEC EDGAR、グローバルなカバレッジにはsimplywallstが適しています。

技術上の考慮事項

認証不要

どのエンドポイントもAPIキー、トークン、Cookie、セッションIDを必要としません。ヘッドレススクリプト、CI/CD、Dockerなどから利用できます。

推奨ヘッダー

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

HEADERS = {
    "User-Agent": "Mozilla/5.0 ...",
    "Accept": "*/*",
    "Accept-Language": "es-AR,es;q=0.9,en;q=0.8",
    "Origin": "https://es.tradingview.com",
    "Referer": "https://es.tradingview.com/",
}
レート制限

ドキュメントには記載されていません。確認できた値:

  • スキャナー:約5 req/sに対応。
  • ニュース:約3 req/s。
  • 銘柄検索:約5 req/s。
  • HTMLサブページ:約1 req/s(CloudFlare WAF)。

推奨:リクエスト間にtime.sleep(0.3)を入れてください。allモードでは自動的に適用されます。

エンコーディング

UTF-8に対応しています。Windowsのコンソール(cp1252)では、特殊文字が?と表示される場合があります。スクリプトは起動時にsys.stdoutをUTF-8に自動で再設定します。

エラー処理
ステータス典型的な原因
200OK。ScannerではtotalCount > 0を確認してください。
400無効なペイロード(不明な列、不正な形式のfilter、bodyがnull)
403存在しないパス、または不足しているヘッダー
404存在しないHTMLサブページ(例:/news/)
405メソッドの誤り(例:/v3/headlinesはGETに対応していません。v2のみ)
既知の制限事項
  1. REST経由の過去のOHLCVデータを取得するエンドポイントはありません:Scannerで取得できるのはPerf.*リターンのみです。長期間の履歴データには、ほかのスキルを使用してください。
  2. ニュースのカバレッジにばらつきがあります:米国の大型株は200件、小型株は1~5件です。
  3. ニュースのlang=es:ほぼ空です。デフォルトのlang=enを使用してください。
  4. WebSocketによるリアルタイム通信は未実装です(wss://data.tradingview.com)。
  5. アルゼンチン市場:アルゼンチンではBCBA:GGAL、米国ではNASDAQ:GGALを使用してください。両者は互換性がありません。
商用利用に関する注意
  • APIは非公開の仕様であり、変更される可能性があります。
  • 過度な利用は避け、妥当なレート制限を守ってください。
  • 商用で集中的に利用する場合は、TradingView公式のREST API(有料)を契約してください。

ドキュメント全文

ドキュメント内容
references/REFERENCE.md4 つの HTTP エンドポイントの全体概要+アーキテクチャ
references/SCANNER_COLUMNS.mdテーブル付きの 130 以上の列の完全な一覧
references/SCANNER_FILTERS.mdフィルター操作+複雑なクエリ+例
references/MARKETS_EXCHANGES.md有効な市場+国別取引所+ティッカーの形式
references/NEWS_API.mdNews API 詳細解説:プロバイダー、スキーマ、ストーリー詳細
references/SYMBOL_SEARCH.mdSymbol Search v3 詳細解説:ISIN/CUSIP/CIK
references/HTML_SCRAPING.mdprs.init-data+json の抽出+スクレイピングが必要なケース
references/COOKBOOK.mdコピー&ペーストですぐ使える 30 のレシピ
assets/scanner_columns.json説明付き列カタログ
assets/column_groups.jsonユースケース別に事前構成されたバンドル
assets/markets.json有効な市場+カバレッジ
assets/recommend_ratings.jsonRecommend.* からバケットへのマッピング

注目のユースケース

references/COOKBOOK.md に 30 の完全なレシピがあります。

# Top 10 acciones US por market cap
py scripts/fetch_tradingview.py screen \
  --filter '[["country","equal","United States"],["type","equal","stock"]]' \
  --sort market_cap_basic:desc --limit 10

# Stocks oversold con high dividend
py scripts/fetch_tradingview.py screen \
  --filter '[["RSI","less",30],["dividend_yield_recent","greater",5]]' \
  --sort dividend_yield_recent:desc --limit 20

# Empresas argentinas en cualquier mercado
py scripts/fetch_tradingview.py country Argentina --limit 30

# Pipeline: search → quote → news
py scripts/fetch_tradingview.py search "Apple" -q | jq -r '.symbols[0].symbol'
py scripts/fetch_tradingview.py quote NASDAQ:AAPL
py scripts/fetch_tradingview.py news NASDAQ:AAPL

# Joinear con SEC EDGAR via CIK
py scripts/fetch_tradingview.py search "GGAL" -q | jq -r '.symbols[0].cik_code'
# -> 0001114700  (usar este CIK en sec-data skill)

コメント