Skip to content

v1.9.0

Choose a tag to compare

@twjackysu twjackysu released this 30 Sep 10:37
· 25 commits to main since this release
8857b2e

大改版:用免費官方資料補上付費資訊平台最常見的缺口——歷史深度。TWSE/TPEx/TAIFEX 的 OpenAPI 在財報、月營收、股利、籌碼、期貨行情上幾乎都只有「最新一期」,本版改串公開資訊觀測站(MOPS)、TPEx/TWSE/期交所網站的可回溯端點,並新增集保、國發會、央行資料與衍生分析工具。工具數 180 → 173:新增 17 支;24 支「只有最新一天」的舊工具併進能查歷史的版本後移除;另有十多支沿用原名,但改用可回溯、資料更完整的來源。

⚠️ 不相容變更

同一份資料原本常有「OpenAPI 最新版」與「網站歷史版」兩支工具。本版逐組抓兩邊上游資料、以同一交易日逐列比對(2026-09-29/30),確認涵蓋範圍較大的一方完整包含另一方後才合併。合併後的工具日期參數皆為選填,不帶日期=最新一期,並盡量沿用原本較自然的名稱,因此多數既有呼叫不受影響,但以下變更需要調整:

被併入其他工具而移除的名稱

舊工具 改用
get_public_company_income_statement、get_public_company_balance_sheet get_company_income_statement、get_company_balance_sheet(上市櫃、興櫃、公發皆可)
get_public_company_monthly_revenue get_company_monthly_revenue
get_public_company_board_shareholdings get_company_board_shareholdings
get_valuation_ratios_by_date、get_market_valuation_by_date get_stock_valuation_ratios
get_margin_trading_info get_margin_balance
get_top_foreign_holdings、get_foreign_holdings_history get_foreign_holdings(sort_by="ratio", limit=20 即前 20 名)
get_all_stocks_daily_close get_stock_daily_trading
get_market_historical_index get_taiex_index_history
get_daily_market_trading_info get_market_turnover_history
get_stock_monthly_avg_history、get_stock_monthly_history、get_stock_yearly_history get_stock_monthly_average、get_stock_monthly_trading、get_stock_yearly_trading
TAIFEX 9 支 *_history(期貨/選擇權行情、PCR、三大法人各表、大額交易人期貨) 同主題的原工具(get_daily_futures_market_report、get_put_call_ratio、get_institutional_traders_by_futures…),加上 start_date/end_date

參數變更

  • get_stock_valuation_ratios、get_stock_daily_trading、get_margin_balance、get_otc_institutional、get_otc_margin_balance、get_otc_valuation、get_otc_daily、get_daily_day_trading_targets、get_market_index_info 的第一個參數改為 date,查個股請用關鍵字 stock_no=。
  • TAIFEX 三大法人各契約工具的 contract_code 改名為 contract,可填代碼(TXF)或中文名稱(臺股期貨)。
  • get_market_index_info 改為 (date, category, keyword),移除 count、output_format。

新增資料

公開資訊觀測站(MOPS)——財報/營收/股利改由 MOPS 提供,上市、上櫃、興櫃、公發公司皆可,預設最新一期、可查任意過去期間

  • 綜合損益表、資產負債表、現金流量表(原本完全沒有),自動採用各產業格式
  • 月營收(最多 12 個月,附月增率)、多年度股利分派(含季配息)
  • 重大訊息:指定公司可看全年且附說明全文;不指定則列出某日全市場
  • 董監持股與設質、內部人每月持股異動、庫藏股買回、背書保證與資金貸與、法人說明會

上櫃(TPEx 網站)——與上市對齊,皆可回溯任意日期:個股日K、三大法人明細、融資融券、本益比/殖利率/淨值比、外資持股排行、除權除息計算結果

上市(TWSE 網站)——除權除息計算結果、當日沖銷交易統計、全部指數(含類股指數)收盤

期交所網站下載頁——期貨/選擇權每日行情、三大法人、大額交易人、Put/Call Ratio 全部改由下載頁提供:預設最新交易日、可回溯區間,且比 openapi 更完整(多了價差組合、臺灣中型100期貨,以及約 2000 格 openapi 留空的選擇權數值)

其他官方來源

  • 集保戶股權分散表(最新一週,附千張大戶/400 張以上/10 張以下散戶持股比例)
  • 國發會景氣對策信號(景氣燈號)與領先/同時/落後指標、臺灣 PMI/NMI
  • 中央銀行每日匯率(1993 起)

新增分析工具

  • get_adjusted_price_history:還原權息日K,以官方公告的除權息參考價計算還原因子
  • get_technical_indicators:MA、KD、RSI、MACD、布林通道、均量(預設使用還原價)
  • get_stock_screener:依本益比、淨值比、殖利率跨上市櫃篩選,可限定產業
  • get_industry_peers:同業比較,附產業中位數與排名

修正

  • 每日收盤行情的漲跌遺失正負號(下跌顯示成正數),且未顯示成交筆數
  • 月均價工具把每日收盤價誤標為「收盤均價」
  • 盤中查當沖在晚間公布量值前會「查詢失敗」;期交所下載頁盤中會把只有夜盤的當天誤當成最新交易日
  • 期交所下載頁在「尚未公布資料的日期」會解析失敗(舊歷史工具即有此問題);宏碁等 Big5 擴充字變成亂碼
  • MOPS 舊站頁面每數百列開新表格卻不關閉,曾導致庫藏股整段資料遺失;被防爬或改版時改回報「查詢失敗」而非「查無資料」
  • 選股時估值與收盤價可能來自不同交易日
  • 舊重大訊息工具同一公司當天多則公告只回第一則
  • get_twse_news 月底日期計算、get_stock_yearly_history 查詢日期寫死、請求失敗時節流間隔失效(#74、#76、#79)
  • 清單工具過濾後查無資料、offset 翻過尾端時改為明確訊息,不再回空白(#78、#80、#81)

效能

  • MOPS、集保、國發會、央行、期交所下載頁的回應加入快取(依各來源更新頻率 5 分鐘~6 小時),同一資料重複查詢由 0.3~1 秒降至近乎 0;TWSE_CACHE_TTL=0 可全部停用

測試

  • Live 測試改為只驗證第三方介面契約(端點、格式、寫死的欄位與行為),自家邏輯全部移到 offline 測試;每個新資料來源都有 contract test
  • 新增守門測試:prompts/ 引用的工具名稱必須真的存在

Full Changelog: v1.8.1...v1.9.0