台湾市場全体 API

5 個のエンドポイント

最終更新 2026-10
ベース URL
https://api.blave.org
認証
すべてのリクエストに api-key と secret-key ヘッダーを付ける
アクセス
API plan or Blave Agent plan
レート制限
キーごと・IP ごとに 5 分間 500 リクエスト

共通ルール

市場全体の日次系列です(stock_id はありません)。start/end は任意の YYYY-MM-DD で、省略すると全履歴を返します。銘柄別エンドポイントの合計で代用しないでください。カバー範囲も単位も異なります。

TAIEX 日足 OHLC

GET/studio/market/twmarket/index/<index_id>
データ開始
1999-01-05
更新頻度
毎日

パラメータ

名称説明許容値デフォルト
index_id
string · path必須
TAIEX のみ対応TAIEX(大文字・小文字を区別しません)
start
string · query
開始日YYYY-MM-DD1999-01-05
end
string · query
終了日YYYY-MM-DD今日

例

Python
body = requests.get(f"{BASE_URL}/studio/market/twmarket/index/TAIEX", headers=headers,                    params={"start": "2024-01-01", "end": "2024-12-31"}, timeout=60).json()# {"index_id": "TAIEX", "data": [{"date": "2024-01-02", "open": 17939.79, "high": 17956.74, "low": 17784.97, "close": 17853.76}, ...]}

レスポンス

{"index_id": "TAIEX", "data": [{"date", "open", "high", "low", "close"}]}。価格の単位は指数ポイントです。出来高はありません。/twmarket/turnover を使ってください。

エラー

ステータスレスポンスボディ条件
400{"error": "Unsupported index"}TAIEX ではない
404エラーメッセージデータなし
503{"error": "Market data is not ready on this server. Please retry later."}/アップストリームのレート制限ストアが未準備/アップストリームが停止中

備考

  • この系列は TWSE が公式に公表する指数です。
  • サーバーキャッシュ:5 分。

市場全体の売買高

GET/studio/market/twmarket/turnover
データ開始
1990-01-04
更新頻度
毎日

パラメータ

名称説明許容値デフォルト
start
string · query
開始日YYYY-MM-DD1990-01-04
end
string · query
終了日YYYY-MM-DD今日

例

Python
data = requests.get(f"{BASE_URL}/studio/market/twmarket/turnover", headers=headers,                    params={"start": "2024-01-01"}, timeout=60).json()["data"]# [{"date": "2024-01-02", "volume": 6411778806.0, "value": 301290668897.0, "trades": 2267660.0}, ...]

レスポンス

{"data": [...]}.

フィールド単位説明
date—取引日
volume株出来高(成交股數)
value台湾ドル売買代金(成交金額)
trades件約定件数(成交筆數)

エラー

404 データなし、503 ストアが未準備またはアップストリームのレート制限。

備考

  • 数値は TWSE が公式に公表する市場全体の売買統計です。
  • サーバーキャッシュ:5 分。

市場全体の三大機関投資家の売買差額

GET/studio/market/twmarket/institutional
データ開始
2004-04-07
更新頻度
毎日

パラメータ

名称説明許容値デフォルト
start
string · query
開始日YYYY-MM-DD2004-04-07
end
string · query
終了日YYYY-MM-DD今日

例

Python
data = requests.get(f"{BASE_URL}/studio/market/twmarket/institutional", headers=headers,                    params={"start": "2024-01-01"}, timeout=60).json()["data"]# [{"date": "2024-01-02", "foreign": 1047078183.0, "investment_trust": 189637635.0,#   "dealer": -4448119903.0, "total": -3211404085.0}, ...]

レスポンス

{"data": [{"date", "foreign", "investment_trust", "dealer", "total"}]}。値はすべて差額(買い − 売り)で、単位は台湾ドルです。

エラー

404 データなし、503 アップストリームのレート制限。

備考

  • 市場全体のデータです。foreign は外資及陸資で、外国人自己売買部門の自己勘定取引(外資自營商)を除きます。dealer は自營商(自行買賣 + 避險)で、TWSE はここに外資自營商をすでに含めています。銘柄別のエンドポイント(GET /studio/market/twstock/institutional/<stock_id>)は別の階層のデータで、区分ごとの元の列を返し、集約は一切しません。この二つを混ぜないでください。
  • foreign + investment_trust + dealer は、どの日も total(取引所が公表する三大法人合計)と一致します。外資自營商は独立した列ではありません。これはワラント/ETN にのみ現れますが、Blave はこれらを提供しておらず、2024-08-16 より後は毎日 0 です。
  • サーバーキャッシュ:5 分。

