API Phái sinh Đài Loan

12 endpoint

Cập nhật lần cuối 2026-10
URL gốc
https://api.blave.org
Xác thực
Gửi header api-key + secret-key trong mọi request
Quyền truy cập
API plan or Blave Agent plan
Giới hạn tần suất
500 request / 5 phút cho mỗi key và mỗi IP

OHLCV hợp đồng tương lai Đài Loan

GET/studio/market/twfutures/ohlcv/<symbol>/<schema>
Dữ liệu từ
TXF 2011-01-03; MXF 2020-03-22 (1d); hợp đồng tương lai cổ phiếu tùy từng hợp đồng
Tần suất cập nhật
Gần thời gian thực

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · pathBắt buộc
Hợp đồng liên tục tháng gần nhấtTXF (台指期), MXF (小台), hoặc một mã hợp đồng tương lai cổ phiếu có trong ohlcv/symbols (không phân biệt hoa thường)
schema
string · pathBắt buộc
Khung thời gian nến1m, 5m, 15m, 30m, 60m, 1d
start
string · query
Ngày bắt đầuYYYY-MM-DDend − khoảng tối đa của khung thời gian đó
end
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay (UTC)

Khoảng tối đa mỗi request (end − start): 1m 31 ngày · 5m 62 ngày · 15m 93 ngày · 30m 186 ngày · 60m 365 ngày · 1d 3650 ngày.

Ví dụ

Phản hồi

{"symbol", "schema", "data": [...]}.

TrườngKiểuĐơn vịMô tả
tsstringUTC ISOThời điểm mở nến
open / high / low / closefloatđiểm chỉ số (giá với hợp đồng tương lai cổ phiếu)Giá
volumeinthợp đồng (口)Khối lượng

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "Invalid symbol. Allowed: [...]"}Mã không được hỗ trợ
400{"error": "Invalid schema. Allowed: [...]"}Khung thời gian không hợp lệ
400{"error": "Invalid date format. Use YYYY-MM-DD"}Ngày sai định dạng
400{"error": "date_range_too_large", "message": "...", "max_days": <n>}Khoảng thời gian vượt giới hạn
503thông báo lỗiNguồn dữ liệu tạm thời không khả dụng

Ghi chú

  • Nến trong phiên trước 2017-05-15 chỉ có phiên ngày (phiên đêm 15:00–05:00 giờ Đài Bắc ra mắt từ thời điểm đó), nên số nến mỗi ngày nhảy từ ~300 lên ~1,140 tại ngày này.
  • Chuỗi dữ liệu chuyển tháng hợp đồng vào kỳ thanh toán hằng tháng mà không điều chỉnh giá — hãy che điểm chuyển tháng khi backtest.
  • Quy tắc chuyển tháng (mọi khung thời gian; áp dụng như nhau cho TXF, MXF và hợp đồng tương lai cổ phiếu): ngày thanh toán hằng tháng — thứ Tư thứ 3 của tháng, hoặc ngày giao dịch kế tiếp nếu thứ Tư đó nghỉ — thuộc về tháng đáo hạn trong cả ngày. Hợp đồng đó giao dịch đến hết giờ đóng cửa 13:30 giờ Đài Bắc, không có nến nào mang nhãn 13:31–14:59 giờ Đài Bắc trong ngày đó, và chuỗi dữ liệu chuyển sang tháng kế tiếp từ phiên đêm 15:00 trở đi. Nến 1d của ngày thanh toán thuộc về tháng đáo hạn, nên giá đóng cửa của nó là giao dịch cuối cùng của hợp đồng đó lúc 13:30.
  • Với nhiều năm lịch sử, dùng ohlcv/<symbol>/export/<year> thay vì JSON chia đoạn.
  • Khoảng thời gian không có dữ liệu trả về 200 kèm [].
  • Đừng giả định chuỗi dữ liệu kéo dài đến ngày giao dịch gần nhất — MXF và CAF khi được yêu cầu toàn bộ dữ liệu đến ngày request đều trả về nến cuối cùng cũ đến vài tháng. Hãy đọc data[-1]["ts"].
  • Nến 1d mang phần giờ 16:00:00+00:00 (00:00 giờ Đài Bắc), không phải nửa đêm UTC — hãy lấy ngày từ ts thay vì giả định dấu thời gian đã căn theo ngày.
  • Ngày bắt đầu của TXF áp dụng cho 1d và trong phiên; của MXF là cho 1d. Hợp đồng tương lai cổ phiếu bắt đầu tùy từng hợp đồng — CAF có nến 1d ít nhất từ 2016-09-18.
  • Nến được làm mới khi có request.

