After-market ticks and minute bars
FinLab 2.0.20 adds published Taiwan stock-day partitions through data.get().
Historical coverage is being populated; missing trading dates raise DataError instead of silently returning partial results.
from finlab import data
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")
Taiwan data subscribers can download available partitions. The free sample is 2330 on 2026-06-01. No personal Shioaji account is needed. Downloads use the existing daily quota; cached partitions incur no additional download charge.
Both dates are required and inclusive, in Asia/Taipei, with at most 31 calendar days per request.
Symbols remain strings, including leading zeros. Results are long-form pandas DataFrames, with unadjusted prices.
Daily matrix universe/alignment/truncation settings do not apply. Batch gets(), lazy mode, progress callbacks and local-only mode are not supported.
Ticks retain stock_id, trade_date, timezone-aware timestamp, source-row sequence, raw nanosecond ts,
close, volume, tick_type, nullable bid_price, ask_price, bid_volume, ask_volume, and session.
Identical timestamps may identify different trades; do not deduplicate by timestamp. Sequence is not an exchange trade ID.
Tick types are 1 outside, 2 inside, and 0 unknown, not investor identities.
Volume retains the provider's original values; attrs['volume_unit'] is provider_native, not a claim of share units.
Minute bars contain OHLCV, tick_count, and vwap, labelled at the left edge. The 13:30 auction is a separate row.
Missing minutes are omitted, without forward-filling prices. The 14:30 fixed-price session is retained in ticks only.
Publication checks regular-session tick OHLCV against Shioaji Kbars, excluding zero-volume reference bars from price checks.
This verifies consistency between provider outputs, not an independent exchange audit. After-hours trades have schema validation only,
recorded in attrs['after_hours_validation'].
Verified no-trade and closed dates appear in attrs['no_trade_dates'] and attrs['closed_dates'].
Requests outside the verified calendar fail explicitly. Cache identity includes object path, generation and checksum;
force_download=True refreshes downloaded partitions.
Futures contract-month minute bars
tw_futures_minute:PRODUCT_YYYYMM covers futures in TAIFEX trade files, including single-stock futures and all contract months. Weekly contracts retain W1–W5. Contracts are not rolled into a continuous series.
minutes = data.get("tw_futures_minute:TX_202610", start="2026-10-02", end="2026-10-02")
stock_future = data.get(
"tw_futures_minute:CDF_202610", start="2026-10-02", end="2026-10-02"
)
Both regular and after-hours sessions are included (session: regular or after_hours). stock_id combines product and maturity. Request dates select trading days; timestamps preserve actual execution time, so Friday-night trades can belong to Monday's trading day.
Volume is in contracts, counting outright trades only; calendar spreads and block trades are excluded (attrs['volume_scope'] = 'outright_only'). Publication verifies each contract/session's volume against official daily totals after subtracting spread legs.
Updates occur after market close, initially backfilling the available previous 30 trading days, then accumulating history. Actual coverage depends on published partitions. The source has one-second precision: equal-time open/close use source-row order, and tick_count counts outright trade rows.
Paid Taiwan data access, date bounds, missing-data errors and caching rules above apply; no futures free sample is provided.