mcpField
R
report-download

report-download

github.com/terancejiangドキュメント7642 回インストール34 週間前に更新
リポジトリ

report-download について

A株と香港株の財務報告書 PDF を探してダウンロードするワークフロー用スキルです。銘柄コード、年度、報告書の種類で検索し、候補を絞ってローカルに保存します。

主な機能

  1. 01市場の判定と銘柄コードの整形
  2. 02報告書の種類と年度による検索
  3. 03指定ソースからの PDF リンク抽出
  4. 04要約など対象外ファイルの除外
  5. 05PDF のダウンロードとローカルパスの返却

活用シーン

  1. 01銘柄の年次報告書の取得
  2. 02A株の四半期・中間報告書の検索
  3. 03香港株の報告書のローカル保存

インストール

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

$npx skills add https://github.com/terancejiang/skill_financial_report_download --skill report-download

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

同梱ファイルscripts/download_report.py

詳細

財務報告書 PDF ダウンローダー

stockn.xueqiu.com(雪球)からA株および香港株の財務報告書 PDF をダウンロードします。失敗した場合は、notice.10jqka.com.cn(同花顺)を代替ソースとして使用します。どちらのソースも、安定した自動ダウンロードに対応しています。

ワークフロー

Input (stock code, year, report type)
  → Step 0: Parse & detect market
  → Step 1: WebSearch for PDF on stockn.xueqiu.com
  → Step 2: Extract matching PDF URLs
  → Step 3: Identify correct report (filter out summaries, audit reports, etc.)
  → Step 4: Python script downloads PDF to local disk
  → Output: local PDF file path

ステップ 0:入力を解析する

ユーザーの入力を次の3つの部分に解析します。

  • stock_code(必須):銘柄コード
  • year(任意):指定がない場合は入手可能な最新の年
  • report_type(任意):指定がない場合は年報
市場の判定
パターン市場形式例
6で始まる6桁上海A株SHを前に付ける600887 → SH600887
0または3で始まる6桁深圳A株SZを前に付ける300750 → SZ300750
1~5桁香港5桁になるよう先頭にゼロを付ける700 → 00700
すでにSH/SZの接頭辞が付いているそのまま使用—SH600887
報告書の種類の対応
ユーザー入力report_typeA株検索キーワード香港株検索キーワード公表時期
年报 / annual年报年度报告annual report翌年3~4月
中报 / interim中报半年度报告interim report同年8~9月
一季报 / Q1一季报第一季度报告(A株のみ)同年4月
三季报 / Q3三季报第三季度报告(A株のみ)同年10月

ステップ 1:報告書を検索する

次のクエリ形式でWebSearchを使用します。

A株: site:stockn.xueqiu.com {formatted_code} {search_keyword} {year} 香港株: site:stockn.xueqiu.com {formatted_code} {hk_search_keyword} {year}

年が指定されていない場合は、まず今年を検索し、次に前年を検索します。 雪球で検索結果が見つからない場合:

  1. 同花顺で再検索します:site:notice.10jqka.com.cn {formatted_code} {search_keyword} {year}
    • 会社名を指定して検索することもできます。例:site:notice.10jqka.com.cn 伊利股份 2024 年度报告
  2. それでも結果が見つからない場合は、最後の手段としてsite:の接頭辞を付けずに再検索します。

ステップ 2:PDFリンクを抽出する

検索結果から、対応ソースのPDF URLを抽出します。

  • https://stockn.xueqiu.com/.../*.pdf
  • https://notice.10jqka.com.cn/.../*.pdf

ステップ 3:正しい報告書を特定する

タイトルに次の語句が含まれる検索結果は除外します。 摘要, 审计报告, 公告, 利润分配, 可持续发展, 股东大会, ESG, summary, auditor, dividend, 更正, 补充, 意见, 内部控制

次の条件を優先します。

  1. タイトルに「摘要」を含まず、報告書のキーワード(例:「年度报告」)が含まれている
  2. URLの日付が公表予定日に最も近い
  3. 同条件の場合は、最初の検索結果を選択する

候補が残らない場合は、ユーザーにその旨を伝え、銘柄コード、年、報告書の種類を確認するよう提案します。

ステップ 4:PDFをダウンロードする

必要に応じて依存関係をインストールします。

pip install requests --break-system-packages

ダウンロードスクリプト(${CLAUDE_PLUGIN_ROOT}/skills/report-download/scripts/download_report.pyにあります)を実行します。

python3 ${CLAUDE_PLUGIN_ROOT}/skills/report-download/scripts/download_report.py \
  --url "<PDF_URL>" \
  --stock-code "<formatted_stock_code>" \
  --report-type "<report_type>" \
  --year "<year>" \
  --save-dir "."
出力を解析する

スクリプトは、---RESULT---と---END---の間に構造化されたブロックを出力します。

  • status:SUCCESSまたはFAILED
  • filepath:ダウンロードしたファイルの絶対パス
  • filesize:ファイルサイズ(バイト)
  • message:ステータスメッセージ
ユーザーへの報告

成功した場合: ファイルパス、サイズ(読みやすいMB単位)、銘柄コード、年、報告書の種類を伝えます。 失敗した場合: エラーメッセージを伝えます。URLにアクセスできるか確認する、再試行する、または入力内容を確認するよう提案します。

コメント