mcpField
T
tushare

tushare

github.com/waditu-tushareデータ・データベース4566.2k 回インストール16 週間前に更新
リポジトリ

tushare について

tushareは、自然言語による金融調査の依頼をTushareのデータ取得ワークフローに変換するスキルです。相場、財務、資金フロー、マクロデータの調査・比較・出力に使え、権限やデータ品質、集計条件の確認も行います。

主な機能

  1. 01調査意図に応じたAPI選択
  2. 02相場・財務・マクロデータに対応
  3. 03銘柄の比較とスクリーニング
  4. 04CSVまたはparquetへの出力
  5. 05データ品質の確認と制約の説明

活用シーン

  1. 01株価推移や財務動向の確認
  2. 02企業の評価指標や業績の比較
  3. 03セクター、資金フロー、公告の調査
  4. 04後続分析向けデータの出力

インストール

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

$npx skills add https://github.com/waditu-tushare/skills --skill tushare

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

同梱ファイル

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

references/
数据接口.md
scripts/
fund_data_demo.py
stock_data_demo.py

詳細

tushare

自然言語による金融データのリクエストを、実行可能な Tushare データワークフローに変換します。

自然言語で金融データを調査するためのスキルです。

このスキルの用途

このスキルがよく使われる場面:

  • ある銘柄、指数、ETF の最近の動きを確認する
  • 企業の基本情報、バリュエーション、財務の推移を調べる
  • 複数の銘柄を横並びで比較する
  • 資金フロー、北向資金、龍虎榜、セクターの強弱を確認する
  • 公告、ニュース、調査レポート、政策の手掛かりを整理する
  • CPI/PPI/PMI/社会融資総量/金利などのマクロデータを確認する
  • CSV/parquet にエクスポートして、後続の分析やバックテストに使う
  • 生のフィールド一覧を出力するだけでなく、簡潔な調査サマリーを生成する

まずユーザーが解決したい課題を理解し、その後でインターフェースを選び、データを取得・整理・解釈して、成果を提供します。


使用する場面

ユーザーが以下の意図を示したときは、優先的にこのスキルを使用します。

相場/トレンド
  • XX の最近の状況を見て
  • XX はこの期間にどのくらい上がったか
  • 年初来のパフォーマンスはどうか
  • 最近、出来高が増えているか
  • この銘柄は最近強いか
財務/バリュエーション/企業の質
  • XX の決算を見て
  • 直近数四半期の利益の推移
  • 財務の質はどうか
  • キャッシュフローは健全か
  • 現在のバリュエーションは高いか
  • PE/PB/ROE/粗利益率を見て
比較/ランキング/スクリーニング
  • XX と YY ではどちらが強いか
  • 横並びで比較して
  • 利益の成長が速い企業はどれか
  • 高 ROE・低負債の企業をスクリーニングして
  • 上位 10 社をランキングして
セクター/指数/テーマ
  • 最近、最も強いセクターはどれか
  • 半導体の最近の状況はどうか
  • ロボット関連株はなぜ上がっているのか
  • 指数の構成銘柄は何か
  • 今、最も注目されているテーマはどれか
資金フロー/センチメント
  • 最近、資金は何を買っているか
  • 北向資金は最近どこに流れているか
  • 最も資金を集めているセクターはどれか
  • 主力資金の流入が最も多い銘柄はどれか
  • 龍虎榜で注目すべき点は何か
公告/ニュース/調査レポート/政策
  • 最近、どんな公告があったか
  • XX の公告を整理して
  • 最近、何か材料はあったか
  • 最近のニュースはどうか
  • 最近、重要な政策はあったか
マクロ/クロスマーケット
  • 最近のマクロ環境はどうか
  • CPI/PMI を最近どう見ればよいか
  • 現在の市場のスタイルはどのようなものか
  • 大型株市場の地合いは強気か弱気か
  • 香港株/米国株/米国債の最近の状況はどうか