Các mã có nến phút của hợp đồng tương lai Đài Loan

GET/studio/market/twfutures/ohlcv/symbols
Dữ liệu từ
Snapshot
Tần suất cập nhật
Thời gian thực

Tham số

Không có.

Ví dụ

Python
symbols = requests.get(f"{BASE_URL}/studio/market/twfutures/ohlcv/symbols", headers=headers, timeout=30).json()["data"]

Phản hồi

{"data": ["CDF", "DHF", "MXF", "TXF", ...]} — các mã được ohlcv, ohlcv/export và bid_ask_vol chấp nhận: TXF, MXF, cùng nhóm hợp đồng tương lai cổ phiếu được chọn theo thanh khoản và có dữ liệu nến phút (phần lớn trong 231 hợp đồng tương lai cổ phiếu không được hỗ trợ).

Lỗi

Chỉ có các lỗi dùng chung.

Xuất dữ liệu 1m theo năm của hợp đồng tương lai Đài Loan

GET/studio/market/twfutures/ohlcv/<symbol>/export/<year>
Dữ liệu từ
2011 (TXF)
Tần suất cập nhật
Năm hiện tại được làm mới khi tải xuống

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · pathBắt buộc
MãNhư ohlcv/symbols
year
int · pathBắt buộc
Năm dương lịch2014 – năm hiện tại

Ví dụ

Python
import ioimport pandas as pdr = requests.get(f"{BASE_URL}/studio/market/twfutures/ohlcv/TXF/export/2024", headers=headers, timeout=120)raw = pd.read_parquet(io.BytesIO(r.content))raw.index = pd.to_datetime(raw["ts"], utc=True)bars_60m = (raw[["open", "high", "low", "close", "volume"]]            .resample("60min")            .agg(open=("open", "first"), high=("high", "max"), low=("low", "min"),                 close=("close", "last"), volume=("volume", "sum"))            .dropna(subset=["open"]))

Phản hồi

application/octet-stream, một tệp parquet (<SYMBOL>_<year>_1m.parquet) với các cột ts, open, high, low, close, volume (nến 1m).

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "Invalid symbol. Allowed: [...]"}Mã không được hỗ trợ
400{"error": "Invalid year. Allowed: 2014-<current>"}Năm nằm ngoài phạm vi
404{"error": "no_data", "message": "No 1m data on disk for <symbol> in <year>"}Không có tệp

Ghi chú

  • Mỗi năm một request, không có tính toán phía máy chủ — hãy tự resample ở phía bạn.
  • Cùng chuỗi liên tục tháng gần nhất với ohlcv/<symbol>/1m, theo cùng quy tắc chuyển tháng vào ngày thanh toán (không có nến mang nhãn 13:31–14:59 giờ Đài Bắc trong ngày thanh toán hằng tháng).
  • Tệp của các năm trước là bất biến; tệp của năm hiện tại được làm mới trước khi tải xuống.

Khối lượng mua/bán chủ động hợp đồng tương lai Đài Loan

GET/studio/market/twfutures/bid_ask_vol/<symbol>
Dữ liệu từ
2018-02-22 (TXF)
Tần suất cập nhật
Tổng hợp từ tick, làm mới khi có request

Tham số

TênMô tảGiá trị hợp lệMặc định
symbol
string · pathBắt buộc
MãTXF, MXF (cả hai đã được xác nhận là trả về dữ liệu); các mã khác trong ohlcv/symbols chưa được kiểm thử
start
string · query
Ngày bắt đầuYYYY-MM-DDend − 31 ngày
end
string · query
Ngày cuối cùng; end − start ≤ 31 ngàyYYYY-MM-DDhôm nay (UTC)

Ví dụ

Python
data = requests.get(f"{BASE_URL}/studio/market/twfutures/bid_ask_vol/TXF", headers=headers,                    params={"start": "2026-05-29", "end": "2026-05-29"}, timeout=60).json()["data"]# [{"ts": "2026-05-29 00:45:00+00:00", "bid_vol": 669, "ask_vol": 447, "total_vol": 1156}, ...]

