# 台股綜合分析器 - API 串接說明文件 > 版本:v1.0 > 更新日期:2024-02-24 > 檔案:taiwan-stock-analyzer.html --- ## 📊 平台串接總覽 本程式共串接 **12 個平台**,包含 3 個官方 API、2 個第三方 API、2 個代理服務、5 個外部連結整合。 --- ## 1️⃣ 台灣證券交易所 (TWSE) **網域:** `twse.com.tw` / `mis.twse.com.tw` ### API 端點列表 | 功能 | API 端點 | 方法 | 用途 | |------|---------|------|------| | 個股日成交 | `/exchangeReport/STOCK_DAY` | GET | 上市股票歷史 K 線數據(開高低收量) | | 大盤指數 | `/rwd/zh/afterTrading/MI_INDEX` | GET | 加權指數、成交量、漲跌家數 | | 三大法人 | `/rwd/zh/fund/T86` | GET | 上市股票法人買賣超數據 | | 融資融券 | `/rwd/zh/marginTrading/MI_MARGN` | GET | 上市股票信用交易數據 | | 即時報價 | `mis.twse.com.tw/stock/api/getStockInfo.jsp` | GET | 盤中即時股價、五檔報價 | ### 請求範例 ```javascript // 個股日成交資料 const url = `https://www.twse.com.tw/exchangeReport/STOCK_DAY?response=json&date=${dateStr}&stockNo=${stockCode}`; // 即時報價 const url = `https://mis.twse.com.tw/stock/api/getStockInfo.jsp?ex_ch=tse_${code}.tw&json=1&delay=0&_=${Date.now()}`; // 三大法人買賣超 const url = `https://www.twse.com.tw/rwd/zh/fund/T86?date=${dateStr}&selectType=ALLBUT0999&response=json`; ``` ### 回傳資料格式 ```json // 個股日成交 { "stat": "OK", "title": "111年02月 2330 台積電 各日成交資訊", "data": [ ["111/02/07", "47,270,577", "27,280,839,858", "580.00", "583.00", "575.00", "580.00", "+5.00", "33,023"] // [日期, 成交股數, 成交金額, 開盤價, 最高價, 最低價, 收盤價, 漲跌價差, 成交筆數] ] } ``` --- ## 2️⃣ 櫃買中心 (TPEx) **網域:** `tpex.org.tw` ### API 端點列表 | 功能 | API 端點 | 方法 | 用途 | |------|---------|------|------| | 個股日成交 | `/web/stock/aftertrading/daily_trading_info/st43_result.php` | GET | 上櫃股票歷史 K 線數據 | | 每日收盤行情 | `/web/stock/aftertrading/daily_close_quotes/stk_quote_result.php` | GET | 上櫃全部股票收盤資料 | | 三大法人 | `/web/stock/3insti/daily_trade/3itrade_hedge_result.php` | GET | 上櫃股票法人買賣超 | | 融資融券 | `/web/stock/margin_trading/margin_balance/margin_bal_result.php` | GET | 上櫃股票信用交易 | | 櫃買指數 | `/web/stock/aftertrading/otc_quotes_no1430/stk_wn1430_result.php` | GET | OTC 指數行情 | ### 請求範例 ```javascript // 個股日成交(上櫃) const url = `https://www.tpex.org.tw/web/stock/aftertrading/daily_trading_info/st43_result.php?l=zh-tw&d=${dateStr}&stkno=${stockCode}`; // 三大法人(上櫃) const url = `https://www.tpex.org.tw/web/stock/3insti/daily_trade/3itrade_hedge_result.php?l=zh-tw&o=json&se=EW&t=D&d=${dateStr}&s=0,asc`; ``` ### 注意事項 - 日期格式為民國年:`112/02/24` - 需透過 CORS Proxy 存取 --- ## 3️⃣ Yahoo Finance **網域:** `query1.finance.yahoo.com` / `tw.stock.yahoo.com` ### API 端點列表 | 功能 | API 端點 | 用途 | |------|---------|------| | 歷史股價 | `/v8/finance/chart/{symbol}` | 歷史 K 線數據(備援來源) | | 即時報價 | `/v8/finance/chart/{symbol}?interval=1m&range=1d` | 盤中即時股價 | | 當日走勢 | `tw.stock.yahoo.com/_td-stock/api/resource/FinanceChartService.ApacLibraCharts` | 分鐘級別走勢圖 | ### 請求範例 ```javascript // 歷史股價 const url = `https://query1.finance.yahoo.com/v8/finance/chart/${symbol}?period1=${startTimestamp}&period2=${endTimestamp}&interval=1d`; // 即時走勢(分鐘) const url = `https://query1.finance.yahoo.com/v8/finance/chart/${symbol}?interval=1m&range=1d&_=${Date.now()}`; ``` ### 股票代號格式 | 市場 | 格式 | 範例 | |------|------|------| | 上市 | `{代號}.TW` | `2330.TW` | | 上櫃 | `{代號}.TWO` | `6510.TWO` | --- ## 4️⃣ FinMind **網域:** `api.finmindtrade.com` ### API 端點 | 功能 | 端點 | 用途 | |------|------|------| | 歷史股價 | `/api/v4/data?dataset=TaiwanStockPrice` | 第三備援數據來源 | ### 請求範例 ```javascript const url = `https://api.finmindtrade.com/api/v4/data?dataset=TaiwanStockPrice&data_id=${stockCode}&start_date=${startStr}&end_date=${endStr}`; ``` ### 注意事項 - 免費版有請求次數限制 - 建議作為最後備援使用 --- ## 5️⃣ 公開資訊觀測站 (MOPS) **網域:** `mops.twse.com.tw` ### API 端點 | 功能 | 端點 | 用途 | |------|------|------| | 公司公告 | `/mops/web/ajax_t05st01` | 重大訊息、財報公告 | ### 請求範例 ```javascript const url = `https://mops.twse.com.tw/mops/web/ajax_t05st01?encodeURIComponent=1&step=1&firstin=1&off=1&keyword4=${code}&code1=&TYPEK2=&checkbtn=1&queryName=co_id&TYPEK=all&co_id=${code}`; ``` --- ## 6️⃣ CORS Proxy 服務 由於瀏覽器安全限制,部分 API 需透過代理服務存取。 ### 使用的代理服務 | 服務 | 網址 | 用途 | |------|------|------| | AllOrigins | `https://api.allorigins.win/raw?url=` | 主要代理 | | CodeTabs | `https://api.codetabs.com/v1/proxy?quest=` | 備用代理 | ### 使用方式 ```javascript const proxyUrls = [ 'https://api.allorigins.win/raw?url=', 'https://api.codetabs.com/v1/proxy?quest=' ]; const response = await fetch(proxyUrls[0] + encodeURIComponent(targetUrl)); ``` --- ## 🔗 外部連結整合 以下平台提供快速跳轉連結,非 API 串接: ### 7️⃣ Goodinfo 台灣股市資訊網 **網域:** `goodinfo.tw` | 功能 | 連結格式 | |------|---------| | 個股詳情 | `https://goodinfo.tw/tw/StockDetail.asp?STOCK_ID=${code}` | | 營收圖表 | `https://goodinfo.tw/tw/ShowSaleMonChart.asp?STOCK_ID=${code}` | | 股利政策 | `https://goodinfo.tw/tw/StockDividendPolicy.asp?STOCK_ID=${code}` | | 買賣超 | `https://goodinfo.tw/tw/ShowBuySaleChart.asp?STOCK_ID=${code}` | | 經營績效 | `https://goodinfo.tw/tw/StockBzPerformance.asp?STOCK_ID=${code}` | ### 8️⃣ 鉅亨網 (CNYes) **網域:** `cnyes.com` | 功能 | 連結格式 | |------|---------| | 個股資訊 | `https://www.cnyes.com/twstock/${code}` | | 技術分析 | `https://www.cnyes.com/twstock/${code}/technical` | | 新聞搜尋 | `https://www.cnyes.com/search/news?keyword=${code}` | | 營收數據 | `https://www.cnyes.com/twstock/${code}/revenue` | ### 9️⃣ 嗨投資 HiStock **網域:** `histock.tw` | 功能 | 連結格式 | |------|---------| | 每月營收 | `https://histock.tw/stock/${code}/%E6%AF%8F%E6%9C%88%E7%87%9F%E6%94%B6` | ### 🔟 玩股網 WantGoo **網域:** `wantgoo.com` | 功能 | 連結格式 | |------|---------| | 個股資訊 | `https://www.wantgoo.com/stock/${code}` | ### 1️⃣1️⃣ MoneyDJ 理財網 **網域:** `moneydj.com` | 功能 | 連結格式 | |------|---------| | K 線圖表 | `https://www.moneydj.com/kline/klinechart.djhtm?a=${code}` | ### 1️⃣2️⃣ Yahoo 股市(台灣) **網域:** `tw.stock.yahoo.com` | 功能 | 連結格式 | |------|---------| | 個股頁面 | `https://tw.stock.yahoo.com/quote/${code}.TW` | | 新聞 | `https://tw.stock.yahoo.com/quote/${code}.TW/news` | | 法人進出 | `https://tw.stock.yahoo.com/quote/${code}.TW/institutional-trading` | | 營收 | `https://tw.stock.yahoo.com/quote/${code}.TW/revenue` | --- ## 📈 數據流程圖 ``` ┌─────────────────────────────────────────────────────────────┐ │ 台股綜合分析器 │ └─────────────────────────────────────────────────────────────┘ │ ┌─────────────────────┼─────────────────────┐ ▼ ▼ ▼ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ 上市股票 │ │ 上櫃股票 │ │ 即時數據 │ │ (TWSE) │ │ (TPEx) │ │ │ └───────────────┘ └───────────────┘ └───────────────┘ │ │ │ ▼ ▼ ▼ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │ • 歷史 K 線 │ │ • 歷史 K 線 │ │ • 盤中報價 │ │ • 三大法人 │ │ • 三大法人 │ │ • 五檔掛單 │ │ • 融資融券 │ │ • 融資融券 │ │ • 大盤指數 │ │ • 大盤指數 │ │ • 櫃買指數 │ │ │ └───────────────┘ └───────────────┘ └───────────────┘ │ │ │ └──────────┬──────────┘ │ ▼ │ ┌───────────────┐ │ │ Yahoo Finance │◄───────────────────────┘ │ (備援來源) │ └───────────────┘ │ ▼ ┌───────────────┐ │ FinMind │ │ (第三備援) │ └───────────────┘ ``` --- ## 🎯 各平台使用時機 | 情境 | 主要來源 | 備援來源 | |------|---------|---------| | 上市股票歷史數據 | TWSE | Yahoo → FinMind | | 上櫃股票歷史數據 | TPEx | Yahoo → FinMind | | 即時報價 | TWSE (mis) | Yahoo Finance | | 三大法人(上市)| TWSE | - | | 三大法人(上櫃)| TPEx | - | | 大盤指數 | TWSE (mis) | Yahoo Finance | | 公司公告 | MOPS | - | --- ## ✅ 平台統計 | 類型 | 數量 | 平台 | |------|------|------| | **官方 API** | 3 | TWSE、TPEx、MOPS | | **第三方 API** | 2 | Yahoo Finance、FinMind | | **代理服務** | 2 | AllOrigins、CodeTabs | | **外部連結** | 5 | Goodinfo、鉅亨、HiStock、玩股網、MoneyDJ | | **總計** | **12** | - | --- ## 🔧 技術備註 ### CORS 問題處理 1. **mis.twse.com.tw** - 支援 CORS,可直接請求 2. **www.twse.com.tw** - 需透過 Proxy 3. **tpex.org.tw** - 需透過 Proxy 4. **Yahoo Finance** - 部分端點支援 CORS ### 錯誤處理機制 ```javascript async function fetchWithFallback(primaryUrl, fallbackUrl) { try { const response = await fetch(primaryUrl); if (!response.ok) throw new Error('Primary failed'); return await response.json(); } catch (error) { console.log('Trying fallback...'); const response = await fetch(fallbackUrl); return await response.json(); } } ``` ### 市場自動偵測 當選定市場查無資料時,系統會自動嘗試另一個市場: ``` 上市查無資料 → 自動嘗試上櫃 上櫃查無資料 → 自動嘗試上市 ``` --- ## 📝 更新日誌 | 日期 | 版本 | 更新內容 | |------|------|---------| | 2024-02-24 | v57 | | --- ## 📄 授權聲明 本文件僅供學習研究用途,各 API 之使用須遵守原平台之服務條款。 - 台灣證券交易所:https://www.twse.com.tw - 櫃買中心:https://www.tpex.org.tw - Yahoo Finance:https://finance.yahoo.com - FinMind:https://finmindtrade.com