Python行情API使用手冊
Python行情API流程說明
API驗證流程
請先下載API元件,並使用您的程式登入台新API,登入驗證環境。
於數位API網站線上驗證公告。
數位API網站公告驗證成功之後,請重新登入API。
請點選數位API網站線上認證"取得報價"按鈕。
請在數位API網站線上認證填入在API端取得的行情資料。
請點選數位API網站線上認證 "驗證行情資料" 按鈕。
若行情資料驗證正確,即自動開通行情API權限。
行情驗證成功之後,請重新登入API。
關聯網站
Python行情API範例程式
2. 環境準備
安裝API package:pip install PY_TradeD-X.X.X-py3-none-any.whl
※X.X.X為版號,請依據下載內容版號調整
建議可先參考執行Sample內容,確認行情資料格式後再依此文件說明進行API開發
3. 執行Sample
參數說明:
python sample.py {使用者名稱} {密碼} {證券別} {訂閱商品} {訂閱秒數}
此Sample程式為示範使用API訂閱商品並設定秒數後結束
如訂閱股票2330(台積電)執行10秒結束,確認環境可以收到行情資料
| 參數範例:python Sample_D.py N123456789 1234 TWS 2330 10 |
|---|
顯示所有物件參數值:
python sample.py {使用者名稱} {密碼} {證券別} {訂閱商品} {訂閱秒數} {顯示物件明細}
| 參數範例:python Sample_D.py N123456789 1234 TWS 2330 10 D |
|---|
如訂閱期貨TXFA4(大台2024一月)執行10秒結束,確認環境可以收到行情資料
| 參數範例:python Sample_D.py N123456789 1234 TWF TXFA4 10 |
|---|
顯示所有物件參數值:
python sample.py {使用者名稱} {密碼} {證券別} {訂閱商品} {訂閱秒數} {顯示物件明細}
| 參數範例:python Sample_D.py N123456789 1234 TWF TXFA4 10 D |
|---|
4. 回報狀態事件
4.1 Observer_OnSystemEvent
| 系統訊息通知 |
|---|
def Observer_OnSystemEvent(data:SystemEvent):
print(f"\n SystemEvent: [SystemEvent] {data}")
4.2 Event_OnMath
| 商品成交行情 |
|---|
def Event_OnMath(data):
"TX event(ProductTick data)"
global _detail
if _detail.upper() == "D":
print(data) #所有欄位資料
else:
print(f"""\n OnMath Symbol:{data.Symbol} MatchTime:{data.MatchTime}
MatchPrice:{data.MatchPrice} MatchQty:{data.MatchQty}
DayHigh:{data.DayHigh} DayLow:{data.DayLow} OpenPrice:{data.OpenPrice}
BuyPrice:{data.BuyPrice} SellPrice:{data.SellPrice}""")
Output:
精簡內容:
| Symbol:2330 |
| MatchTime:13:14:08.935094 |
| MatchPrice:521.0000 |
| MatchQty:1 |
| DayHigh:523.0000 |
| DayLow:519.0000 |
| OpenPrice:521.0000 |
| BuyPrice:['521.0000', '520.0000', '519.0000', '518.0000', '517.0000'] |
| SellPrice:['522.0000', '523.0000', '524.0000', '525.0000', '526.0000'] |
詳細內容:
| CacheStatus:-1 |
| Exchange:TWS |
| Symbol:2330 |
| MatchTime:13:14:08.935094 |
| OrderBookTime:13:14:05.732926 |
| TxSeq:6890321 |
| ObSeq:6890110 |
| IsTxTrial:False |
| Is5QTrial:False |
| IsTrail:False |
| DecimalLocator: |
| MatchPrice:521.0000 |
| MatchQty:1 |
| MatchPriceList:['521.0000'] |
| MatchQtyList:['1'] |
| MatchBuyCount: |
| MatchSellCount: |
| TotalMatchQty:20526 |
| TotalTradingAmount:0 |
| TradingUnit:1000 |
| DayHigh:523.0000 |
| DayLow:519.0000 |
| RefPrice:529.0000 |
| BuyPrice:['521.0000', '520.0000', '519.0000', '518.0000', '517.0000'] |
| BuyQty:['427', '2347', '1531', '1577', '663'] |
| SellPrice:['522.0000', '523.0000', '524.0000', '525.0000', '526.0000'] |
| SellQty:['816', '527', '356', '370', '228'] |
| AllMarketAmount: |
| AllMarketVolume: |
| AllMarketCnt: |
| AllMarketBuyCnt: |
| AllMarketSellCnt: |
| AllMarketBuyQty: |
| AllMarketSellQty: |
| IsFixedPriceTransaction:0 |
| OpenPrice:521.0000 |
| Change:-8.0000 |
| ChangePercent:-0.0151 |
| FirstDerivedBuyPrice: |
| FirstDerivedBuyQty: |
| FirstDerivedSellPrice: |
| FirstDerivedSellQty: |
| TotalBuyOrder: |
| TotalBuyQty: |
| TotalSellOrder: |
| TotalSellQty: |
| Delta: |
| ClosePrice: |
| SettlePrice: |
| OpenInterest: |
物件內容參考API物件欄位說明的ProductTick
4.3 Event_OnUpdateBasic
| 商品基本資料 |
|---|
def Event_OnUpdateBasic(data):
"ProductBasic data"
global _detail
if _detail.upper() == "D":
print(data) #所有欄位資料
else:
print(f"""\n UpdateBasic: 交易所代碼:{data.Exchange} 商品代碼:{data.Symbol} 參考價:{data.TodayRefPrice} 漲停價:{data.RiseStopPrice} 跌停價:{data.FallStopPrice} 商品中文名稱:{data.ChineseName} 上一交易日成交總量:{data.PreTotalMatchQty} 上一交易日參考價:{data.PreTodayRefPrice} 上一交易日收盤價:{data.PreClosePrice} 上一交易日成交總額:{data.PreTotalTradingAmount}""")
Output:
精簡內容:
| 交易所代碼:TWS |
| 商品代碼:2330 |
| 參考價:529.0000 |
| 漲停價:581.0000 |
| 跌停價:476.5000 |
| 商品中文名稱:台積電 |
| 上一交易日成交總量:14460 |
| 上一交易日參考價:533.0000 |
| 上一交易日收盤價:529.0000 |
| 上一交易日成交總額:7668844000.0000 |
詳細內容:
| 交易所代碼:TWS |
| 商品代碼:2330 |
| 商品分類:S |
| 參考價:529.0000 |
| 漲停價:581.0000 |
| 跌停價:476.5000 |
| 商品中文名稱:台積電 |
| 上一交易日成交總量:14460 |
| 上一交易日參考價:533.0000 |
| 上一交易日收盤價:529.0000 |
| 產業別:24 |
| 證券別: |
| 板別註記:0 |
| 類股註記: |
| 股票異常代碼:0 |
| 非十元面額註記: |
| 異常推介個股註記: |
| 異常推介個股註記: |
| 可現股當沖註記:A |
| 交易單位:1000 |
| 最小跳動點:0.01:0.01;10.00:0.05;50.00:0.10;100.00:0.50;500.00:1.00;1000.00:5.00 |
| 上一交易日成交總額:7668844000.0000 |
| 契約種類: |
| 價格小數位數: |
| 選擇權履約價: |
| 選擇權商品代號小數位: |
| 上市日期: |
| 下市日期: |
| 流程群組: |
| 最後結算日: |
| 適用動態價格穩定: |
| 契約代號: |
| 契約中文名稱: |
| 現貨股票代碼: |
| 契約乘數: |
| 狀態碼: |
| 幣別: |
| 是否可報價: |
| 可現股當沖註記:A |
| 是否可鉅額交易: |
| 到期別: |
| 現貨類別: |
| 商品收盤時間群組: |
| 交易時段: |
| 早午盤識別: |
| 昨日未平倉合約數: |
| 昨日結算價: |
物件內容參考API物件欄位說明的ProductBasic
4.4 Event_OnOrderBook
| 商品五檔行情 |
|---|
def Event_OnOrderBook(data):
"5Q(ProductTick data)"
global _detail
if _detail.upper() == "D":
print(data) #所有欄位資料
else:
print(f"""\n OnOrder Symbol:{data.Symbol} OrderBookTime:{data.OrderBookTime}
DayHigh:{data.DayHigh} DayLow:{data.DayLow} OpenPrice:{data.OpenPrice}
BuyPrice:{data.BuyPrice} SellPrice:{data.SellPrice} """)
Output:
精簡內容:
| Symbol:2330 |
| OrderBookTime: 13:14:09.178043 |
| DayHigh:523.0000 |
| DayLow:519.0000 |
| OpenPrice:521.0000 |
| BuyPrice:['521.0000', '520.0000', '519.0000', '518.0000', '517.0000'] |
| SellPrice:['522.0000', '523.0000', '524.0000', '525.0000', '526.0000'] |
詳細內容:
| CacheStatus:-1 |
| Exchange:TWS |
| Symbol:2330 |
| MatchTime:13:14:08.935094 |
| OrderBookTime:13:14:09.178043 |
| TxSeq:6890321 |
| ObSeq:6890505 |
| IsTxTrial:False |
| Is5QTrial:False |
| IsTrail:False |
| DecimalLocator: |
| MatchPrice:521.0000 |
| MatchQty:1 |
| MatchPriceList:['521.0000'] |
| MatchQtyList:['1'] |
| MatchBuyCount: |
| MatchSellCount: |
| TotalMatchQty:20526 |
| TotalTradingAmount:0 |
| TradingUnit:1000 |
| DayHigh:523.0000 |
| DayLow:519.0000 |
| RefPrice:529.0000 |
| BuyPrice:['521.0000', '520.0000', '519.0000', '518.0000', '517.0000'] |
| BuyQty:['428', '2347', '1531', '1577', '663'] |
| SellPrice:['522.0000', '523.0000', '524.0000', '525.0000', '526.0000'] |
| SellQty:['816', '527', '356', '370', '228'] |
| AllMarketAmount: |
| AllMarketVolume: |
| AllMarketCnt: |
| AllMarketBuyCnt: |
| AllMarketSellCnt: |
| AllMarketBuyQty: |
| AllMarketSellQty: |
| IsFixedPriceTransaction:0 |
| OpenPrice:521.0000 |
| Change:-8.0000 |
| ChangePercent:-0.0151 |
| FirstDerivedBuyPrice: |
| FirstDerivedBuyQty: |
| FirstDerivedSellPrice: |
| FirstDerivedSellQty: |
| TotalBuyOrder: |
| TotalBuyQty: |
| TotalSellOrder: |
| TotalSellQty: |
| Delta: |
| ClosePrice: |
| SettlePrice: |
| OpenInterest: |
物件內容參考API物件欄位說明的ProductTick
4.5 Observer_OnUpdateLastSnapshot
| 國內國內商品最新快照更新 |
|---|
def Observer_OnUpdateLastSnapshot(snapshot:ProductSnapshot):
global _detail
if _detail.upper() == "D":
print(snapshot.TickData) #所有欄位資料
else:
print(f"""\n LastSnapshot1 TickData: Symbol:{snapshot.TickData.Symbol} MatchTime:{snapshot.TickData.MatchTime}
MatchPrice:{snapshot.TickData.MatchPrice} MatchQty:{snapshot.TickData.MatchQty}
DayHigh:{snapshot.TickData.DayHigh} DayLow:{snapshot.TickData.DayLow} OpenPrice:{snapshot.TickData.OpenPrice} RefPrice:{snapshot.TickData.RefPrice}
BuyPrice:{snapshot.TickData.BuyPrice} SellPrice:{snapshot.TickData.SellPrice}""")
Output:
精簡內容:
| TickData: Symbol:2330 |
| MatchTime: 13:14:05.732926 |
| MatchPrice: 521.0000 |
| MatchQty:1 |
| DayHigh:523.0000 |
| DayLow:519.0000 |
| OpenPrice:521.0000 |
| RefPrice:529.0000 |
| BuyPrice:['521.0000', '520.0000', '519.0000', '518.0000', '517.0000'] |
| SellPrice:['522.0000', '523.0000', '524.0000', '525.0000', '526.0000'] |
詳細內容:
| CacheStatus:-1 |
| Exchange:TWS |
| Symbol:2330 |
| MatchTime:13:14:05.732926 |
| OrderBookTime:13:14:05.732926 |
| TxSeq:6888975 |
| ObSeq:6890110 |
| IsTxTrial:False |
| Is5QTrial:False |
| IsTrail:False |
| DecimalLocator: |
| MatchPrice:521.0000 |
| MatchQty:1 |
| MatchPriceList:['521.0000'] |
| MatchQtyList:['1'] |
| MatchBuyCount: |
| MatchSellCount: |
| TotalMatchQty:20525 |
| TotalTradingAmount:10689757000.0000 |
| TradingUnit:1000 |
| DayHigh:523.0000 |
| DayLow:519.0000 |
| RefPrice:529.0000 |
| BuyPrice:['521.0000', '520.0000', '519.0000', '518.0000', '517.0000'] |
| BuyQty:['428', '2347', '1531', '1577', '663'] |
| SellPrice:['522.0000', '523.0000', '524.0000', '525.0000', '526.0000'] |
| SellQty:['816', '527', '356', '370', '228'] |
| AllMarketAmount: |
| AllMarketVolume: |
| AllMarketCnt: |
| AllMarketBuyCnt: |
| AllMarketSellCnt: |
| AllMarketBuyQty: |
| AllMarketSellQty: |
| IsFixedPriceTransaction: |
| OpenPrice:521.0000 |
| Change:-8.0000 |
| ChangePercent:-0.0151 |
| FirstDerivedBuyPrice: |
| FirstDerivedBuyQty: |
| FirstDerivedSellPrice: |
| FirstDerivedSellQty: |
| TotalBuyOrder: |
| TotalBuyQty: |
| TotalSellOrder: |
| TotalSellQty: |
| Delta: |
| ClosePrice: |
| SettlePrice: |
| OpenInterest: |
5. API物件欄位說明
5.1 class ProductSnapshot (報價資料)
| No. | 欄位名稱 | 資料類型 | 格式 | 說明 |
|---|---|---|---|---|
| 1 | BasicData | ProductBasic | 商品基本資料 | |
| 2 | TickData | ProductTick | 商品Tick報價資料 |
5.2 class ProductTick (報價資料)
| No. | 欄位名稱 | 資料類型 | 格式 | 說明 |
|---|---|---|---|---|
| 1 | Exchange | str | 交易所(TWSE、TAIFEX) | |
| 2 | Symbol | str | 商品代號(TWSE、TAIFEX) | |
| 3 | MatchTime | str | %H:%M:%S.%f | 成交資料時間(交易所) (TWSE、TAIFEX) |
| 4 | OrderBookTime | str | %H:%M:%S.%f | 五檔資料時間(交易所) (TWSE、TAIFEX) |
| 5 | TxSeq | str | 交易所序號(成交資訊) (TWSE、TAIFEX) | |
| 6 | ObSeq | str | 交易所序號(五檔資訊) (TWSE、TAIFEX) | |
| 7 | IsTxTrail | bool | 0: 非試撮,1: 試撮 | 是否為成交試撮資料(TWSE、TAIFEX) |
| 8 | Is5QTrial | bool | 0: 非試撮,1: 試撮 | 是否為五檔試撮資料(TWSE、TAIFEX) |
| 9 | IsTrail | bool | 0: 非試撮,1: 試撮 | 是否為試撮資料(TWSE、TAIFEX) |
| 10 | DecimalLocator | str | 價格欄位小數位數(TAIFEX) | |
| 11 | MatchPrice | str | 成交價(TWSE、TAIFEX) | |
| 12 | MatchQty | str | 商品成交量(TAIFEX) | |
| 13 | MatchPriceList | list | 一筆行情, 多筆成交價(TWSE、TAIFEX) | |
| 14 | MatchQtyList | list | 一筆行情, 多筆成交量(TWSE、TAIFEX) | |
| 15 | MatchBuyCount | str | 累計買進成交筆數(TAIFEX) | |
| 16 | MatchSellCount | str | 累計賣出成交筆數(TAIFEX) | |
| 17 | TotalMatchQty | str | 商品成交總量(TWSE、TAIFEX) | |
| 18 | TotalTradingAmount | str | 商品成交總額(TWSE、TAIFEX) | |
| 19 | TradingUnit | str | 交易單位(TWSE、TAIFEX) | |
| 20 | DayHigh | str | 當日最高價(TWSE、TAIFEX) | |
| 21 | DayLow | str | 當日最低價(TWSE、TAIFEX) | |
| 22 | RefPrice | str | 參考價(TWSE) | |
| 23 | BuyPrice | list | 五檔報價(買價) (TWSE、TAIFEX) | |
| 24 | BuyQty | list | 五檔報價(買量) (TWSE、TAIFEX) | |
| 25 | SellPrice | list | 五檔報價(賣價) (TWSE、TAIFEX) | |
| 26 | SellQty | list | 五檔報價(賣量) (TWSE、TAIFEX) | |
| 27 | AllMarketAmount | str | 整體市場成交總額(TWSE) | |
| 28 | AllMarketVolume | str | 整體市場成交數量(TWSE) | |
| 29 | AllMarketCnt | str | 整體市場成交筆數(TWSE) | |
| 30 | AllMarketBuyCnt | str | 整體市場委託買進筆數(TWSE) | |
| 31 | AllMarketSellCnt | str | 整體市場委託賣出筆數(TWSE) | |
| 32 | AllMarketBuyQty | str | 整體市場委託買進數量(TWSE) | |
| 33 | AllMarketSellQty | str | 整體市場委託賣出數量(TWSE) | |
| 34 | IsFixedPriceTransaction | str | 是否為定盤交易(TWSE) | |
| 35 | OpenPrice | str | 開盤價(TWSE、TAIFEX) | |
| 36 | FirstDerivedBuyPrice | str | 衍生委託單第一檔買進價格(TAIFEX) | |
| 37 | FirstDerivedBuyQty | str | 衍生委託單第一檔買進價格數量(TAIFEX) | |
| 38 | FirstDerivedSellPrice | str | 衍生委託單第一檔賣出價格數量(TAIFEX) | |
| 39 | FirstDerivedSellQty | str | 衍生委託單第一檔賣出價格數量(TAIFEX) | |
| 40 | TotalBuyOrder | str | 買進累計委託筆數(TAIFEX) | |
| 41 | TotalBuyQty | str | 買進累計委託合約數(TAIFEX) | |
| 42 | TotalSellOrder | str | 賣出累計委託筆數(TAIFEX) | |
| 43 | TotalSellQty | str | 賣出累計委託合約數(TAIFEX) | |
| 44 | ClosePrice | str | 收盤價(TAIFEX) | |
| 45 | SettlePrice | str | 結算價(TAIFEX) | |
| 46 | IsDelayedOpening | bool | 試算後延後開盤註記(TWSE) |
5.3 class ProductBasic (基本資料)
| No. | 欄位名稱 | 資料類型 | 格式 | 說明 |
|---|---|---|---|---|
| 1 | Exchange | str | 交易所(TWSE、TAIFEX) | |
| 2 | Symbol | str | 商品代號(TWSE、TAIFEX) | |
| 3 | Category | str | 商品分類(TWSE、TAIFEX) | |
| 4 | TodayRefPrice | str | 參考價(TAIFEX) | |
| 5 | RiseStopPrice | str | 漲停價(TWSE、TAIFEX) | |
| 6 | FallStopPrice | str | 跌停價(TWSE、TAIFEX) | |
| 7 | ChineseName | str | UTF-8 | 商品中文名稱(TWSE) |
| 8 | PreTotalMatchQty | str | 上一交易日成交總量(TWSE、TAIFEX) | |
| 9 | PreTodayRefPrice | str | 上一交易日參考價(TWSE、TAIFEX) | |
| 10 | PreClosePrice | str | 上一交易日收盤價(TWSE、TAIFEX) | |
| 11 | IndustryCategory | str | 參考"產業別代碼表" | 產業別(TWSE) |
| 12 | StockCategory | str | 參考“證券別代碼表” | 證券別(TWSE) |
| 13 | BoardRemark | str | 板別註記(TWSE) | |
| 14 | ClassRemark | str | 類股註記(TWSE) | |
| 15 | StockAnomalyCode | str | 參考"股票異常代碼表" | 股票異常代碼(TWSE) |
| 16 | NonTenParValueRemark | str | 非10元面額註記(TWSE) | |
| 17 | AbnormalRecommendationIndicator | str | 異常推介個股註記(TWSE) | |
| 18 | AbnormalSecuritiesIndicator | str | 異常推介個股註記(TWSE) | |
| 19 | DayTradingRemark | str | "0":預設值 "A":可先買後賣或先賣後買現股當沖證券 "B":時表示為 可先買後賣現股當沖證券 SPACE:表示為不可現股當沖證券 |
可現股當沖註記(TWSE) |
| 20 | TradingUnit | str | 交易單位(TWSE) | |
| 21 | TickSize | str | 最小跳動單位(TWSE) | |
| 22 | prodKind | str | 契約種類(TAIFEX) | |
| 23 | strikePriceDecimalLocator | str | 選擇權商品代號之履約價小數位數(TAIFEX) | |
| 24 | PreTotalTradingAmount | str | 上一交易日成交總額(TWSE) | |
| 25 | DecimalLocator | str | 價格小數位數(TAIFEX) | |
| 26 | BeginDate | str | YYYYMMDD | 上市日期(TAIFEX) |
| 27 | EndDate | str | YYYYMMDD | 下市日期(TAIFEX) |
| 28 | FlowGroup | str | 流程群組(TAIFEX) | |
| 29 | DeliveryDate | str | YYYYMMDD | 最後結算日(TAIFEX) |
| 30 | DynamicBanding | str | Y:適用, N:不適用 | 適用動態價格穩定(TAIFEX) |
| 31 | ContractSymbol | str | 契約代號(TAIFEX) | |
| 32 | ContractName | str | 契約中文名稱(TAIFEX) | |
| 33 | StockID | str | 現貨股票代碼(TAIFEX) | |
| 34 | StatusCode | str | N:正常 P:暫停交易 U:即將上市 |
狀態碼(TAIFEX) |
| 35 | Currency | str | 幣別(TAIFEX) | |
| 36 | AcceptQuoteFlag | str | 是否可報價(TAIFEX) | |
| 37 | BlockTradeFlag | str | Y:可 N:不可 |
是否可鉅額交易(TAIFEX) |
| 38 | ExpiryType | str | S:標準 W:週 |
到期別(TAIFEX) |
| 39 | UnderlyingType | str | E:ETF S:個股 |
現貨類別(TAIFEX) |
| 40 | MarketCloseGroup | str | 參考"商品收盤時間群組表" | 商品收盤時間群組(TAIFEX) |
| 41 | EndSession | str | 一般交易時段:0 盤後交易時段:1 |
交易時段(TAIFEX) |
| 42 | isAfterHours | str | 早盤 : 0 午盤: 1 |
早午盤識別(TAIFEX) |
Python行情API實作使用說明
1. 載入API物件
from PY_Trade_package.MarketDataMart import MarketDataMart, SystemEvent
from PY_Trade_package.Product import ProductBasic, ProductSnapshot, ProductTick
from PY_Trade_package.Sol_D import Sol_D
from PY_Trade_package.SolPYAPI_Model import RCode
2. 初始化物件MarketDataMart
功能: 連線狀態通知、行情異動通知。
fQuoteEvent = MarketDataMart()
fQuoteEvent.OnSystemEvent = Observer_OnSystemEvent #系統訊息通知
fQuoteEvent.OnUpdateBasic = Event_OnUpdateBasic #商品基本資料
fQuoteEvent.OnMatch = Event_OnMath #商品成交行情
fQuoteEvent.OnOrderBook = Event_OnOrderBook #商品五檔行情
fQuoteEvent.OnUpdateLastSnapshot = Observer_OnUpdateLastSnapshot #國內國內商品最新快照更新
solD = Sol_D(fQuoteEvent,__file__)
solD.Set_OnSystemEvent_DAPI(QuoteApi_OnSystemEvent_DAPI) #驗證失敗訊息
solD.Set_OnUpdateBasic_DAPI(QuoteApi_OnUpdateBasic_DAPI) #傳來驗證商品資料
solD.Set_OnMatch_DAPI(QuoteApi_OnMatch_DAPI) #傳來驗證成交行情
solD.Set_OnLogEvent(Sample_D.funLog)#回傳錯誤通知
solD.Set_OnAnnouncementEvent_DAPI(QuoteApi_OnAnnouncementEvent_DAPI)#公告
solD.Set_OnLoginResultEvent_DAPI(QuoteApi_OnLoginResultEvent_DAPI)#登入是否成功
solD.Set_OnVerifiedEvent_DAPI(QuoteApi_OnVerifiedEvent_DAPI)#驗證成功與否
3. 執行連線:執行函式
Login
rc = solD.Login(aUsername, aPassword, exchange)
參數說明
| 欄位名稱 | In/Out | 格式 | 說明 |
|---|---|---|---|
| aUsername | Input | str | 身份證字號 |
| aPassword | Input | str | 密碼 |
| exchange | Input | str | 證券:TWS,期貨:TWF |
| rc | Output | Enum | 回傳結果RCode |
4. API登入,驗證失敗
由Sample中「QuoteApi_OnLoginResultEvent_DAPI」傳回登入失敗訊息。
由Sample中「QuoteApi_OnVerifiedEvent_DAPI」傳回驗證失敗訊息。
由Sample中「QuoteApi_OnAnnouncementEvent_DAPI」會收到相關公告資訊。。
驗證成功, 會收到通知行情連線狀態, 方能開始訂閱行情、取商品檔。
[以下需驗證成功後, 才能進行]
5. API通知行情連線狀態
if rc == RCode.OK:
由「Login」傳回狀態, 其回傳值為RCode.OK表示連線成功。
6. 訂閱國內行情:執行函式
Subscribe
rc = solD.Subscribe(exchange, symbol)
參數說明
| 欄位名稱 | In/Out | 格式 | 說明 |
|---|---|---|---|
| exchange | Input | str | 交易所(TWS:證交所) |
| symbol | Input | str | 商品代碼 (證券:輸入股票代號 期貨:輸入期交所委託代碼, 例如:TXFA4) |
| rc | Output | Enum | 回傳結果RCode |
7. API驗證成交行情
由Sample中「Event_OnMath」傳回成交行情, 請依照內容進行驗證, 請閱本文「API物件欄位說明」。
8. API通知國內行情異動
由Sample中「Observer_OnUpdateLastSnapshot」傳回行情, 行情欄位說明, 請閱本文「API物件欄位說明」。
9. 取消訂閱國內行情:執行函式
Unsubscribe
rc = solD.Unsubscribe(exchange, symbol)
參數說明
| 欄位名稱 | In/Out | 格式 | 說明 |
|---|---|---|---|
| exchange | Input | str | 交易所(TWS:證交所) |
| symbol | Input | str | 商品代碼 (證券:輸入股票代號 期貨:輸入期交所委託代碼, 例如:TXFA4) |
| rc | Output | Enum | 回傳結果RCode |
10. 結束連線:執行函式
DisConnect
rc = solD.DisConnect()
參數說明
| 欄位名稱 | In/Out | 格式 | 說明 |
|---|---|---|---|
| rc | Output | Enum | 回傳結果RCode |
訊息代碼表
1. TWSE 證交所訊息代碼表
TWSE股票異常代碼
| 股票異常代碼 |
| 00—正常 01—注意 02—處置 03—注意及處置 |
| 04—再次處置 05—注意及再次處置 |
| 06—彈性處置 07—注意及彈性處置 |
| 產業別 | |||||
| 產業別代碼 | 產業別 | 產業別代碼 | 產業別 | 產業別代碼 | 產業別 |
|---|---|---|---|---|---|
| 1 | 水泥工業 | 12 | 汽車工業 | 23 | 油電燃氣業 |
| 2 | 食品工業 | 14 | 建材營造 | 24 | 半導體業 |
| 3 | 塑膠工業 | 15 | 航運業 | 25 | 電腦及週邊設備業 |
| 4 | 紡織纖維 | 16 | 觀光事業 | 26 | 光電業 |
| 5 | 電機機械 | 17 | 金融保險 | 27 | 通信網路業 |
| 6 | 電器電纜 | 18 | 貿易百貨 | 28 | 電子零組件業 |
| 8 | 玻璃陶瓷 | 19 | 綜合 | 29 | 電子通路業 |
| 9 | 造紙工業 | 20 | 其他 | 30 | 資訊服務業 |
| 10 | 鋼鐵工業 | 21 | 化學工業 | 31 | 其他電子業 |
| 11 | 橡膠工業 | 22 | 生技醫療業 | ||
| 證券別 | |
| 代碼 | 意義 |
|---|---|
| W1 | 認購權證、等比例發行(公開發行時原始轉換標的股數為1000) |
| W2 | 認購權證、不等比例發行(公開發行時原始轉換標的股數不為1000) |
| W3 | 認售權證、等比例發行(公開發行時原始轉換標的股數為1000) |
| W4 | 認售權證、不等比例發行(公開發行時原始轉換標的股數不為1000) |
| BS | 本國企業上市屬證券股 |
| FB | 本國企業上市屬銀行股 |
| 空白 | 其他本國企業上市證券 |
| RR | 其它外國企業上市證券 |
| RS | 外國企業上市屬證券股 |
| RB | 外國企業上市屬銀行股 |
2. TAIFEX 期交所訊息代碼表
TAIFEX 期交所訊息代碼表
| 流程群組 | 開盤時間 | 收盤時間 |
|---|---|---|
| 1 | 08:45 | 13:45 |
| 3 | 08:45 | 13:30 |
| 4 | 08:45 | 11:00 |
| 5 | 08:45 | 16:15 |
| 6 | 08:00 | 16:15 |
| 9 | 08:45 | 14:00 |
| 10 | 15:00 | 隔日05:00 |
| 11 | 17:25 | 隔日05:00 |
| 12 | 15:00 | 隔日03:30 (當美國東部夏令時間EDT:隔日02:30) |
| 13 | 15:00 | 06:15:00 PM (當英國夏令時間BST:17:15) |
| 14 | 15:00 | 10:30:00 PM (當美國東部夏令時間EDT:21:30) |
TAIFEX商品收盤時間群組
| MARKET-CLOSE-GROUP | 收盤時間 |
|---|---|
| 1 | 13:45 |
| 5 | 16:15 |
| 10 | 隔日5:00 |