データエクスポート/調査準備
  • 相場データをエクスポートして
  • 直近 2 年分の日足データを CSV にまとめて
  • バックテスト可能なデータテーブルを生成して
  • 後続の分析用に調査テーブルを作成して

このスキルの対象外

このスキルは、以下には適していません。

  • 売買を直接推奨したり、投資アドバイザーの代わりを務めたりすること
  • 自動で注文を出したり、取引を実行したりすること
  • ミリ秒単位のリアルタイム取引判断が必要な場面
  • 複雑なバックテストエンジンやポートフォリオ最適化システム自体の実装(それは別のプロジェクトです)
  • Tushare の権限やポイントがない状態で、データを無理に捏造すること

データへのアクセス権限が不十分な場合、インターフェースが利用できない場合、または期間設定が不適切な場合は、制約を明確に伝え、決して内容をでっち上げないでください。


自然言語によるトリガーガイド

ユーザーが tushare、financials、macro などの用語をまったく使っていなくても、意図が以下の内容に当てはまる場合は、このスキルを起動してください。

よくある口語表現によるトリガー
  • この株の最近の状況を見て
  • XX を手早く調べて
  • 前に話したあの銘柄は今どうなっているか
  • 決算を見て
  • 最近、最も強いセクターはどれか
  • 北向資金は最近何を買っているか
  • 何か材料はあったか
  • この企業は重点的に調べる価値があるか
  • データを取得して
  • CSV にエクスポートして
  • 銘柄をいくつかスクリーニングして
  • この企業をいくつか比較して
中国語の自然言語を優先する原則

ユーザーが自然な言葉で話している場合は、まずタスクの内容を理解し、インターフェース名やフィールド名にすぐ置き換えないでください。 以下のように解釈することを優先します。

  • 「最近」は妥当な期間として解釈する
  • 「決算」は直近 8 四半期/直近年度として解釈する
  • 「強いか」は値動き+相対的な強さ+活発度として解釈する
  • 「資金の注目」は純流入、活発な取引、龍虎榜/北向資金など、利用可能な指標として解釈する

複数の妥当な解釈がある場合は、必要最小限の確認を行います。


環境の確認

実際にデータをリクエストする前に、以下を事前確認します。

  1. Python が使用可能か確認し、バージョン要件が 3.7 以上であることを確認する
  2. tushare パッケージがインストール済みか確認する
  3. TUSHARE_TOKEN が設定されているか確認する
  4. 必要に応じて、取引カレンダーや基本インターフェースなどで軽量なスモークテストを行う
  5. ユーザーが高い権限を必要とするインターフェースをリクエストした場合は、ポイントや権限の制限がある可能性を事前に伝える

トークンが設定されていない場合は、以下のような最短の修正方法を直接提示します。

export TUSHARE_TOKEN=your_token

メインのクエリが失敗するまで、環境の問題を伝えるのを待たないでください。


意図の分類

まずタスクの種類を特定し、その後でインターフェースの組み合わせを決めます。

1. 相場/トレンド

よくある質問:

  • 最近の値動きはどうか
  • 年初来でどのくらい上がったか
  • 最近、ボラティリティは大きいか
  • 最近、出来高が増えているか

よく使うインターフェース:

  • daily
  • pro_bar
  • weekly
  • monthly
  • stk_mins
  • rt_k / rt_min(リアルタイムの指標が必要で、権限もある場合)
  • daily_basic
2. 基本情報/銘柄の特定

よくある質問:

  • これはどんな企業/指数/ファンドか
  • 創業板か/ST か/上場日はいつか

よく使うインターフェース:

  • stock_basic
  • fund_basic
  • index_basic
  • stock_company
  • stock_st / st
3. 財務/企業の質

よくある質問:

  • 直近数四半期の利益の推移
  • 直近数四半期の売上高と純利益の推移
  • 財務の質はどうか
  • ROE/粗利益率/キャッシュフローはどうか

よく使うインターフェース:

  • income(売上高/純利益の推移を優先)
  • fina_indicator(ROE/粗利益率/純利益率など、質を示す指標を補足)
  • balancesheet
  • cashflow
  • forecast
  • express
  • disclosure_date
