盤後逐筆與分鐘資料
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")
台股資料會員可查詢已發布的股票日期。免費會員可下載 2330/2026-06-01 的固定樣本。
下載計入原有每日資料配額;快取命中不重複扣量。資料是未還原價格。
日期與回傳格式
start 與 end 必填,以台北交易日期為準,包含頭尾,每次最多 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 |
regular 或 after_hours_fixed;未識別時段不會通過發布檢查 |
volume 保留 Shioaji 原始數值,單位標在 attrs['volume_unit'] 為 provider_native,
不要直接當成股數。相同時間戳可以有多筆合法成交,請保留 sequence,不要只依時間去重。
分鐘資料包含 stock_id、trade_date、timestamp、session、open、high、low、
close、volume、tick_count、vwap。時間標籤在區間左端;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。正常化、更正或重跑不會混用兩個版本。