市場全体の信用取引残高

GET/studio/market/twmarket/margin
データ開始
2001-01-03
更新頻度
毎日

パラメータ

名称説明許容値デフォルト
start
string · query
開始日YYYY-MM-DD2001-01-03
end
string · query
終了日YYYY-MM-DD今日

例

Python
data = requests.get(f"{BASE_URL}/studio/market/twmarket/margin", headers=headers,                    params={"start": "2024-01-01"}, timeout=60).json()["data"]# [{"date": "2024-01-02", "margin_balance": 8012561, "margin_balance_prev": 7999081,#   "margin_balance_value": 248424271000, "short_balance": 369678, "short_balance_prev": 359738}, ...]

レスポンス

{"data": [...]}.

フィールド単位説明
date—取引日
margin_balance / margin_balance_prevロット(張)信用買い残(融資餘額)の当日/前日
margin_balance_value台湾ドル信用買い残の金額(融資餘額金額)
short_balance / short_balance_prevロット(張)信用売り残(融券餘額)の当日/前日

エラー

404 データなし、503 アップストリームのレート制限。

備考

  • サーバーキャッシュ:5 分。

TAIEX 日次配当落ちポイント

GET/studio/market/twmarket/dividend_points
データ開始
2003-01-02(実績)。予測は今日 + 120 日まで
更新頻度
毎日、台北時間 17:00 頃(実績)

パラメータ

名称説明許容値デフォルト
start
string · query
開始日厳密な YYYY-MM-DD2003-01-02
end
string · query
終了日。通知なしで今日 + 120 日に切り詰められます厳密な YYYY-MM-DD今日 + 120 日

例

Python
import pandas as pdpayload = requests.get(f"{BASE_URL}/studio/market/twmarket/dividend_points", headers=headers,                       params={"start": "2026-08-01"}, timeout=60).json()# {"data": [{"date": "2026-08-03", "points": 2.853, "estimated": false}, ...,#           {"date": "2026-08-28", "points": 3.846, "estimated": true}, ...],#  "meta": {"estimated_coverage": 0.9999, "degraded": false}}df = pd.DataFrame(payload["data"])future_div = df[df["estimated"]].set_index("date")["points"]# fair basis at t for settlement T: futures_price - (spot_index - future_div.loc[t_plus_1:T].sum())

レスポンス

{"data": [{"date", "points", "estimated"}], "meta": {"estimated_coverage", "degraded"}}.

フィールド型説明
data[].datestring日付
data[].pointsfloatその日の配当落ちによって指数から差し引かれるポイント
data[].estimatedboolfalse = 実績(トータルリターン指数(TR)と価格指数の差から算出。配当落ちのない日は ≈ 0)、true = 予測(将来の平日。イベントのない日は 0 で埋めます)
meta.estimated_coveragefloat | null予測の入力データを読み取れた構成銘柄が TAIEX のウェイトに占める割合。予測の行がない場合は null
meta.degradedbooltrue = 予測のカバー率が大きく不足しています。下限として扱ってください

エラー

ステータスレスポンスボディ条件
400{"error": "Invalid start date, expected YYYY-MM-DD"}(または end)日付の形式が不正
404{"error": "No TAIEX index data available"}ストアが空で、アップストリームにもデータなし
503エラーメッセージ予測のカバー率が 90% 未満、ストアが未準備、またはアップストリームのレート制限

備考

  • 台北時間 17:00 頃より前は、最新の実績の行は前取引日のものです。
  • 約 2 週間より先の予測は、主に前年のテンプレートに基づきます。
  • 予測の行は、start が明日より後であっても、常に明日から end まで返ります。クライアント側で絞り込んでください。
  • サーバーキャッシュ:5 分(予測の入力データは 1 時間)。
  • 実績の部分はトータルリターン指数と価格指数の差です。予測には、公告済みの配当と前年のテンプレートを使います。