Intraday Tickers
期權商品列表(依條件查詢)
intraday/tickers/
Parameters
| Name | Type | Description |
|---|---|---|
type* | string | 類型,可選 FUTURE 期貨 ; OPTION 選擇權 |
exchange | string | 交易所,可選 TAIFEX 臺灣期貨交易所 |
session | string | 交易時段,可選 REGULAR 一般交易 或 AFTERHOURS 盤後交易 |
product | string | 期權商品代碼 |
contractType | string | 契約類別,可選 I 指數類;R 利率類;B 債券類;C 商品類;S 股票類;E 匯率類 |
isSpread | boolean | 帶 true 回傳時間價差(calendar spread)契約清單;預設回傳一般契約 |
Response
| Name | Type | Description |
|---|---|---|
date* | string | 日期 |
type* | string | 期權類型 |
exchange | string | 交易所 |
session | string | 交易時段 |
contractType | string | 契約類別 |
isSpread | boolean | 是否為價差契約查詢(帶 isSpread=true 時為 true) |
data | object[] | 契約列表 |
>> type | string | 期權類型 |
>> symbol | string | 商品代號 |
>> name | string | 商品名稱 |
>> referencePrice | number | 參考價 |
>> limitUpPrice | number | 漲停價 |
>> limitDownPrice | number | 跌停價 |
>> priceLimitLevels | object[] | 各階漲跌停價(限適用分階漲跌幅的商品) |
>> priceLimitLevels[].level | number | 階數,1 為基準階 |
>> priceLimitLevels[].limitUpPrice | number | 該階漲停價 |
>> priceLimitLevels[].limitDownPrice | number | 該階跌停價 |
>> limitUpLevel | number | 漲停目前適用階數(限適用分階漲跌幅的商品) |
>> limitDownLevel | number | 跌停目前適用階數(限適用分階漲跌幅的商品) |
>> contractType | string | 契約類別 |
>> startDate | string | 上市日期 |
>> endDate | string | 下市日期 |
>> openDatetime | string | 交易時段開始時間 |
>> closeDatetime | string | 交易時段結束時間 |
>> flowGroup | string | 流程群組 |
>> settlementDate | string | 最後結算日 |
>> isDynamicBanding | boolean | 是否適用動態價格穩定 |
info
'*' 表示必揭示欄位。
info
臺股期貨、個股期貨等單一漲跌幅商品僅回傳 limitUpPrice 與 limitDownPrice。黃金、原油、匯率、國外指數及國外成分證券 ETF 的期貨與選擇權採分階漲跌幅,另回傳 priceLimitLevels 完整階梯與 limitUpLevel/limitDownLevel 目前適用階數,此時 limitUpPrice/limitDownPrice 為目前適用階數的價格;盤中漲跌幅放寬後,適用階數與漲跌停價會隨之更新,且漲停與跌停可能適用不同階數。
價差契約查詢
價差契約查詢 v2.2.9 起提供。帶 isSpread=true 查詢價差契約時,data 回傳的欄位較精簡(symbol、type、name、isSpread)。詳見下方「價差契約」。
Example
- Python
- Node.js
- C#
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') # 2.2.3 及以前版本
## 2.2.4 及以後版本 (使用 Exception 進行例外處理)
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}") # 例: 429
print(f"Response Text: {e.response_text}") # 例: {"statusCode":429,"message":"Rate limit exceeded"}
const { FubonSDK } = require('fubon-neo');
const sdk = new FubonSDK();
const accounts = sdk.login("Your ID", "Your Password", "Your Cert Path", "Your Cert Password");
sdk.initRealtime(); // 建立行情連線
const client = sdk.marketdata.restClient
client.futopt.intraday.tickers({ type: 'FUTURE', exchange:'TAIFEX', session:'REGULAR', contractType:'E'})
.then(data => console.log(data));
using FubonNeo.Sdk;
using FugleMarketData.QueryModels.FuOpt;
using FugleMarketData.QueryModels.FuOpt.Intraday;
var sdk = new FubonSDK();
var result = sdk.Login("Your ID", "Your Password", "Your Cert Path", "Your Cert Password");
sdk.InitRealtime(); // 建立行情連線
var rest = sdk.MarketData.RestClient.FutureOption;
var contracts = await rest.Intraday.Tickers(FutOptType.Future, new(){
Exchange=FutOptExchangeType.TaiFex,
Session=SessionType.AfterHours,
ContractType=ContractType.E
});
var contracts_cont = contracts.Content.ReadAsStringAsync().Result;
Console.WriteLine(contracts_cont);
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
}
]
},
......
]
}
價差契約
時間價差(calendar spread)契約預設不會出現在清單中,帶 isSpread=true 才會回傳。價差契約有以下特性:
- 代碼格式為
{近月}/{遠月}:由近、遠兩腳合約組成,例如EXFG6/H6、TXFG6/F7;契約名稱標示兩個月份(例如「電子期貨 076-086」)。 - 可依單一代碼查詢:
/intraday/ticker、/intraday/quote、/intraday/trades、/intraday/candles、/intraday/volumes都接受價差契約代碼,代碼中的/直接放入路徑即可(SDK 範例:restfut.intraday.quote(symbol='TXFJ6/K6'));也可透過 WebSocket 訂閱即時行情。 - 報價可為負值:價差為兩腳合約的價格之差,買賣報價可能為負數,屬正常現象。
- Python
- Node.js
restfut.intraday.tickers(type='FUTURE', exchange='TAIFEX', session='AFTERHOURS', isSpread=True)
client.futopt.intraday
.tickers({ type: 'FUTURE', exchange: 'TAIFEX', session: 'AFTERHOURS', isSpread: true })
.then((data) => console.log(data));