Phản hồi

{"symbol", "start", "end", "data": [...]}, các dòng 1 phút, cả phiên ngày và phiên đêm.

TrườngKiểuĐơn vịMô tả
tsstringUTC ISOThời điểm mở nến
bid_volinthợp đồng內盤 — giao dịch khớp tại giá mua (bên bán chủ động)
ask_volinthợp đồng外盤 — giao dịch khớp tại giá bán (bên mua chủ động)
total_volinthợp đồngTổng, gồm cả các tick không phân loại được

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "Invalid symbol. Allowed: [...]"}Mã không được hỗ trợ
400{"error": "Invalid date format. Use YYYY-MM-DD"}Ngày sai định dạng
400{"error": "date_range_too_large", "message": "...", "max_days": 31}Khoảng trên 31 ngày
503thông báo lỗiNguồn dữ liệu tạm thời không khả dụng

Ghi chú

  • Các dòng là hợp đồng liên tục tháng gần nhất theo cùng quy tắc chuyển tháng với ohlcv: trong ngày thanh toán hằng tháng không có dòng nào giữa giờ đóng cửa 13:30 giờ Đài Bắc của tháng đáo hạn và giờ mở phiên đêm 15:00; từ phiên đêm trở đi các dòng thuộc tháng kế tiếp.

Dữ liệu ngày theo hợp đồng của hợp đồng tương lai Đài Loan

GET/studio/market/twfutures/daily/<futures_id>
Dữ liệu từ
TX 1998-07-21; MTX 2001-04-09; CDF 2010-01-25
Tần suất cập nhật
Hằng ngày, sau khoảng 15:00 giờ Đài Bắc

Tham số

TênMô tảGiá trị hợp lệMặc định
futures_id
string · pathBắt buộc
Sản phẩm2–6 chữ cái, không phân biệt hoa thường — ví dụ TX, MTX, TMF, TE, TF, hoặc một mã hợp đồng tương lai cổ phiếu (ví dụ CDF)
start
string · query
Ngày đầu tiênYYYY-MM-DD1998-07-01
end
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
data = requests.get(f"{BASE_URL}/studio/market/twfutures/daily/TX", headers=headers,                    params={"start": "2026-08-01"}, timeout=60).json()["data"]

Phản hồi

{"futures_id", "data": [...]}; mỗi ngày vài dòng (mỗi tháng hợp đồng × phiên giao dịch).

TrườngMô tả
date, futures_idNgày, sản phẩm
contract_dateTháng hợp đồng (hợp đồng spread có chứa /)
open / max / min / closeGiá (max = cao nhất, min = thấp nhất)
spread / spread_perThay đổi / % thay đổi
volumeHợp đồng
settlement_priceGiá thanh toán
open_interestHợp đồng mở
trading_sessionposition (phiên thường) hoặc after_market (phiên đêm)

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "Invalid futures_id"}Không qua kiểm tra định dạng
404{"error": "No data found for futures_id: <id>"}Không có dữ liệu
503{"error": "Upstream rate limit. Please retry shortly."}Quota upstream đã hết

Ghi chú

  • Ngày mới nhất của TX / MTX / TMF lấy từ dữ liệu công bố chính thức của TAIFEX.
  • TX là sản phẩm sớm nhất; các sản phẩm khác bắt đầu muộn hơn (CDF là hợp đồng tương lai cổ phiếu).
  • Cache máy chủ: 5 phút.

Dữ liệu ngày hàng loạt của hợp đồng tương lai cổ phiếu

GET/studio/market/twfutures/stock_futures/batch/daily
Dữ liệu từ
Tùy thời điểm niêm yết của từng hợp đồng (CDF: 2010-01-25)
Tần suất cập nhật
Giống twfutures/daily

Tham số

TênMô tảGiá trị hợp lệMặc định
futures_ids
string · queryBắt buộc
MãCác mã hợp đồng tương lai cổ phiếu phân tách bằng dấu phẩy, ≤ 250
start
string · query
Ngày đầu tiênYYYY-MM-DD1998-07-01
end
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
body = requests.get(f"{BASE_URL}/studio/market/twfutures/stock_futures/batch/daily", headers=headers,                    params={"futures_ids": "CDF,DHF", "start": "2026-08-01"}, timeout=120).json()