4. バリュエーション/ファンダメンタルズ指標

よくある質問:

  • 現在のバリュエーションは高いか
  • どちらのほうが割安か
  • PE/PB/配当利回りはどうか

よく使うインターフェース:

  • daily_basic
  • fina_indicator
5. 資金フロー/市場動向

よくある質問:

  • 北向資金は最近何を買っているか
  • 主力資金の流れ
  • 龍虎榜の状況

よく使うインターフェース:

  • moneyflow
  • moneyflow_hsgt
  • hsgt_top10
  • top_list
  • top_inst
  • moneyflow_ind_dc
  • moneyflow_mkt_dc
6. セクター/指数/テーマ

よくある質問:

  • 最近、最も強いセクターはどれか
  • 業種のローテーションはどうか
  • あるセクターの構成銘柄は何か

よく使うインターフェース:

  • index_basic
  • index_daily
  • index_classify
  • index_member_all
  • sw_daily
  • ths_index
  • ths_member
  • dc_index
  • dc_member
7. ストップ高狙い/センチメント/活発度

よくある質問:

  • 今日のストップ高銘柄の連鎖状況
  • 連続ストップ高の構造
  • ストップ高に届かなかった銘柄の割合/センチメントの強弱

よく使うインターフェース:

  • limit_list_d
  • limit_step
  • kpl_list
  • dc_hot
  • ths_hot
8. 公告/ニュース/調査レポート/政策

よくある質問:

  • 最近、公告や材料はあったか
  • 最近、どんな調査レポートがあったか
  • 最近、政策面で何が起きたか

よく使うインターフェース:

  • anns_d
  • news
  • major_news
  • research_report
  • npr
  • irm_qa_sh
  • irm_qa_sz
9. マクロ/クロスマーケット

よくある質問:

  • CPI/PMI/社会融資総量/M2
  • 金利と利回り曲線
  • 香港株/米国株/米国債のデータ

よく使うインターフェース:

  • cn_cpi
  • cn_ppi
  • cn_pmi
  • cn_gdp
  • cn_m
  • sf_month
  • shibor
  • shibor_lpr
  • us_tycr
  • us_daily
  • hk_daily
  • index_global
10. エクスポート/調査準備

よくある質問:

  • ある銘柄の一定期間の相場データをエクスポートする
  • バックテスト用のデータテーブルを生成する
  • CSV/parquet を出力する

よく使うインターフェース:

  • 上流タスクに応じて選択します。重要なのは、出力ルールと命名規則を統一することです

対象の特定ルール

銘柄の特定
  • 株式名、株式コード、指数名、ETF 名、ファンド名を優先して特定する
  • 中国語の略称は、まず標準的な対象への一致を試みる
  • 同名の対象がある、または複数の候補がある場合は、候補を提示して必要最小限の確認を行う
  • 証券コードは、600519.SH、000001.SZ のような標準形式に統一する
市場の特定
  • ユーザーが香港株/米国株/ファンド/債券/先物を明示していない限り、まず A 株として解釈する
  • 指数、ETF、個別株はそれぞれ別に判断し、インターフェースを混同しない
時間のデフォルト値

ユーザーが時間範囲を明示していない場合は、適切なデフォルト値を使用します。

  • 「最近の動向」→ デフォルトで直近20取引日
  • 「この期間/最近の一定期間」→ デフォルトで直近3か月
  • 「決算/業績」→ デフォルトで直近8四半期+直近年度
  • 「資金フローは最近どうか」→ デフォルトで直近5~20取引日。タスクの粒度に応じて調整します
  • 「マクロは最近どうか」→ デフォルトで直近6~12期を確認します
セクター分類のデフォルト値

ユーザーが「セクター/業種/テーマ」のみを指定し、分類体系を指定していない場合:

  • 業種には、申万/中信など、比較的安定した分類を優先します
  • テーマには、同花順/東方財富などのテーマ分類を優先します
  • 結論が具体的な分類基準の違いに左右される場合は、使用した分類を明記します

