FIX協(xié)議的傳輸格式
隨著網(wǎng)絡(luò)的使用,目前所有大型的金融機(jī)構(gòu)都已經(jīng)實(shí)現(xiàn)了自動(dòng)化和數(shù)字化。當(dāng)中肯定少不了互聯(lián)網(wǎng)的加入,那么在這當(dāng)中,我們主要介紹一下FIX協(xié)議。它是由國際FIX協(xié)會(huì)組織提供的一個(gè)開放式協(xié)議,目的是推動(dòng)國際貿(mào)易電子化的進(jìn)程,在各類參與者之間,包括投資經(jīng)理、經(jīng)紀(jì)人,買方、賣方建立起實(shí)時(shí)的電子化通訊協(xié)議。Fix協(xié)議的目標(biāo)是把各類證券金融業(yè)務(wù)需求流程格式化,使之成為一個(gè)個(gè)可用計(jì)算機(jī)語言描述的功能流程,并在每個(gè)業(yè)務(wù)功能接口上統(tǒng)一交換格式,方便各個(gè)功能模塊的連接。
FIX協(xié)議結(jié)構(gòu)
當(dāng)前,FIX協(xié)議的格式存在著兩種結(jié)構(gòu):"標(biāo)記(Tag)〉=〈值(Value)"域結(jié)構(gòu)和 FIXML 結(jié)構(gòu)。下面針對(duì)域結(jié)構(gòu)模式對(duì)FIX協(xié)議的組成,連接建立、信息交換方法等進(jìn)行簡要說明,以便于了解FIX協(xié)議的概念。
FIX信息格式
(1) 信息格式
一條FIX協(xié)議信息的基本格式是:
《標(biāo)準(zhǔn)頭》+《信息正文域》+《標(biāo)準(zhǔn)尾》
每條信息都是由一系列帶有〈標(biāo)記(Tag)〉=〈值(Value)〉的域組成的。在每個(gè)域之間通過"< >"分開。除了一些特殊規(guī)定外,信息中的域可按照任意順序排列。所有域在都以"定界符"(#001;0x01H,文檔中寫為<SOH>)表示終止。
(2) 標(biāo)準(zhǔn)的信息標(biāo)題
每條命令或應(yīng)用信息都有一個(gè)標(biāo)準(zhǔn)的標(biāo)題。標(biāo)題表明了信息類型、長席、目的地、序號(hào)、起始點(diǎn)和時(shí)間。
(3) 標(biāo)準(zhǔn)的信息尾部
所有的信息,無論是命令類的,還是應(yīng)用類的,以一個(gè)標(biāo)準(zhǔn)結(jié)尾終止。尾部被用來把信息分離,并包括含有3位數(shù)的"檢驗(yàn)和"值。
(4) 數(shù)據(jù)類型
各域所使用的數(shù)據(jù)類型包括以下幾種:整數(shù)、浮點(diǎn)數(shù)、布爾數(shù)、字符串、多元值串、貨幣、交易所字符串域、國際標(biāo)準(zhǔn)時(shí)時(shí)間戳、國際標(biāo)準(zhǔn)時(shí)時(shí)間、本地市場日期等。
(5) 數(shù)據(jù)完整性
信息數(shù)據(jù)內(nèi)容是否完整可以通過"檢查信息長度"和字符的簡單"檢驗(yàn)和"兩個(gè)方法進(jìn)行檢查。
(6) 加密
為了保證信息安全,對(duì)傳遞的信息需要加密,加密方法的選擇由傳送中的有關(guān)雙方協(xié)議而定。任何域都可被加密并被添加于"密碼"的域內(nèi),不過,被確信可被清楚識(shí)別的域必須以非加密方式進(jìn)行傳送,這些公開的域(非加密)能在密碼的域內(nèi)被重復(fù)以完整地檢驗(yàn)公開的數(shù)據(jù)。
FIX協(xié)議的連接建立
建立一個(gè)FIX連接包括:電信層面連接的創(chuàng)立、經(jīng)由接收方對(duì)發(fā)起方的確認(rèn)、信息同步三個(gè)步驟。
FIX信息交換過程的實(shí)施
FIX信息交換過程的定義為:
在兩方之間,一個(gè)連續(xù)的序號(hào)系列范圍內(nèi)的雙向定單信息傳送。每條信息都有獨(dú)特的序號(hào)識(shí)別。在每次FIX交換過程開始時(shí),就是序號(hào)的開始,首先從1開始,并依次增加直至貫穿整個(gè)交換過程。當(dāng)在FIX交換過程中重新進(jìn)行連接的時(shí)候,監(jiān)控序號(hào)將能使各方能識(shí)別錯(cuò)過的信息,并能做出反應(yīng),來使應(yīng)用方達(dá)到一致地同步。
在整個(gè)信息沒有被激活的時(shí)期里,信息交換方將在有規(guī)則的時(shí)間間隔里產(chǎn)生"心跳信息"。通過"心跳信息"可監(jiān)控通信連接的狀況,識(shí)別進(jìn)入的序號(hào)缺口,并確認(rèn)是否接收到最后的信息串。"心跳間隔"是由交換過程發(fā)起人使用"心跳指令"域在"登錄"信息中宣布的。
當(dāng)信息交換連接的任何一方在"心跳指令"的時(shí)間內(nèi)都不發(fā)送任何數(shù)據(jù)的時(shí)候,"心跳信息"將被傳送。當(dāng)連接的任何一方在"心跳指令"+"合理的傳輸時(shí)間"的時(shí)間內(nèi)仍沒有收到"心跳信息",那么,可以認(rèn)為此次連接失敗,而且需開始實(shí)施修正操作。如果"心跳指令"被設(shè)置為零,將不會(huì)生成定期的"心跳信息"。
FIX的連接注銷
信息交換過程的正常結(jié)束是通過雙方互相發(fā)送"注銷"(Logout)信息來完成。"注銷"信息是開始或確認(rèn)一個(gè)FIX過程終止的信息,未經(jīng)"注銷"信息的交換而斷開的連接是反常情況,并應(yīng)按錯(cuò)誤來處理。
FIX通信協(xié)議的應(yīng)用
針對(duì)國內(nèi)的證券交易模式的分布式結(jié)構(gòu),即證券公司的各營業(yè)部、分支機(jī)構(gòu)數(shù)據(jù)分布存放,各自獨(dú)立,直接與交易所聯(lián)系,國內(nèi)券商正在探討并逐步推出集中交易系統(tǒng),集中交易系統(tǒng)可以帶來集中風(fēng)險(xiǎn)控制、提高系統(tǒng)效率等優(yōu)勢,可以在集中交易系統(tǒng)的構(gòu)建、規(guī)劃過程中,借鑒應(yīng)用FIX標(biāo)準(zhǔn)化協(xié)議,構(gòu)建具有數(shù)據(jù)層、核心業(yè)務(wù)層+FIX通信層、應(yīng)用層的廣義三層結(jié)構(gòu)。用FIX金融信息交換協(xié)議包取代過去的文件或通信包交換的模式。
在FIX協(xié)議的應(yīng)用過程中應(yīng)該注意到,由于亞洲地區(qū)的證券交易方式與FIX協(xié)議的主導(dǎo)地區(qū)美洲和歐洲國家有一定的差異,因此直接利用現(xiàn)有的FIX協(xié)議,特別是證券業(yè)務(wù)流程上的規(guī)范有一定的困難。
例如FIX協(xié)議在日本證券行業(yè)的應(yīng)用就遇到了信息定義內(nèi)容和信息流程順序上的問題。因此國內(nèi)的FIX的開展首先要關(guān)注FIX及其在中國的適用性,吸收其它市場的經(jīng)驗(yàn),將國內(nèi)外不同的交易程序加以比較,分析協(xié)議的使用方法以及協(xié)議使用環(huán)境,結(jié)合國內(nèi)證券市場的實(shí)際,使得該項(xiàng)協(xié)議既能成為一項(xiàng)標(biāo)準(zhǔn)又能為中國證券市場服務(wù),為中國證券交易的標(biāo)準(zhǔn)化過程中發(fā)揮作用。