Phản hồi

{"data": {"<futures_id>": [...rows as /daily...]}, "failed": [...]}. failed = các mã lấy dữ liệu thất bại (thử lại); mã không có trong cả hai thì thực sự không có dữ liệu.

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "futures_ids parameter required"}Thiếu
400{"error": "futures_ids exceeds max 250 per request"}Quá nhiều
400{"error": "Invalid stock futures_id(s): [...]"}Có mã không phải hợp đồng tương lai cổ phiếu
503{"error": "Stock futures symbol list temporarily unavailable. Please retry shortly."}Danh sách mã không khả dụng

Nhà đầu tư tổ chức hợp đồng tương lai Đài Loan

GET/studio/market/twfutures/institutional/<futures_id>
Dữ liệu từ
2018-06-05
Tần suất cập nhật
Hằng ngày, sau khoảng 15:00 giờ Đài Bắc

Tham số

TênMô tảGiá trị hợp lệMặc định
futures_id
string · pathBắt buộc
Sản phẩmHợp đồng tương lai chỉ số — TX, MTX, TMF, TE, TF (tất cả đã được xác nhận là trả về dữ liệu); không hỗ trợ hợp đồng tương lai cổ phiếu
start
string · query
Ngày đầu tiênYYYY-MM-DD2018-06-05
end
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
data = requests.get(f"{BASE_URL}/studio/market/twfutures/institutional/TX", headers=headers,                    params={"start": "2026-08-01"}, timeout=60).json()["data"]

Phản hồi

{"futures_id", "data": [...]}, 3 dòng mỗi ngày (自營商 / 投信 / 外資).

TrườngMô tả
date, futures_idNgày, sản phẩm
institutional_investorsLoại nhà đầu tư
long_deal_volume / long_deal_amountGiao dịch long (hợp đồng / nghìn TWD)
short_deal_volume / short_deal_amountGiao dịch short
long_open_interest_balance_volume / long_open_interest_balance_amountOI long
short_open_interest_balance_volume / short_open_interest_balance_amountOI short

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "Invalid futures_id"}Không qua kiểm tra định dạng
404{"error": "institutional data not available for stock futures (<id>)"}Hợp đồng tương lai cổ phiếu
404thông báo lỗiKhông có dữ liệu
503giới hạn tần suất upstream / danh sách mã không khả dụngThử lại sau

Ghi chú

  • Ngày mới nhất lấy từ dữ liệu công bố chính thức của TAIFEX.
  • *_amount tính bằng nghìn TWD — suy ra từ độ lớn, upstream không ghi rõ, nhưng phép tính xác nhận điều đó: một dòng TX có long_open_interest_balance_amount 722870036 chia cho ..._volume 78292 là 9,233 mỗi hợp đồng, mà một hợp đồng TX bằng chỉ số × 200, nên 9,233 nghìn ÷ 200 ≈ 46,160 điểm chỉ số, đúng vùng chỉ số giao dịch hôm đó. Nếu đọc theo TWD thì con số sẽ nhỏ đi 1,000×.
  • Cache máy chủ: 5 phút.

Nhà giao dịch lớn hợp đồng tương lai Đài Loan

GET/studio/market/twfutures/large_traders/<futures_id>
Dữ liệu từ
2007-01-02
Tần suất cập nhật
Hằng ngày

Tham số

TênMô tảGiá trị hợp lệMặc định
futures_id
string · pathBắt buộc
Sản phẩmHợp đồng tương lai chỉ số, ví dụ TX; không hỗ trợ hợp đồng tương lai cổ phiếu
start
string · query
Ngày đầu tiênYYYY-MM-DD1998-07-01
end
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
data = requests.get(f"{BASE_URL}/studio/market/twfutures/large_traders/TX", headers=headers,                    params={"start": "2026-08-01"}, timeout=60).json()["data"]

Phản hồi

{"futures_id", "data": [...]}, 3 dòng mỗi ngày (contract_type: tuần / tháng hiện tại / tất cả).

