Skip to content

knowledge: 同步 FinMind-Doc 8 月新增/更新的 dataset,並修正三個 snapshot endpoint - #22

Merged
linsamtw merged 1 commit into
masterfrom
feature/catalog-sync-aug
Aug 19, 2026
Merged

knowledge: 同步 FinMind-Doc 8 月新增/更新的 dataset,並修正三個 snapshot endpoint#22
linsamtw merged 1 commit into
masterfrom
feature/catalog-sync-aug

Conversation

@linsamtw

@linsamtw linsamtw commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

背景

上次 catalog 同步(#19)停在 2026-08-01,之後 FinMind-Doc 又有異動。這次順帶把 FinMind 主 repo 的 /finmind skill 一起對照,發現 catalog 有兩處會讓 AI 直接回答錯誤的內容。

只改 knowledge/datasets.mdlist_datasets 工具與 Custom GPT knowledge bundle 的 SSOT)。

新增 dataset

dataset Tier 來源
TaiwanStockMarginMaintenance(個股融資維持率) Sponsor FinMind-Doc 2026-08-09

Required start_date、Optional data_id / end_date(不帶 data_id 可取該日全市場);欄位 date / stock_id / margin_balance / margin_cost / margin_ratio / margin_maintenance

一併記下 Doc 的兩個重點:資料區間 2001-01-05 起(上櫃 2007-01-04 起),以及「本資料集為估算指標、與其他服務數字不會一致」——這點客戶最容易誤解,寫進 catalog 讓 AI 主動說明。

既有 dataset 的新增能力

  • TaiwanStockKBar:補上加權指數分 K(data_id="TAIEX",2005-01-03 ~ now、每個交易日 271 筆涵蓋 09:00~13:30、volume 固定 0)。順帶補個股區間 2019-01-01 起,以及 volume 單位依市場別而異(上市櫃「張」、興櫃「股」)。
  • taiwan_options_snapshot:補契約系列對照 —— TXO 月選 / TX1~TX5(週三到期)/ TXU TXV TXX TXY TXZ(週五到期,2026-08-09 增開),以及「無成交時回傳最後成交價量、要以 date 欄位判讀」。

🐛 修正:三個 snapshot 的 endpoint 寫錯

taiwan_stock_tick_snapshot / taiwan_futures_snapshot / taiwan_options_snapshot 原本都標 /api/v4/data + dataset=...,但這三個是 dedicated endpoint,並不在 /api/v4/data 的 dataset enum 內 —— 照 catalog 打會被 422 拒。改為 /api/v4/<name>(dedicated),對齊 TaiwanStockTradingDailyReportSecIdAgg 既有寫法,並補 data_id 可多帶 / 留空取全部。

🐛 修正:storage_objects「無歷史回補」是錯的

KBar / FuturesTick / OptionTick 三處刪掉「逐交易日提供、無歷史回補」,改成「歷史整日檔案皆可下載」並標最早日(PriceTick 2018-12-07、KBar 2019-01-02、FuturesTick 與 OptionTick 2011-01-03)。此為 FinMind #444 已修正的內容,catalog 尚未跟上;這句話曾誤導客戶以為整日批次下載拿不到歷史。

檔頭 dataset 總數 100 → 106。

驗證

對 live API 實打確認:

  • TaiwanStockMarginMaintenance data_id=2330 回傳欄位與文件一致
  • TaiwanStockKBar data_id=TAIEX 於 2026-08-19 與 2005-01-03 各回 271 筆、volume=0
  • taiwan_options_snapshot?data_id=TXO 回 2050 筆;而 /api/v4/data?dataset=taiwan_options_snapshot 回 422 enum 錯誤(佐證 endpoint 修正)

本機:

  • scripts/check_doc_sync.py --doc <FinMind-Doc origin/master> → OK, in sync
  • pytest 32 passed、smoke.py OK、build_instructions.py 7987/8000 chars

刻意不納入

