跳轉到

盤後逐筆與分鐘資料

FinLab 2.0.20 起,可透過 data.get() 下載已發布的台股逐筆成交與一般交易時段分鐘線。 資料在盤後收集;只有通過檢查的股票日期才開放下載,歷史覆蓋仍在補齊。

from finlab import data

# 登入 FinLab 後即可下載;使用者不需要 Shioaji 帳號。
ticks = data.get("tw_tick:2330", start="2026-06-01", end="2026-06-01")
minutes = data.get("tw_minute:2330", start="2026-06-01", end="2026-06-01")

台股資料會員可查詢已發布的股票日期。免費會員可下載 23302026-06-01 的固定樣本。 下載計入原有每日資料配額;快取命中不重複扣量。資料是未還原價格。

日期與回傳格式

startend 必填,以台北交易日期為準,包含頭尾,每次最多 31 個日曆日。 股票代號保留字串,例如 tw_tick:0050。兩種資料都回傳長表 pandas.DataFrame, 不套用日頻矩陣的股票 universe、欄位對齊或日期截斷設定。 目前不支援 data.gets()lazy=True、進度回呼或 local-only 模式。

tick 欄位 意義
stock_id, trade_date 股票代號與交易日期
timestamp Asia/Taipei 時區的奈秒時間
sequence 股票日檔的來源列序;不是交易所成交編號
ts 原來源的整數奈秒時間,保留原值
close, volume 成交價與來源原始成交量
tick_type 1 外盤、2 內盤、0 未判定;不代表法人或主力身分
bid_price, ask_price, bid_volume, ask_volume 來源有提供才有值;舊檔缺少時為 null
session regularafter_hours_fixed;未識別時段不會通過發布檢查

volume 保留 Shioaji 原始數值,單位標在 attrs['volume_unit']provider_native, 不要直接當成股數。相同時間戳可以有多筆合法成交,請保留 sequence,不要只依時間去重。

分鐘資料包含 stock_idtrade_datetimestampsessionopenhighlowclosevolumetick_countvwap。時間標籤在區間左端;13:30 收盤撮合獨立成列。 不補齊沒有成交的分鐘,也不延用前一筆價格。14:30 盤後定價保留在 tick,未混入一般分鐘線。

完整性與缺資料

一般交易時段 tick 的總量及 OHLC 必須與 Shioaji Kbars 對得上才發布, 參考分鐘線中的零量補值列不參與價格核對。這能檢查來源間的一致性, 不等於交易所逐筆成交的獨立認證。盤後定價目前只有 schema 檢查, 可由 attrs['after_hours_validation'] 確認。

請求範圍中若有交易日尚未收齊,會拋出 DataError 並列出缺少日期,不會默默略過。 日資料確認無成交的日期記在 attrs['no_trade_dates'],已確認休市日期記在 attrs['closed_dates']。超出已確認日曆範圍也會報錯。

已下載分區依實體檔案、generation 與 checksum 快取;每次查詢仍確認最新發布清單。 需要重抓時可使用 force_download=True。正常化、更正或重跑不會混用兩個版本。