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 | string | 參考價 |
>> contractType | string | 契約類別 |
>> startDate | string | 上市日期 |
>> endDate | string | 下市日期 |
>> flowGroup | string | 流程群組 |
>> settlementDate | string | 最後結算日 |
>> isDynamicBanding | boolean | 是否適用動態價格穩定 |
info
'*' 表示必揭示欄位。
價差契約查詢
帶 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": "RHFA4",
"type": "FUTURE",
"contractType": "E",
"endDate": "2024-01-17",
"flowGroup": 5,
"isDynamicBanding": true,
"name": "美元兌人民幣期貨014",
"referencePrice": 7.1387,
"settlementDate": "2024-01-17",
"startDate": "2023-11-16"
},
{
"symbol": "RHFC4",
"type": "FUTURE",
"contractType": "E",
"endDate": "2024-03-20",
"flowGroup": 5,
"isDynamicBanding": true,
"name": "美元兌人民幣期貨034",
"referencePrice": 7.108,
"settlementDate": "2024-03-20",
"startDate": "2023-01-31"
},
{
"symbol": "RHFF4",
"type": "FUTURE",
"contractType": "E",
"endDate": "2024-06-19",
"flowGroup": 5,
"isDynamicBanding": true,
"name": "美元兌人民幣期貨064",
"referencePrice": 7.0619,
"settlementDate": "2024-06-19",
"startDate": "2023-04-20"
},
{
"symbol": "RHFI4",
"type": "FUTURE",
"contractType": "E",
"endDate": "2024-09-19",
"flowGroup": 5,
"isDynamicBanding": true,
"name": "美元兌人民幣期貨094",
"referencePrice": 7.0189,
"settlementDate": "2024-09-19",
"startDate": "2023-07-20"
},
{
"symbol": "RHFL3",
"type": "FUTURE",
"contractType": "E",
"endDate": "2023-12-20",
"flowGroup": 5,
"isDynamicBanding": true,
"name": "美元兌人民幣期貨123",
"referencePrice": 7.1531,
"settlementDate": "2023-12-20",
"startDate": "2022-10-20"
},
......
]
}
價差契約
時間價差(calendar spread)契約預設不會出現在清單中,帶 isSpread=true 才會回傳。價差契約有以下特性:
- 代碼格式為
{近月}/{遠月}:由近、遠兩腳合約組成,例如EXFG6/H6、TXFG6/F7;契約名稱標示兩個月份(例如「電子期貨076-086」)。 - 無法依單一代碼查詢:代碼含有
/,以/intraday/ticker/{symbol}、/intraday/quote/{symbol}等「依代碼查詢」端點查詢會回傳404。請改用本清單端點(isSpread=true),或透過 WebSocket 訂閱(將價差代碼放在訂閱訊息的symbol欄位)。 - 報價可為負值:價差為兩腳合約的價格之差,買賣報價可能為負數,屬正常現象。
- 僅支援 WebSocket 訂閱取得即時行 情:價差合約無獨立的 REST 即時報價/成交明細端點,需透過 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));