入力の正規化ルール

データをリクエストする前に、まず正規化します。

  • 日付は YYYYMMDD に統一します
  • start_date <= end_date であることを確認します
  • ユーザーが未来の日付を入力した場合は、利用可能な最新日まで自動的に切り詰め、その旨を伝えます
  • コードだけの入力(例:000001)を安易に推測しません。補完できる場合は補完ルールを説明し、できない場合は確認します
  • trade_date と start_date/end_date が同時に指定されているなど、パラメーターが競合する場合は、先に判断し、無造作にそのまま渡さないでください

データ取得ルール

ドキュメントを先に確認

リクエストコードを書く前に、次の点を確認します。

  • インターフェース名が正しいか
  • 必須パラメーター
  • オプションパラメーター
  • 戻り値のフィールド
  • ポイント/頻度制限

記憶だけを頼りにフィールド名を記述しないでください。

フィールドの確認

fields パラメーターには、既知のフィールドのホワイトリスト、またはインターフェースドキュメントで確認したものを優先して使用します。 ユーザーが要求したフィールドが存在しない場合は、無作為に検索せず、その旨を明確に伝えます。

デフォルトで分割取得

長期間のデータを一度にすべて取得しないでください。 次のように分割することを推奨します。

  • 日足/週足/月足:年または四半期ごとに分割
  • 決算:年/報告期間ごとに分割
  • 分足データ:月/週ごとに分割
  • 大量の複数銘柄データ:銘柄ごとにバッチ処理し、さらに日付範囲を分割
リトライとレート制限
  • 一時的なエラー(ネットワークの不安定、タイムアウト、429)のみ、回数を限定してリトライします
  • パラメーターエラー、権限不足、フィールドエラーは、むやみにリトライしません
  • バッチ取得時は間隔を設け、高頻度のリクエストで制限に抵触しないようにします
分割データの統合

分割して取得した後は、次の処理を行います。

  • 統合
  • 重複排除
  • 主キーでソート
  • 失敗した分割を記録
  • 一部のみ成功した場合は、失敗した分割をユーザーに明確に伝えます

出力の契約

ユーザーが生のテーブルのみを明示的に求めている場合を除き、次の構成を優先します。

  1. 一文での結論
  2. データ範囲と分類基準
  3. 主要指標/主要テーブル
  4. 異常点/リスク/解釈上の制約
  5. ローカルに出力した場合は、ファイルパス
結果の提供形式

タスクの複雑さに応じて選択します。

  • 小規模な結果:Markdown の要約+簡潔な表
  • 中規模のデータテーブル:CSV
  • 大規模データ/後続の分析用:Parquet
  • 再利用可能なプロセスが必要な場合:Python スクリプトを添付
  • 可視化が必要な場合:グラフを PNG で出力するか、作成可能なグラフを説明
メタ情報

データファイルを生成する際は、できるだけ次の情報も記録します。

  • インターフェース名
  • リクエストパラメーター
  • 取得日時
  • データ行数
  • フィールド一覧
  • 失敗した分割/欠損の有無

ワークフローテンプレート

以下のテンプレートは、この skill の中核です。 インターフェースから考え始めるのではなく、タスクテンプレートから考えてください。

1. 単一銘柄の相場分析

用途:

  • XX の最近の状況を見て
  • この銘柄は最近強い?
  • 年初来のパフォーマンスは?

デフォルトの手順:

  1. 銘柄を特定します
  2. 時間範囲を決定します
  3. 相場データと必要な基本指標を取得します
  4. 期間中の騰落、取引の活発度、高値・安値、変動を要約します
  5. 一文での結論と主要数値を出力します
2. 複数銘柄の比較

用途:

  • XX と YY はどちらが強い?
  • この会社群を比較して

デフォルトの手順:

  1. 対象を確定します
  2. 時間の基準を統一します
  3. 主要指標を3~5個選びます
  4. 比較表を出力します
  5. 「どの点でどちらが優れているか」をまとめます