TrườngMô tả
date, futures_id, name, contract_typeNgày, sản phẩm, tên sản phẩm, phạm vi hợp đồng
buy_top5_trader_open_interest / buy_top10_trader_open_interest (+ _per)OI long của top 5 / 10 nhà giao dịch (hợp đồng, % toàn thị trường)
sell_top5_trader_open_interest / sell_top10_trader_open_interest (+ _per)OI short của top 5 / 10 nhà giao dịch
buy_top5_specific_open_interest / buy_top10_specific_open_interest (+ _per)OI long của top 5 / 10 pháp nhân đặc thù
sell_top5_specific_open_interest / sell_top10_specific_open_interest (+ _per)OI short của top 5 / 10 pháp nhân đặc thù
market_open_interestTổng OI toàn thị trường

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "Invalid futures_id"}Không qua kiểm tra định dạng
404{"error": "large_traders data not available for stock futures (<id>)"}Hợp đồng tương lai cổ phiếu
404thông báo lỗiKhông có dữ liệu
503giới hạn tần suất upstream / danh sách mã không khả dụngThử lại sau

Ghi chú

  • Cache máy chủ: 5 phút.

Nhà đầu tư tổ chức quyền chọn Đài Loan

GET/studio/market/twfutures/option/institutional/<option_id>
Dữ liệu từ
2018-06-05
Tần suất cập nhật
Hằng ngày

Tham số

TênMô tảGiá trị hợp lệMặc định
option_id
string · pathBắt buộc
Sản phẩm quyền chọnTXO (chấp nhận 2–6 chữ cái)
start
string · query
Ngày đầu tiênYYYY-MM-DD2018-06-05
end
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
data = requests.get(f"{BASE_URL}/studio/market/twfutures/option/institutional/TXO", headers=headers,                    params={"start": "2026-08-01"}, timeout=60).json()["data"]

Phản hồi

{"option_id", "data": [...]}, 6 dòng mỗi ngày (3 loại nhà đầu tư × call / put). Các trường: date, option_id, call_put (買權 / 賣權), institutional_investors, cùng các trường khối lượng / giá trị giao dịch và hợp đồng mở long_* / short_* giống như nhà đầu tư tổ chức hợp đồng tương lai.

Lỗi

400 {"error": "Invalid option_id"}; 404 không có dữ liệu; 503 giới hạn tần suất upstream.

Ghi chú

  • Cache máy chủ: 5 phút.

Nhà giao dịch lớn quyền chọn Đài Loan

GET/studio/market/twfutures/option/large_traders/<option_id>
Dữ liệu từ
2007-01-02
Tần suất cập nhật
Hằng ngày

Tham số

TênMô tảGiá trị hợp lệMặc định
option_id
string · pathBắt buộc
Sản phẩm quyền chọnTXO (chấp nhận 2–6 chữ cái)
start
string · query
Ngày đầu tiênYYYY-MM-DD1998-07-01
end
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
data = requests.get(f"{BASE_URL}/studio/market/twfutures/option/large_traders/TXO", headers=headers,                    params={"start": "2026-08-01"}, timeout=60).json()["data"]

Phản hồi

{"option_id", "data": [...]}, 6 dòng mỗi ngày (call / put × tuần / tháng hiện tại / tất cả). Các trường: date, option_id, name, put_call, contract_type, cùng các trường hợp đồng mở của top-5 / top-10 nhà giao dịch và pháp nhân đặc thù giống như nhà giao dịch lớn hợp đồng tương lai, thêm market_open_interest.

Lỗi

400 {"error": "Invalid option_id"}; 404 không có dữ liệu; 503 giới hạn tần suất upstream.

Ghi chú

  • Cache máy chủ: 5 phút.

Tỷ lệ Put/Call của TXO

GET/studio/market/twfutures/option/pcr
Dữ liệu từ
2001-12-24
Tần suất cập nhật
Hằng ngày

Tham số

TênMô tảGiá trị hợp lệMặc định
start
string · query
Ngày đầu tiênYYYY-MM-DD2001-12-24
end
string · query
Ngày cuối cùngYYYY-MM-DDhôm nay

Ví dụ

Python
data = requests.get(f"{BASE_URL}/studio/market/twfutures/option/pcr", headers=headers,                    params={"start": "2024-01-01", "end": "2024-12-31"}, timeout=60).json()["data"]# [{"date": "2024-01-02", "put_volume": 309583, "call_volume": 404231, "volume_pcr": 76.59,#   "put_oi": 263673, "call_oi": 246495, "oi_pcr": 106.97, "pcr": 106.97},#  {"date": "2024-01-03", "put_volume": 622854, "call_volume": 729547, "volume_pcr": 85.38,#   "put_oi": 177203, "call_oi": 178062, "oi_pcr": 99.52, "pcr": 99.52}, ...]

