TAIFEX Options Chain — 台指選擇權逐履約價行情 API
Pricing
from $0.50 / 1,000 results
TAIFEX Options Chain — 台指選擇權逐履約價行情 API
Full Taiwan options chain by strike and expiry, back to the first TAIEX options session in 2001-12-24, with the exchange's own published Delta joined on. TXO, sector, gold and stock options. Every row re-checks the change against the previous settlement price.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
chris
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
TAIFEX Options Chain (台指選擇權逐履約價行情) API
Get structured JSON access to the full Taiwan options chain, strike by strike and expiry by expiry, back to 2001-12-24 — the first TAIEX options session ever traded. Open, high, low, close, change, volume, settlement price, open interest and the last best bid/ask for every series, in both the daytime and overnight sessions, with the exchange's own published Delta joined on.
TXO (TAIEX options) is the headline contract, but the same download covers the sector and gold options and all 43 currently listed contracts, including the single-stock options on TSMC, Hon Hai, MediaTek and the ETF options.
Why this data matters
- The exchange publishes Delta. No pricing model needed. TAIFEX computes an official Delta per strike, per expiry, per side, and this Actor joins it straight onto the chain — 8,550 series on a typical session. No Black-Scholes, no implied-volatility fit, no assumptions about the risk-free rate or the dividend stream. It is checked on every run: calls must sit in
[0, 1], puts in[-1, 0], and Delta must fall as the strike rises. On 2026-08-27 that held for all 8,550 rows and all 8,285 adjacent strike pairs. - Twenty-five years of history, one month per request. The exchange serves at most a month per download, so the Actor splits any range into monthly windows automatically. The archive genuinely reaches 2001-12-24: that session comes back with 50 rows across the two January 2002 expiries. This is not the case for the TAIFEX futures downloads, which are limited to a rolling three-year window — the options archive is the deeper one.
- Every row re-checks the change against the previous settlement price. The exchange prints a change but never says what it measured against. Measured across every TXO series in August 2026:
close − previous session's regular-hours settlement priceequals the printed change for 15,485 of 15,485 regular rows and 12,985 of 12,985 overnight rows, exactly, with no exceptions. That basis is now asserted on every run and published asprevious_settlement_priceso you can check it yourself. The printed percentage is checked against the same basis, down to the rounding rule: TAIFEX rounds away from zero, not to even — −15.625 prints as −15.63 — which reproduces all 28,400 published percentages where half-to-even gets only 28,293. - Weekly expiries are classified, not left as an opaque string.
202609settles on the third Wednesday;202609W1settles on a Wednesday of its own week;202608F4settles on a Friday. Confirmed against the exchange's own settlement-date column rather than assumed —expiry_kindgives youMONTHLY,WEEKLY_WEDNESDAYorWEEKLY_FRIDAY, plus the settlement date itself where the exchange prints it. - Cross-validated against two independently built feeds. With
crossCheckon, the parsed chain is compared value-by-value against the exchange's open-data mirror of the same session, and its put/call ratio is recomputed from the parsed rows and compared against the published one. On 2026-08-27: 11,782 series matched with nothing unmatched on either side, and every price, volume, settlement and open-interest value identical; the put/call totals reproduced all four published columns exactly. - Nobody serves this in English, or for free. The source is a Big5-encoded CSV behind a form that rejects most of what you send it, in a market where the chain is the most heavily traded derivative in the country.
Output
One record per strike, per expiry, per side, per session. A real TXO put on the weekly expiry settling 2026-09-02, as published:
{"date": "2026-08-27","contract_code": "TXO","contract_name": "臺指選擇權","contract_name_en": "TAIEX Options","underlying_group": "TXO","expiry_code": "202609W1","expiry_month": "2026-09","expiry_kind": "WEEKLY_WEDNESDAY","expiry_week": 1,"expiry_date": "2026-09-02","strike": 44000.0,"call_put": "PUT","trading_session": "REGULAR","open": 86.0,"high": 88.0,"low": 59.0,"close": 76.0,"change": -44.0,"change_pct": -36.67,"previous_settlement_price": 120.0,"change_matches_previous_settlement": true,"volume": 260,"settlement_price": 76.0,"open_interest": 255,"best_bid": 73.0,"best_ask": 78.0,"historical_high": 780.0,"historical_low": 59.0,"delta": -0.1384,"delta_as_of": "2026-08-27","trading_halt": false,"trading_halt_note": null,"source_report": "TAIFEX optDataDown"}
Both printed figures reconcile against the basis: 76.0 − 120.0 = −44.0, and −44.0 / 120.0 × 100 = −36.666…, which rounds to the −36.67 the exchange printed.
Input
| Field | What it does |
|---|---|
contracts | Contract codes: TXO, TEO, TFO, TGO, stock options such as CDO (TSMC) or DHO (Hon Hai), or ALL. Empty means TXO. |
startDate / endDate | YYYY-MM-DD. Empty means the latest session. |
callPut | ALL, CALL or PUT. |
tradingSession | ALL, REGULAR (daytime) or AFTER_HOURS (overnight). |
onlyTraded | Drop strikes that did not trade. A full chain quotes hundreds that never do. |
minOpenInterest | Keep only strikes carrying at least this many open contracts. |
includeDelta | Join the exchange's published Delta. Latest session only. |
crossCheck | Compare against the open-data mirror and the published put/call ratio. |
The exchange serves one month per download, so a range is split into monthly requests: 24 per run for named contracts, 3 when ALL is asked for (a whole-market session is ~11,800 rows). Ranges starting before 2001-12-24 are rejected up front rather than returning an empty run. A contract listed later than your start date simply returns nothing for the years before it existed.
Things this dataset is honest about
The two sessions are scoped differently, and it matters for aggregation. TAIFEX runs a daytime session (一般) and an overnight one (盤後), and prints a row for each. Only the daytime rows carry a settlement price and open interest; the overnight rows print a dash for both. This is not a gap in the data — it is how the exchange defines the columns, and reproducing its own published put/call ratio proves it:
| TXO, 2026-08-27 | Sum of daytime rows | Sum of both sessions | Published by TAIFEX |
|---|---|---|---|
| Call volume | 85,819 | 129,911 | 129,911 |
| Put volume | 110,905 | 158,174 | 158,174 |
| Call open interest | 58,254 | — | 58,254 |
| Put open interest | 61,636 | — | 61,636 |
Volume spans both sessions; open interest is daytime only. Filter on trading_session accordingly.
Run before the daytime session publishes and you get yesterday, plus last night. The overnight session trades ahead of the day it is filed under, so at 10am the newest date in the download holds overnight rows only. Asked for "the latest session" the Actor publishes the most recent complete session together with the overnight rows filed after it, and says so in the log, rather than handing back a few hundred overnight rows and calling that a day.
One underlying can have more than one contract code, and they are not interchangeable. TSMC options trade as both CDO and CDA, Hon Hai as DHO and DHA. On 2026-08-27, CDO quoted 27 strikes on a standard ladder while CDA quoted a single strike of 2,100 — different ladders, and nothing here merges them. underlying_group gives you the shared two-letter family for grouping; the rows themselves stay exactly as the exchange published them.
The open-data mirror is sparser than the download. The exchange's JSON feed leaves best_bid, best_ask, historical_high and historical_low blank on rows where the CSV carries a value — 9,711 times on 2026-08-27, always in that direction, never the reverse. The Actor takes the download's values and reports the blanks separately from a real disagreement, of which there were none.
Delta covers the latest session only. The feed carries no date of its own, so it is only ever joined onto the session the exchange's daily report says it was published with; historical rows come back with delta: null. delta_as_of records which session a Delta belongs to, so a multi-day pull never leaves you guessing.
A dash is not a zero. Hundreds of strikes go a whole session without a trade, and the exchange prints a dash for their prices. Those become null, not 0.0 — writing a zero close into an untraded far-out-of-the-money strike would invent a price that never existed.
The report changed shape in December 2025. It gained a 契約到期日 (settlement date) column, and everything before that layout has expiry_date: null rather than a derived date. Every column here is read by name, so the next addition will not silently shift a column into the wrong field — and a column that disappears fails the run instead of quietly producing garbage.
Taiwan Market Data Suite
This Actor is part of a suite of 25 Taiwan market data APIs by chamarix — official sources only, cross-validated against independent official endpoints, clean JSON out. Code samples for the whole suite: GitHub.
Market data:
- taiwan-stock-daily-quotes — Daily OHLCV for every listed & OTC stock, with P/E, P/B and dividend yield
- twse-institutional-trades — Daily institutional buy/sell (foreign, investment trust, dealer) per stock — TWSE listed
- tpex-institutional-trades — Daily institutional buy/sell per stock — TPEx OTC market
- taiwan-monthly-revenue — Monthly revenue of 1,900+ listed & OTC companies, MoM/YoY
- taiwan-financial-statements — Quarterly income statement, balance sheet & cash flow back to 2013
- taiwan-dividend-calendar — Ex-dividend / ex-rights dates, reference prices & payouts back to 2003
- taiwan-margin-trading — Daily margin trading & short sale balances per stock
- taiwan-sbl-short-sale-balance — Securities-lending short sale balances per stock
- taiwan-day-trading-stats — Day-trading volume, value & ratio per stock since 2014
- tdcc-shareholding-dispersion — Weekly TDCC shareholding dispersion (retail vs whale structure)
- taiwan-foreign-shareholding — Foreign ownership percentage & remaining quota per stock
- taifex-institutional-derivatives — Institutional futures & options positions (TAIFEX), incl. put/call ratio
- taiwan-warrants-daily — Daily quotes, strike, expiry & moneyness for every listed/OTC warrant since 2004
- taiwan-stock-alerts — Watch-list, disposition & short-sale suspension alerts
- taiwan-insider-share-transfers — Insider share-transfer filings (directors, officers, 10% holders) since 2002
- taiwan-director-shareholdings — Monthly director/officer shareholdings & share-pledge ratio since 1999
- taiwan-block-trades — Every block trade (鉅額交易) with price, size & basket constituents since 2005
- taiwan-shareholder-meetings — Shareholder meeting dates, book closure periods & e-voting since 2005
- taiwan-emerging-stock-quotes — Emerging (興櫃) board quotes, pre-IPO register & history since 2003
- taiwan-etf-regular-investment — Monthly regular savings plan (定期定額) rankings for stocks & ETFs since 2020
- taiwan-treasury-stock-buybacks — Every treasury-stock buyback (庫藏股) filing, plan vs execution, since 2000
Property market:
- taiwan-real-estate-transactions — Actual registered sale, presale & lease prices (實價登錄) for all 22 cities since 2012
Government & civic data:
- taiwan-legislator-monitor — Legislative Yuan bills, legislators & meetings
- taiwan-tender-monitor — Government e-procurement tenders (open calls, awards, failures)
Data source
Taiwan Futures Exchange 選擇權每日交易行情下載 (optDataDown), plus the 選擇權每日交易行情 (DailyMarketReportOpt), 選擇權 Delta 值 (DailyOptionsDelta) and 臺指選擇權 Put/Call 比 (PutCallRatio) open-data feeds used for independent verification. Public data, no login required.