live /api/v4/data enum 有兩個 FinMind-Doc 完全沒有文件的 dataset:ExchangeRateTaiwanFutOptInstitutionalInvestors兩者皆已棄用(已確認),只是還留在 API enum 裡沒清掉,因此不進 catalog。日後再做三方清單比對(live enum / SDK class Dataset / catalog)時,這兩個出現在差異裡屬預期,不必再追。


Merge 後若要讓使用者端的 list_datasets 拿到新 catalog,需另下新 tag 觸發 PyPI 發版;Custom GPT 則要重跑 build_instructions.py 重貼 instructions / knowledge bundle。

🤖 Generated with Claude Code

上次 catalog 同步(#19)停在 2026-08-01,之後 FinMind-Doc 又有異動;同時對照
FinMind 主 repo 的 /finmind skill,發現 catalog 有兩處會讓 AI 直接答錯的內容。

knowledge/datasets.md:

新增 dataset(FinMind-Doc 2026-08-09)
- TaiwanStockMarginMaintenance(個股融資維持率,Sponsor):Required `start_date`、
  Optional `data_id`/`end_date`(不帶 data_id 可取該日全市場);欄位 date /
  stock_id / margin_balance / margin_cost / margin_ratio / margin_maintenance。
  一併記下 Doc 的兩個重點:資料區間 2001-01-05 起(上櫃 2007-01-04 起),以及
  「本資料集為估算指標、與其他服務數字不會一致」——這點客戶最容易誤解。

既有 dataset 的新增能力
- TaiwanStockKBar:補上加權指數分 K(`data_id="TAIEX"`,2005-01-03 ~ now、每日
  271 筆 09:00~13:30、volume 固定 0),並補個股區間 2019-01-01 起與 volume 單位
  依市場別而異(上市櫃「張」、興櫃「股」)。
- taiwan_options_snapshot:補契約系列對照 TXO 月選 / TX1~TX5(週三到期)/
  TXU TXV TXX TXY TXZ(週五到期,2026-08-09 增開),以及「無成交時回傳最後成交
  價量、要看 date 欄位」的判讀方式。

修正:三個 snapshot 的 endpoint 寫錯
- taiwan_stock_tick_snapshot / taiwan_futures_snapshot / taiwan_options_snapshot
  原本都標 `/api/v4/data` + `dataset=...`,但這三個是 dedicated endpoint,並不在
  `/api/v4/data` 的 dataset enum 內,照 catalog 打會被 422 拒。改為
  `/api/v4/<name>`(dedicated),對齊 TaiwanStockTradingDailyReportSecIdAgg 既有
  寫法,並補 data_id 可多帶 / 留空取全部。

修正:storage_objects 整日下載的「無歷史回補」是錯的
- KBar / FuturesTick / OptionTick 三處刪掉「逐交易日提供、無歷史回補」,改成
  「歷史整日檔案皆可下載」並標最早日(PriceTick 2018-12-07、KBar 2019-01-02、
  FuturesTick 與 OptionTick 2011-01-03)。此為 FinMind #444 已修正的內容,
  catalog 尚未跟上;這句話曾誤導客戶以為整日批次下載拿不到歷史。

其他
- 檔頭 dataset 總數 100 → 106。

驗證
- 對 live API 實打確認:TaiwanStockMarginMaintenance 2330 回傳欄位與文件一致;
  TaiwanStockKBar data_id=TAIEX 於 2026-08-19 與 2005-01-03 各回 271 筆、volume=0;
  taiwan_options_snapshot?data_id=TXO 回 2050 筆,而 /api/v4/data?dataset=
  taiwan_options_snapshot 回 422 enum 錯誤(佐證 endpoint 修正)。
- scripts/check_doc_sync.py 對 FinMind-Doc origin/master:OK, in sync。
- pytest 32 passed、smoke.py OK、build_instructions 7987/8000 chars。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@linsamtw
linsamtw merged commit 54db6c8 into master Aug 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant