tvscreener について
tvscreener は、スクリプトや Python で市場データを取得するためのスキルです。市場、フィールド、条件を指定した検索に対応し、単一銘柄のテクニカル指標スナップショットも取得できます。
主な機能
- 01市場と銘柄コードで検索
- 02フィールドと条件の指定
- 03テクニカル指標フィールド
- 04単一銘柄の検索スクリプト
- 05ネイティブ Python API の利用
活用シーン
- 01銘柄ごとのテクニカル指標の取得
- 02条件に合う市場銘柄の絞り込み
- 03カスタムフィールドで市場データを検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ninehills/ skills --skill tvscreenerインストール後、Claude Code で/tvscreenerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/README_USAGE.mdreferences/api/enums.mdfields.mdfilters.mdscreeners.mdscripts/custom_query.pydiscover_fields.pyquery_symbol.pyrun_query.shtest_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を使用してください。
- 現在の注意点:一部の tvscreener のバージョンでは、
- フィルター:
=、!=、>、<、>=、<=
トラブルシューティング
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.mdreferences/api/fields.mdreferences/api/filters.mdreferences/api/enums.md
スクリプトでは不十分な場合は、参考資料を読み、tvscreener のネイティブ API を使って Python を直接記述してください。
回帰テスト
bash scripts/test_markets.sh
Tencent(HK)、Moutai(A)、A株ETF(510300)、BIDU(US)を対象とします。
コメント
Markdown 対応