Skip to main content

Intraday Tickers

Futures and Options product list(Query base on condition)

intraday/tickers/

Parameters​

NameTypeDescription
type*stringType,valid in FUTURE ; OPTION
exchangestringExchange,valid in TAIFEX
sessionstringTrading Session,valid in REGULAR or AFTERHOURS
productstringContract Code
contractTypestringContract Type,valid in I index;R rate;B bond;C commodity;S stock;E exchange rate
isSpreadbooleantrue returns the calendar spread contract list; default returns regular contracts

Response​

NameTypeDescription
date*stringDate
type*stringType
exchangestringExchange
sessionstringTrading Session
productstringProduct code (returned when product is given)
contractTypestringContract Type
isSpreadbooleanWhether this is a spread-contract query (true when queried with isSpread=true)
dataobject[]Data List
>> typestringType
>> symbolstringContract Code
>> namestringContract Name
>> isSpreadbooleanWhether this is a spread contract (true when queried with isSpread=true)
>> referencePricenumberReference Price
>> limitUpPricenumberLimit-up price
>> limitDownPricenumberLimit-down price
>> priceLimitLevelsobject[]Limit-up and limit-down prices of each level (tiered price limit products only)
>> priceLimitLevels[].levelnumberLevel number; 1 is the base level
>> priceLimitLevels[].limitUpPricenumberLimit-up price of the level
>> priceLimitLevels[].limitDownPricenumberLimit-down price of the level
>> limitUpLevelnumberCurrently applied limit-up level (tiered price limit products only)
>> limitDownLevelnumberCurrently applied limit-down level (tiered price limit products only)
>> contractTypestringContract Type
>> startDatestringStart Trading Date
>> endDatestringLast Trading Date
>> openDatetimestringTrading session open time
>> closeDatetimestringTrading session close time
>> flowGroupnumberContract Flow Group
>> settlementDatestringSettlement Date
>> isDynamicBandingbooleanDynamic Price Banding
info

'*' Indicates mandatory disclosure fields.

info

Products with a single price limit, such as TAIEX futures and single stock futures, return only limitUpPrice and limitDownPrice. Futures and options on gold, crude oil, currencies, overseas indices and ETFs with foreign underlying constituents use tiered price limits: they additionally return the full ladder in priceLimitLevels and the currently applied levels in limitUpLevel / limitDownLevel, and limitUpPrice / limitDownPrice are the prices of the currently applied levels. When the price limit is widened during the session, the applied levels and prices are updated, and the limit-up and limit-down sides may sit at different levels.

Spread contract query

Spread-contract queries are available since v2.2.9. When querying spread contracts with isSpread=true, the fields returned in data are reduced (symbol, type, name, isSpread). See "Spread Contracts" below.

Example​

from fubon_neo.sdk import FubonSDK, Order

sdk = FubonSDK()

accounts = sdk.login("Your ID", "Your password" , "Your cert path", "Your cert password")

sdk.init_realtime()

restfut = sdk.marketdata.rest_client.futopt
# restfut.intraday.tickers(type='FUTURE', exchange='TAIFEX',session='REGULAR', contractType='E') # Version 2.2.3 and before

## Aftrer version 2.2.4 (use Exception for exception handling)
from fubon_neo.fugle_marketdata.rest.base_rest import FugleAPIError

try:
restfut.intraday.tickers(type='FUTURE', exchange='TAIFEX',session='REGULAR', contractType='E')
except FugleAPIError as e:
print(f"Error: {e}")
print("------------")
print(f"Status Code: {e.status_code}") # Ex: 429
print(f"Response Text: {e.response_text}") # Ex: {"statusCode":429,"message":"Rate limit exceeded"}

Response Body:

{
"type": "FUTURE",
"exchange": "TAIFEX",
"session": "REGULAR",
"contractType": "E",
"data": [
{
"symbol": "XAFC7",
"type": "FUTURE",
"closeDatetime": "2026-09-09T16:15:00.000+08:00",
"contractType": "E",
"endDate": "2027-03-15",
"flowGroup": 5,
"isDynamicBanding": true,
"name": "澳幣兌美元期貨037",
"openDatetime": "2026-09-09T08:45:00.000+08:00",
"referencePrice": 0.7189,
"settlementDate": "2027-03-15",
"startDate": "2026-03-19",
"limitDownLevel": 1,
"limitDownPrice": 0.6974,
"limitUpLevel": 1,
"limitUpPrice": 0.7404,
"priceLimitLevels": [
{
"level": 1,
"limitUpPrice": 0.7404,
"limitDownPrice": 0.6974
},
{
"level": 2,
"limitUpPrice": 0.7548,
"limitDownPrice": 0.683
},
{
"level": 3,
"limitUpPrice": 0.7692,
"limitDownPrice": 0.6686
}
]
},
{
"symbol": "XAFF7",
"type": "FUTURE",
"closeDatetime": "2026-09-09T16:15:00.000+08:00",
"contractType": "E",
"endDate": "2027-06-14",
"flowGroup": 5,
"isDynamicBanding": true,
"name": "澳幣兌美元期貨067",
"openDatetime": "2026-09-09T08:45:00.000+08:00",
"referencePrice": 0.7178,
"settlementDate": "2027-06-14",
"startDate": "2026-06-18",
"limitDownLevel": 1,
"limitDownPrice": 0.6963,
"limitUpLevel": 1,
"limitUpPrice": 0.7393,
"priceLimitLevels": [
{
"level": 1,
"limitUpPrice": 0.7393,
"limitDownPrice": 0.6963
},
{
"level": 2,
"limitUpPrice": 0.7536,
"limitDownPrice": 0.682
},
{
"level": 3,
"limitUpPrice": 0.768,
"limitDownPrice": 0.6676
}
]
},
......
]
}

Spread Contracts​

Calendar spread contracts do not appear by default in the list; they are only returned when isSpread=true. Spread contracts have the following characteristics:

  • Symbol format is {near month}/{far month}: composed of a near-month and far-month leg, e.g. EXFG6/H6, TXFG6/F7; the contract name shows both months (e.g. "電子期貨076-086").
  • Can be queried by a single symbol: /intraday/ticker, /intraday/quote, /intraday/trades, /intraday/candles and /intraday/volumes all accept spread-contract symbols; put the symbol, including its /, directly in the path (SDK example: restfut.intraday.quote(symbol='TXFJ6/K6')). Real-time data is also available via WebSocket subscription.
  • Quotes can be negative: since a spread price is the difference between the two legs, bid/ask quotes can be negative — this is expected.
restfut.intraday.tickers(type='FUTURE', exchange='TAIFEX', session='AFTERHOURS', isSpread=True)