Skip to content

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.