3. 財務品質のスナップショット

用途:

  • XX の決算を見て
  • 直近数四半期の利益推移
  • 財務品質はどうか

デフォルトの手順:

  1. 直近8四半期+直近年度の財務主要データを取得します
  2. 売上高、利益、売上総利益率、ROE、キャッシュフローを区別します
  3. 改善/悪化/変動した点を示します
  4. 累計値、単四半期の値、前年同期比の基準を説明します
4. バリュエーション分析/スクリーニング

用途:

  • 現在のバリュエーションは高い?
  • どちらが割安?
  • 低バリュエーション・高配当利回りの銘柄をスクリーニングして

デフォルトの手順:

  1. 対象銘柄群を明確にします
  2. daily_basic などのバリュエーション指標を取得します
  3. 必要に応じて財務品質の分析と連携します
  4. 順位、極値、分類基準の説明を出力します
5. 資金フローの追跡

用途:

  • 最近、資金は何を買っている?
  • 最近、北向き資金はどこに流れている?
  • 主力資金の流入が最も多い銘柄は?

デフォルトの手順:

  1. 資金の分類(北向き/主力/龍虎榜/セクター資金)を明確にします
  2. 期間を決定します
  3. 純流入額/取引の活発度/継続性を取得します
  4. 株価の動きと関連付けて説明します
  5. 単日のノイズをトレンドとして扱わないようにします
6. セクター/テーマのローテーション分析

用途:

  • 最近、最も強いセクターは?
  • ロボット関連は最近どの点が強い?
  • あるテーマセクターの構成銘柄は?

デフォルトの手順:

  1. 分類基準を決定します
  2. セクターの期間中のパフォーマンスを取得します
  3. 必要に応じて構成銘柄、資金フロー、ストップ高銘柄の勢いと連携します
  4. 強いセクターのランキングと代表銘柄を出力します
7. 発表/ニュース/イベントの整理

用途:

  • 最近、何か発表はあった?
  • 何か株価を動かす材料はある?
  • 最近のニュース面はどうか

デフォルトの手順:

  1. 対象と期間を明確にします
  2. 発表/ニュース/調査レポート/政策データを取得します
  3. ノイズを除去し、主要なテーマを3~5件抽出します
  4. 事実、発表、メディアの解釈を区別します
  5. 必要に応じて株価の急変と関連付け、因果関係を控えめに説明します
8. データのエクスポートと調査の準備

用途:

  • CSV を取得して
  • バックテスト用のデータテーブルを作成して
  • 特定期間の相場データ/財務データをエクスポートして

デフォルトの手順:

  1. データ範囲、頻度、フィールドを明確にします
  2. 分割戦略を用いてデータを取得します
  3. クレンジング、重複排除、フィールド型の統一を行います
  4. CSV/parquet を出力します
  5. ファイルパスとメタ情報を提示します
9. 総合調査ブリーフィング

用途:

  • XX を手早く調査して
  • 投資家向けのブリーフィングを作成して
  • まず全体像を判断して

デフォルトの手順:

  1. 一文での結論
  2. 相場の動き
  3. 財務の推移
  4. バリュエーション水準
  5. 資金フローの状況
  6. 発表/ニュースによる材料
  7. リスク
  8. さらに掘り下げる価値のある論点

データ品質ルール

データ取得後、少なくとも次のチェックを行います。

  • スキーマの検証
  • 主要フィールドの存在確認
  • 主キーの重複排除
  • 固定順でのソート
  • 日付の標準化
  • 数値フィールドの型の正規化
結果が空の場合の処理

テーブルが空でも、必ずしも失敗とは限りません。次を区別します。

  • 取引日ではない
  • 期間内にデータがない
  • 株式が未上場
  • パラメーターエラー
  • インターフェースの権限不足

空の結果をすべて「インターフェースが壊れている」と説明しないでください。


キャッシュと再利用のルール