Phản hồi

{"data": [...]}, mỗi ngày giao dịch một dòng.

TrườngĐơn vịMô tả
date—Ngày giao dịch
put_volume / call_volumehợp đồngKhối lượng put / call
volume_pcr%Tỷ lệ khối lượng put/call
put_oi / call_oihợp đồngHợp đồng mở put / call
oi_pcr%Tỷ lệ hợp đồng mở put/call (買賣權未平倉量比率)
pcr%Giống oi_pcr (giữ lại để tương thích)

Lỗi

404 không có dữ liệu; 503 kho dữ liệu chưa sẵn sàng hoặc giới hạn tần suất upstream.

Ghi chú

  • Tỷ lệ chính thức của TAIFEX — không suy ra từ dữ liệu nhà đầu tư tổ chức hay nhà giao dịch lớn của quyền chọn.
  • Cache máy chủ: 5 phút.

Giá vốn nắm giữ của tổ chức trên hợp đồng tương lai chỉ số Đài Loan

GET/studio/market/twfutures/carrying_cost/<identity>
Dữ liệu từ
2023-10-18
Tần suất cập nhật
Hằng ngày, 15:40 và 17:40 giờ Đài Bắc

Ước tính của Blave về giá vốn bình quân của vị thế ròng hợp đồng tương lai TAIEX của một tổ chức, kèm lãi/lỗ chưa thực hiện và đã thực hiện. Đây là ước tính từ số liệu tổng hợp hằng ngày, không phải các lệnh khớp thực tế của tổ chức đó.

Phương pháp:

  • Vị thế = OI long − OI short, quy đổi sang hợp đồng 大台 (TX): TX × 1, MTX × 1/4, TMF × 1/20 (scope=all), hoặc chỉ TX (scope=tx).
  • Khi tăng vị thế, dùng giá giao dịch bình quân trong ngày của chính tổ chức đó ở phía được tăng thêm (TAIFEX 交易契約金額 ÷ (口數 × 200)) và cập nhật giá vốn bình quân gia quyền. Khi giảm vị thế, ghi nhận lãi/lỗ đã thực hiện theo giá bình quân của phía đối ứng và giữ nguyên giá vốn. Khi đảo chiều hoặc đóng hết vị thế, toàn bộ vị thế cũ được hiện thực hóa; chiều mới bắt đầu ở giá của ngày đó.
  • Mỗi ngày thanh toán hằng tháng (thứ Tư thứ ba của tháng; ngày giao dịch kế tiếp nếu nghỉ) bắt đầu một chu kỳ mới: giá vốn đặt lại về giá mark và lãi/lỗ đã thực hiện về 0. Nhờ vậy giá vốn không phụ thuộc vào điểm bắt đầu của dữ liệu.
  • Giá mark = mức định giá vị thế mở của chính TAIFEX (giá trị hợp đồng OI ÷ (số hợp đồng × 200), tức theo giá thanh toán của từng tháng). Lãi/lỗ chưa thực hiện = (mark − giá vốn) × số hợp đồng ròng × 200.

Tham số

TênMô tảGiá trị hợp lệMặc định
identity
string · pathBắt buộc
外資 / 投信 / 自營商foreign, investment_trust, dealer
start
string · query
Ngày giao dịch đầu tiên, bao gồm cả ngày đóYYYY-MM-DD2023-10-18 (toàn bộ lịch sử)
end
string · query
Ngày giao dịch cuối cùng, bao gồm cả ngày đóYYYY-MM-DDhôm nay
scope
string · query
all = TX + MTX + TMF quy đổi theo hợp đồng TX; tx = chỉ 大台 (cơ sở mà phần lớn các trang Đài Loan trích dẫn)all, txall

Sổ ghi luôn chạy từ đầu lịch sử đã lưu; start / end chỉ cắt cửa sổ, nên cùng một ngày có cùng giá trị dù bạn yêu cầu cửa sổ nào.

Ví dụ

