【第159期 December 8, 2010】
 

研發新視界

淺談中國金融證券之STEP協定

作者/陳政彥

[發表日期:2010/11/25]



背景介紹

金融資訊交換協定 (FIX, Financial Information eXchange) 是應用於金融電子交易之間的國際標準,可大幅降低以往電子下單,必須以人工方式填單送單而造成的錯誤風險,是一種方便、快速、正確性高的協定。FIX於1992年被開發至今,全世界已經有超過2000家證券商支援 FIX 協定。

而大陸地區之電子交換協定,中國於2004年通過了以FIX為基礎架構而開發的「證券交易數據交換協議」(STEP, Securities Trading Exchange Protocol),正式成為國家標準。由於中國證券市場與國際證券市場存在一些業務面上的差異,因此通用FIX協定並無法完全適用於中國的證券交易所。有鑑於此,中國官方以FIX協定為基礎,開發出符合中國證券市場特色,並同時兼容國際標準的證券電子資料交易協定,即為STEP協定。

STEP奠基於國際金融標準FIX協定,並以FIX 4.4為基礎,使得STEP協定不但符合中國證券市場的特色,亦同時保有與FIX協定相容之特性。FIX協定中有許多tag在訂定之初並未定義用途,以作為往後擴充與其他組織申請客製之用,因此STEP開發團隊亦向FIX組織申請了一些屬於中國證券市場專用的tag,如此可確保其tag不會與既有FIX協定發生衝突,並保有更大的擴充性。

STEP協定實際應用

上海證券交易所於2004年加入了FPL組織,並參與FIX協定的制定過程。在2006年,亦成功研發出實作STEP協定的證券商端標準-「會員集成系統服務器」(簡稱MISS, Member Integrated System Server)。每家連接到上海證券交易所的證券商,都必須統一設置MISS以連接到交易所。MISS可以將各種電子交易平台整合在一起,經由統一的接口連接到交易所的後台系統,而MISS的底層實作即是以STEP協定。

上海證券交易所於2009年底,正式上線「新一代交易系統」(NGTS, New Generation Trading System)。NGTS是採用「多交易所」的架構,支援從證券商前台接入不同的交易所後台,此系統的核心亦為STEP引擎,透過STEP引擎的高度彈性,使得NGTS能夠更廣泛的支援新產品,如期貨、期權,以及融資、融券的交易機制,還有支援一日多次集合競價、集合競價方式生成收盤價、波動性中斷等新價格回報等功能,不論在技術上或業務面上,都帶給交易所與證券商更有效率的理想交易平台。

協定架構

在STEP協定中定義了應用環境、會話(session)機制、訊息格式、安全與加密、資料完整性(integrity)、擴充方式(extension)等內容。以client/server主從式架構為基礎,其溝通機制與FIX非常相似,同樣都有序號同步、訊息重送、重覆傳送flag與heartbeat等機制。

STEP引擎是利用socket將交易所與證券商連線,並提供callback函數,使得直接使用此引擎的交易所與證券商,皆可透過此組callback函數接收與發送管理與應用訊息。中國證監會與上海證券交易所也合力將協定封裝成STEP引擎,並發行給交易所與各證券商,此引擎可同時負責會話層以及應用層訊息的拆解與組裝,交易所亦可直接引用,將STEP引擎作為核心並開發出自己的交易系統。此外也提供監控功能,可供操作人員查詢與控管目前引擎狀態與記錄。

一、訊息格式

訊息本身的格式是以值組=的方式表達該訊息的所有資訊,並且在每個值組中間以(以hex表示即為0x01)的byte作為分隔符號。而不論是管理訊息(administrative message)或是應用訊息(application message),都是透過表頭(header)、正文(body)以及表尾(trailer)所組成。

訊息格式可分為管理訊息與應用訊息,以msgType (tag=35)區分。管理訊息是用以處理連線方之兩端之底層驗證與管理的訊息,例如Logon、Logout、Session Reject與Heartbeat等行為。而應用訊息則是代表連線雙方實際提出下單申請與回報結果之訊息,例如新單(New Order Single)、改單(Replace Request)、刪單(Cancel Request)、執行報告(Execution Report)與刪改拒絕(Cancel Replace Reject)等。

二、STEP應用訊息類別

實際交易方面,無論是下單或交易回報,均是以應用訊息做為交易所與證券商之間的溝通橋樑。STEP應用訊息,大致可分為三大類:

(1) 訂單訊息:代表由客戶端實際所送出的委託下單、刪改單要求以及查詢等。
(2) 私有廣播訊息:由交易所端所回傳的訂單ACK、委託回報、成交回報以及查詢結果等。
(3) 公共廣播訊息:由交易所端所發出的市場行情廣播資料。

STEP協定定義此三類應用訊息,已可滿足絕大部份對於證券商與交易所端所面臨的各種交易需求。

STEP協定自訂應用訊息

STEP協定中也增加了特殊的應用訊息,是在FIX協定中所沒有的:

一、證券行情廣播消息:

其表頭的msgType為U003,交易所可透過行情通訊系統,廣播目前的市場行情,其發出之市場行情即以此訊息格式代表。

二、市場參數請求消息:

其表頭的msgType為BI,證券商可向交易所發出「市場參數」的request,而交易所接收此request之後會回應其市場參數。該request即以此訊息格式為代表。

此外,還有一些STEP協定自定義的應用訊息,若需更詳細訊息可參見STEP協定參考文件。

結語

STEP協議公佈發行以來,已歷經許多版本,從一開始的1.0、1.04直至目前1.10版本,皆可看出中國對於STEP協議相當重視,從目前備受肯定的上海證券交易所NGTS系統及MISS伺服器的建置,以及要求證券商端皆須採用STEP協定,可以想見STEP協定的重要性可見一斑。雖然近日美國CME集團所開發出新的FAST協議(FIX Adapted for Streaming),在效能上的表現優於STEP協定,甫出場便吸引眾人目光,據聞中國對於FAST協定也相當有興趣,但由於FAST協定的出發點畢竟與STEP不同,並非是以中國證券市場為考量出發點所量身訂製,因此無庸置疑STEP目前已經是上海證券交易所最重要之主力協定,短期之內應不會直接採用FAST協定。

雖然目前STEP協定已經是上海證券交易所的心臟,但就長期規劃而言,在未來中國是否有可能會基於考量風險、成本,以及「效能提昇」優於「量身打造」所帶來的利潤與優勢,而試圖移植FAST協定,恐怕即將成為中國金融市場下一個最重要的選擇題。

參考資料

一、基於STEP協議的證券行情分析系統(LEVEL-2)的研究與實現, 劉成德

二、金融數據交換國際標準在證券登記結算領域的應用研究, 張靜 劉大海

三、Wikipedia - Financial Information eXchange

四、FIX Protocol Organization

五、上海證券交易所