skill を長期的に再利用できるよう、次を優先的にサポートします。

  • 基本テーブルのキャッシュ(stock_basic、取引カレンダー、指数の基本情報など)
  • 毎回すべてを再取得するのではなく、増分更新
  • 大規模タスクの中断地点からの再開
  • 結果ファイルの命名規則の統一

推奨する命名形式:

  • daily_600519.SH_20230101_20231231_20260322.csv
  • fina_indicator_300750.SZ_20260322.parquet

キャッシュが使われた場合は、キャッシュ由来のデータと新たに取得したデータを説明するのが望ましいです。


エラー処理

エラーは「ユーザーに分かりやすい説明+デバッグの詳細」という階層で出力することを優先します。

ユーザー向けの説明
  • トークンが設定されていません
  • 現在のインターフェースには、より高いポイント/権限が必要な可能性があります
  • 時間範囲が広すぎるため、自動的に分割して取得しました
  • 株式名が一意ではありません。どの銘柄か確認してください
  • 現在の結果は空です。該当日が取引日ではない/銘柄が未上場/権限がない可能性があります
デバッグ情報

必要に応じて、次の情報を追加します。

  • インターフェース名
  • パラメーター
  • 失敗した分割
  • 例外の原文
部分成功の原則

一部の分割に失敗した場合、「正常に完了しました」とは言わないでください。 次の点を明確に伝えてください。

  • 成功した部分
  • 失敗した部分
  • 不完全な結果がすでに生成されているかどうか

推奨する最小限のインターフェースセット

メインの skill 本文に何百ものインターフェースを詰め込まないでください。 日常的なタスクの80%で使う主要なインターフェースセットを優先して覚えてください。

  • stock_basic
  • trade_cal
  • daily
  • pro_bar
  • daily_basic
  • fina_indicator
  • income
  • balancesheet
  • cashflow
  • forecast
  • express
  • moneyflow
  • moneyflow_hsgt
  • hsgt_top10
  • top_list
  • index_basic
  • index_daily
  • index_classify
  • sw_daily
  • ths_index
  • ths_member
  • limit_list_d
  • limit_step
  • news
  • major_news
  • research_report
  • anns_d
  • cn_cpi
  • cn_pmi
  • us_tycr

すべてのデータインターフェースについては、references/数据接口.md を参照してください。


Best practices

  • 先理解任务,再选接口
  • 能少取就少取,先核心数据,再扩展
  • 先给结论,再给证据
  • 默认说人话,不堆字段名
  • 对“最近 / 财报 / 强不强 / 资金关注”这类模糊中文表达,要有合理默认口径
  • 大任务先给执行计划,再开跑
  • 导出任务尽量保留脚本、元信息、文件路径,方便复用

Examples

单票行情
  • 看下宁德时代最近三个月走势
  • 茅台今年以来涨了多少
  • 招行这两年最大回撤大概多少
财务 / 估值
  • 看下比亚迪最近 8 个季度营收和净利润趋势
  • 茅台现在估值算高吗
  • 帮我找高 ROE 低负债的公司
对比
  • 比一下茅台、五粮液、泸州老窖近一年的涨幅和估值
  • 对比一下沪深300、中证500、创业板今年表现
资金流 / 板块
  • 今天北向资金流入最多的股票有哪些
  • 最近哪个板块最强
  • 半导体板块最近一个月强不强
公告 / 事件
  • 帮我梳理下寒武纪最近的重要公告
  • 最近机器人板块有什么消息面催化
宏观
  • 看一下最近 CPI、PPI、PMI 变化
  • 当前市场风格偏成长还是价值
导出
  • 把沪深300成分股近两年日线导成 CSV
  • 下载宁德时代 2020 到现在的复权行情
  • 把最近 3 年 ROE、PE、PB、营收增速拉成一个表

Quick rule

当用户在说:

  • 看走势
  • 查财报
  • 比较公司
  • 看板块
  • 看资金流
  • 梳理公告新闻
  • 看宏观
  • 拉数据导出

就不要先想“有哪些接口”。 先想: 这是什么任务?默认该走哪条数据工作流?结果应该怎样交付才真正有用?

コメント