Python
body = requests.get(f"{BASE_URL}/studio/market/twfutures/carrying_cost/foreign", headers=headers,                    params={"start": "2026-10-06"}, timeout=60).json()rows = body["data"]# Live capture 2026-10-07 (scope=all):# {"identity": "foreign", "scope": "all", "data": [#   {"date": "2026-10-06", "net_open_interest": -78570.7, "net_open_interest_change": -3923.5,#    "cost": 46527.57, "txf_close": 50060.0, "mark_price": 50088.51,#    "unrealized_pnl": -55957022956, "realized_pnl": -5893982992, "total_pnl": -61851005948,#    "cycle_start": "2026-09-16"},#   {"date": "2026-10-07", "net_open_interest": -78435.8, "net_open_interest_change": 134.9,#    "cost": 46527.57, "txf_close": 49979.0, "mark_price": 49974.38,#    "unrealized_pnl": -54070636128, "realized_pnl": -5988669182, "total_pnl": -60059305310,#    "cycle_start": "2026-09-16"}]}gap = rows[-1]["txf_close"] - rows[-1]["cost"]   # points the market is above (+) / below (−) their cost

Phản hồi

{"identity", "scope", "data": [...]}, mỗi ngày giao dịch một dòng, cũ nhất → mới nhất; "stale": true chỉ được thêm khi bản sao của máy chủ chậm hơn ngày công bố gần nhất của TAIFEX (dòng mới nhất có thể bị thiếu).

TrườngKiểuĐơn vịMô tả
datestring—Ngày giao dịch (giờ Đài Bắc)
net_open_interestfloathợp đồng quy đổi theo TXOI long − OI short (âm = short ròng)
net_open_interest_changefloathợp đồngThay đổi so với ngày giao dịch trước
costfloat | nullđiểm chỉ sốGiá vốn bình quân gia quyền của vị thế ròng; null khi không có vị thế
txf_closefloat | nullđiểm chỉ sốGiá đóng cửa phiên ngày của TX tháng gần nhất (hợp đồng đáo hạn bị bỏ qua trong ngày thanh toán)
mark_pricefloat | nullđiểm chỉ sốMức định giá vị thế của TAIFEX, theo giá thanh toán
unrealized_pnlintTWD(mark − giá vốn) × số hợp đồng ròng × 200
realized_pnlintTWDĐã thực hiện kể từ cycle_start; đặt lại về 0 vào mỗi ngày thanh toán
total_pnlintTWDunrealized_pnl + realized_pnl
cycle_startstring—Ngày thanh toán mở ra chu kỳ hiện tại

Lỗi

Mã trạng tháiNội dung phản hồiTrường hợp
400{"error": "Invalid identity. Allowed: ['dealer', 'foreign', 'investment_trust']"}identity không xác định
400{"error": "Invalid scope. Allowed: ['all', 'tx']"}scope không xác định
400{"error": "Invalid start date, expected YYYY-MM-DD"} (hoặc end) / {"error": "start must not be after end"}Ngày không hợp lệ / khoảng bị đảo ngược
503{"error": "Market data is not ready on this server. Please retry later."}Kho dữ liệu chưa sẵn sàng — thử lại sau, không bao giờ đọc thành "không có vị thế"
500{"error": "Internal error"}Lỗi máy chủ không mong muốn

Ghi chú

  • Chỉ gồm hợp đồng tương lai: vị thế quyền chọn (kể cả phần phòng hộ của tự doanh) không nằm trong sổ ghi, nên khoản "lỗ" của tự doanh ở đây có thể được bù đắp ở nơi khác.
  • Ngay sau ngày thanh toán, giá vốn bằng giá mark theo đúng cách xây dựng — những ngày đầu của một chu kỳ nói lên rất ít về nơi vị thế thực sự được thiết lập.
  • Số liệu 外資成本 của các trang khác dùng quy tắc khác (chỉ TX, lấy giá đóng cửa tháng gần nhất làm giá giao dịch, hoặc không công bố) — con số sẽ khác nhau; hãy so sánh cùng cơ sở (scope=tx).
  • TAIFEX chỉ công bố khoảng ba năm gần nhất, và điều đó quyết định ngày bắt đầu.
  • Được cập nhật mỗi ngày sau khi TAIFEX công bố.
  • Cache máy chủ: 5 phút.