三大法人買賣超
取得指定個股在日期區間內、每個交易日的三大法人(外資及陸資、投信、自營商)買進、賣出與買賣超股數。
GET /ownership/institutional-trades/{symbol}
版本資訊
v2.4.0 起新增功能
Parameters
| Name | Type | Description |
|---|---|---|
symbol* | string | 個股代號(如 2330),路徑參數 |
from | string | 開始日期(格式:yyyy-MM-dd),預設 30 天前 |
to | string | 結束日期(格式:yyyy-MM-dd),預設今天 |
sort | string | 依日期排序,預設 desc 降冪;可選 asc 升冪 |
Response
| Name | Type | Description |
|---|---|---|
type* | string | 證券類型 |
exchange* | string | 交易所 |
market* | string | 市場別 |
symbol* | string | 個股代號 |
data* | object[] | 有法人交易的交易日各一筆 |
data.date* | string | 日期 |
data.foreign* | object | 外資及陸資合計(不含外資自營商) |
data.foreign.buy* | number | 買進股數(股) |
data.foreign.sell* | number | 賣出股數(股) |
data.foreign.net* | number | 買賣超股數(股,買進 − 賣出) |
data.trust* | object | 投信,子欄位同 foreign |
data.dealer* | object | 自營商合計(含自行買賣與避險),子欄位同 foreign |
data.total* | number | 三大法人合計買賣超股數(股,為 foreign.net、trust.net、dealer.net 之和) |
資料說明
- 資料來源:整理自臺灣證券交易所與證券櫃檯買賣中心公開之三大法人買賣超日報資訊。
- 資料頻率:僅在該股當日有三大法人交易時才有一筆,無法人進出的交易日不會出現在
data陣列中。 - 歷史涵蓋:上市、上櫃個股自 2013 年起;興櫃個股亦涵蓋,起始日依個股而異,請以實際回傳為準。
- 查詢區間:單次查詢
from與to的間隔須小於 1 年,超過會回傳400;日期不合法或from晚於to亦回傳400。 - 查無資料:代號不存在或該區間無資料時,皆回傳
200與data: [](不回404);此時type/exchange/market為預設值,不代表該代號的真實屬性。
Example
- Python
- Node.js
- C#
from fubon_neo.sdk import FubonSDK, Order
sdk = FubonSDK()
accounts = sdk.login("Your ID", "Your password", "Your cert path", "Your cert password") # 需登入後,才能取得行情權限
sdk.init_realtime() # 建立行情連線
reststock = sdk.marketdata.rest_client.stock
## 2.2.6 及以後版本使用更簡化 (使用 Exception 進行例外處理)
from fubon_neo.sdk import FugleAPIError
try:
response = reststock.ownership.institutional_trades(**{"symbol": "2330", "from": "2026-08-13", "to": "2026-08-13"})
except FugleAPIError as e:
print(f"Error: {e}")
print("------------")
print(f"Status Code: {e.status_code}") # 例: 429
print(f"Response Text: {e.response_text}") # 例: {"statusCode":429,"message":"Rate limit exceeded"}
print(response)
const { FubonSDK } = require('fubon-neo');
const sdk = new FubonSDK();
const accounts = sdk.login("Your ID", "Your Password", "Your Cert Path", "Your Cert Password");
sdk.initRealtime(); // 建立行情連線
const client = sdk.marketdata.restClient
client.stock.ownership.institutionalTrades({ symbol: '2330', from: '2026-08-13', to: '2026-08-13' })
.then(data => console.log(data));
using FubonNeo.Sdk;
using FugleMarketData.QueryModels.Stock.Ownership;
var sdk = new FubonSDK();
var result = sdk.Login("Your ID", "Your Password", "Your Cert Path", "Your Cert Password");
sdk.InitRealtime(); // 建立行情連線
var rest = sdk.MarketData.RestClient.Stock;
var institutionalTrades = await rest.Ownership.InstitutionalTrades("2330", new()
{
From = new DateTime(2026, 8, 13),
To = new DateTime(2026, 8, 13)
});
var institutionalTrades_cont = institutionalTrades.Content.ReadAsStringAsync().Result;
Console.WriteLine(institutionalTrades_cont);
Response Body(以 2026-08-13 收盤後的資料為例):
{
"type": "EQUITY",
"exchange": "TWSE",
"market": "TSE",
"symbol": "2330",
"data": [
{
"date": "2026-08-13",
"foreign": {
"buy": 18369301,
"sell": 14397070,
"net": 3972231
},
"trust": {
"buy": 2350600,
"sell": 1614607,
"net": 735993
},
"dealer": {
"buy": 482295,
"sell": 389114,
"net": 93181
},
"total": 4801405
}
]
}