mcpField
T
tvscreener

tvscreener

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

tvscreener について

tvscreener は、スクリプトや Python で市場データを取得するためのスキルです。市場、フィールド、条件を指定した検索に対応し、単一銘柄のテクニカル指標スナップショットも取得できます。

主な機能

  1. 01市場と銘柄コードで検索
  2. 02フィールドと条件の指定
  3. 03テクニカル指標フィールド
  4. 04単一銘柄の検索スクリプト
  5. 05ネイティブ Python API の利用

活用シーン

  1. 01銘柄ごとのテクニカル指標の取得
  2. 02条件に合う市場銘柄の絞り込み
  3. 03カスタムフィールドで市場データを検索

インストール

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

$npx skills add https://github.com/ninehills/skills --skill tvscreener

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

同梱ファイル

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

references/
README_USAGE.md
references/api/
enums.md
fields.md
filters.md
screeners.md
scripts/
custom_query.py
discover_fields.py
query_symbol.py
run_query.sh
test_markets.sh

詳細

tvscreener

まずシンプルなスクリプトを使い、必要に応じてネイティブ Python を使って市場に関するクエリを実行する場合に、このスキルを使用します。

インストール

python3 -m pip install -U tvscreener

Python は >=3.10 である必要があります。

クイックコマンド(スキルのルートから実行)

お好みの環境(venv/pyenv/システム Python)で Python 3.10 以降を使用してください。

# Preset single-symbol output (recommended)
python3 scripts/query_symbol.py --symbol HKEX:700 --market HONGKONG

# Custom query (fields + filters)
bash scripts/run_query.sh \
  --market CHINA \
  --symbol SHSE:600519 \
  --fields 'NAME,PRICE,CHANGE_PERCENT,VOLUME,RELATIVE_STRENGTH_INDEX_14,MACD_LEVEL_12_26,MACD_SIGNAL_12_26,MACD_HIST,SIMPLE_MOVING_AVERAGE_20,SIMPLE_MOVING_AVERAGE_50,SIMPLE_MOVING_AVERAGE_200,EXPONENTIAL_MOVING_AVERAGE_20,EXPONENTIAL_MOVING_AVERAGE_50,EXPONENTIAL_MOVING_AVERAGE_200,BOLLINGER_UPPER_BAND_20,BOLLINGER_LOWER_BAND_20,STOCHASTIC_PERCENTK_14_3_3,STOCHASTIC_PERCENTD_14_3_3,AVERAGE_TRUE_RANGE_14,MOVING_AVERAGES_RATING' \
  --filter 'NAME=600519'

# Field discovery
python3 scripts/discover_fields.py --keyword macd --limit 20
シェルでの引用符に関する注意
  • --fields と --filter はシングルクォートで囲んでください。
  • FIELD|60 のような間隔構文を使う場合は、シェルによるパイプの解析を避けるため、引用符が必須です。

クエリのルール

  • 基本のテクニカル指標セット(推奨):PRICE、CHANGE_PERCENT、VOLUME、RELATIVE_STRENGTH_INDEX_14、MACD_LEVEL_12_26、MACD_SIGNAL_12_26、MACD_HIST、SIMPLE_MOVING_AVERAGE_20/50/200、EXPONENTIAL_MOVING_AVERAGE_20/50/200、BOLLINGER_UPPER_BAND_20、BOLLINGER_LOWER_BAND_20、STOCHASTIC_PERCENTK_14_3_3、STOCHASTIC_PERCENTD_14_3_3、AVERAGE_TRUE_RANGE_14、MOVING_AVERAGES_RATING
  • 間隔フィールドの構文:FIELD|60 / FIELD|240(例:RELATIVE_STRENGTH_INDEX_14|60)
    • 現在の注意点:一部の tvscreener のバージョンでは、scripts/custom_query.py で間隔フィールドを使うと FieldWithInterval 属性エラーが発生することがあります。
    • 回避策:間隔フィールドを使わずに実行するか、安定した単一銘柄のテクニカルスナップショットには scripts/query_symbol.py を使用してください。
  • フィルター:=、!=、>、<、>=、<=

トラブルシューティング

  • ImportError: cannot import name 'Market' from 'tvscreener'
    • 通常、Python/site-packages の不一致、または複数の Python 環境が原因です。
    • 対処法:コマンドの実行とインストールで同じ Python(3.10 以降)を使っていることを確認してから、再インストールしてください。
      • python3 -m pip install -U tvscreener
  • zsh: command not found: 60,...
    • 原因:引用符で囲まれていない FIELD|60 がシェルによってパイプとして解釈されています。
    • 対処法:--fields の文字列全体をシングルクォートで囲んでください。

参考資料

  • ワークフローとパターン:references/README_USAGE.md
  • API の詳細:
    • references/api/screeners.md
    • references/api/fields.md
    • references/api/filters.md
    • references/api/enums.md

スクリプトでは不十分な場合は、参考資料を読み、tvscreener のネイティブ API を使って Python を直接記述してください。

回帰テスト

bash scripts/test_markets.sh

Tencent(HK)、Moutai(A)、A株ETF(510300)、BIDU(US)を対象とします。

コメント