日本在线观看不卡,国产成人免费观看,国产gaysex男同视频chinese,欧美一级www

SCI期刊 | 網(wǎng)站地圖 周一至周日 8:00-22:30
你的位置:首頁 >  證券交易論文 ? 正文

證券交易的交易延遲思考

2021-4-10 | 證券交易論文

 

1概述

 

近年來,國際、國內(nèi)資本市場獲得高速發(fā)展,帶來資本流動性與交易量的急劇增大[1],使得降低交易系統(tǒng)延遲的需求凸現(xiàn)出來。同時(shí),程序化交易、算法交易、高頻交易的大量使用,也造成追求更細(xì)粒度交易時(shí)間的“競賽”不斷升級。事實(shí)上,消息傳輸帶寬、延遲方面的問題已成為證券交易行業(yè)近年來發(fā)展所面臨的最大技術(shù)挑戰(zhàn)之一。

 

面對挑戰(zhàn),以紐交所、德交所、加拿大Chi-X交易所、美國Bats交易所為代表的全球主要交易所已經(jīng)展開了激烈的競爭,紛紛采取措施降低交易延遲,以毫秒甚至微秒來計(jì)算證券交易延遲的“低延遲證券交易系統(tǒng)”因此成為研究熱點(diǎn)。

 

本文給出證券交易延遲的分析框架和分類方法,并針對構(gòu)建低延遲證券交易系統(tǒng)時(shí)的軟件集成和開發(fā),研究了操作系統(tǒng)、消息中間件、軟件開發(fā)、性能測試及優(yōu)化等相關(guān)軟件關(guān)鍵技術(shù)。

 

2證券交易系統(tǒng)延遲分析框架

 

與其他金融服務(wù)應(yīng)用相比,證券交易具有時(shí)間集中、數(shù)據(jù)密集的特點(diǎn),對交易速度具有很高的要求。以上海證券交易所為例,2009年日均成交股票達(dá)到了100多億股,股票每秒的成交量則達(dá)到了數(shù)萬筆之多,與此同時(shí),每秒鐘有數(shù)以萬計(jì)的訂單、確認(rèn)、回報(bào)、行情等消息被產(chǎn)生。

 

廣義上的證券交易延遲是指由訂單等交易指令從市場參與者系統(tǒng)發(fā)出,到交易系統(tǒng)接受、處理,并返回處理結(jié)果的時(shí)間開銷。而狹義上的交易延遲是指交易指令從進(jìn)入交易系統(tǒng)接入點(diǎn)之后到處理結(jié)果返回接入點(diǎn)之間的時(shí)間開銷。對于證券交易所這種集中式的交易系統(tǒng)來說,客戶方系統(tǒng)和網(wǎng)路等外部延遲因素不可控,因此低延遲證券交易系統(tǒng)的構(gòu)建主要基于后者進(jìn)行討論。對于證券交易系統(tǒng),根據(jù)經(jīng)過的處理環(huán)節(jié),交易延遲可細(xì)分為以下5類:

 

(1)消息處理延遲:應(yīng)用消息傳輸過程中的消息格式轉(zhuǎn)換、消息可用性機(jī)制相關(guān)的時(shí)間開銷。

 

(2)通信處理延遲:主機(jī)的協(xié)議棧處理開銷。

 

(3)調(diào)度延遲:主機(jī)提出請求到請求開始被處理的時(shí)間開銷。

 

(4)發(fā)送/接收延遲:主機(jī)向網(wǎng)絡(luò)發(fā)送或接收協(xié)議包的開銷。

 

(5)傳播延遲:在傳播介質(zhì)上傳輸?shù)臅r(shí)間開銷,主要與傳輸距離和傳輸介質(zhì)相關(guān)。

 

相應(yīng)地,交易延遲的影響因素涵蓋了網(wǎng)絡(luò)、CPU、存儲器、網(wǎng)絡(luò)接口性能等硬件相關(guān)的因素,以及操作系統(tǒng)、中間件(主要為消息中間件)、應(yīng)用軟件等軟件相關(guān)的因素。這些因素在不同層次上對證券交易延遲造成影響。其中,根據(jù)文獻(xiàn)[2],對于高性能、低延遲硬件環(huán)境的系統(tǒng)來說,大部分的開銷由軟件處理所引起。因此,在構(gòu)建低延遲證券交易系統(tǒng)的時(shí)候,尤其需要對這些軟件延遲影響因素進(jìn)行分析,盡量避免或降低延遲影響因素造成的影響,降低交易的延遲。

 

3低延遲證券交易系統(tǒng)軟件關(guān)鍵技術(shù)

 

3.1操作系統(tǒng)

 

常見的通用操作系統(tǒng)存在以下不適于低延遲處理的地方:

 

(1)雖然理論上操作系統(tǒng)時(shí)鐘最小可以與硬件中斷處理的時(shí)間相等,但通用操作系統(tǒng)的時(shí)間管理一般采用粗粒度的周期性時(shí)鐘中斷。盡管對操作系統(tǒng)本身而言,這避免了頻繁進(jìn)行進(jìn)程上下文切換,但也使調(diào)度的時(shí)鐘延遲在最壞情況下可能等同于時(shí)鐘的間隔,從而成為延遲產(chǎn)生的最大來源[3]。

 

例如,Linux缺省時(shí)鐘間隔粒度為10ms,因此最壞情況下內(nèi)核和用戶空間應(yīng)用程序需要使用一個(gè)時(shí)間間隔來進(jìn)行調(diào)度。也就是說,對于一個(gè)休眠的進(jìn)程,即便喚醒條件已經(jīng)觸發(fā),也許需要10ms的時(shí)間才能被調(diào)度執(zhí)行,這顯然難以滿足低延遲應(yīng)用的要求。

 

(2)通用操作系統(tǒng)中大量存在的非搶占式處理會對低延遲處理造成影響。這是因?yàn)椋幢悴僮飨到y(tǒng)已經(jīng)使用了細(xì)粒度的時(shí)鐘,而且硬件也及時(shí)地產(chǎn)生了一個(gè)時(shí)鐘中斷,但如果中斷被屏蔽或者內(nèi)核運(yùn)行在非搶占式代碼區(qū),也會造成內(nèi)核不能及時(shí)中斷,應(yīng)用程序依然得不到及時(shí)的調(diào)度執(zhí)行,這樣的延遲可能會長達(dá)50ms~100ms[4]。

 

(3)線程調(diào)度策略也可能造成較大的延遲。即便操作系統(tǒng)使用了細(xì)粒度的時(shí)鐘,并且使用了搶占式方式可以及時(shí)中斷,但如果優(yōu)先權(quán)不夠,還是無法被立刻被調(diào)度執(zhí)行。實(shí)時(shí)系統(tǒng)領(lǐng)域?qū)υ搯栴}進(jìn)行了較多的研究。其中較好的一類辦法是使用按比例的實(shí)時(shí)調(diào)度器[5],它能按照比例對不同類型的應(yīng)用線程進(jìn)行調(diào)度,前提是所有線程都是搶占式的,而且使用粒度更細(xì)的時(shí)鐘。

 

(4)通用操作系統(tǒng)一般都使用虛擬內(nèi)存,因?yàn)檫@使得并發(fā)執(zhí)行的程序可以在運(yùn)行程序時(shí),只將運(yùn)行需要的部分載入內(nèi)存,從而允許程序空間的總和可以遠(yuǎn)大于實(shí)際可用的RAM內(nèi)存。對于時(shí)分系統(tǒng)來說,虛擬內(nèi)存不會產(chǎn)生問題。但是對于實(shí)時(shí)系統(tǒng),這種頁面調(diào)度與交換會造成無法容忍的不確定性延遲。

 

為支持實(shí)時(shí)、低延遲的應(yīng)用,一些面向操作系統(tǒng)的實(shí)時(shí)技術(shù)被提出。文獻(xiàn)[6]實(shí)現(xiàn)的實(shí)時(shí)操作系統(tǒng)利用MINIX無任何頁面調(diào)度與交換的特點(diǎn),使用基于優(yōu)先權(quán)的調(diào)度器替換了MINIX操作系統(tǒng)原本基于循環(huán)的調(diào)度器。該方法對時(shí)間粒度的要求不太高的應(yīng)用比較適合。QNX[7]系統(tǒng)在Unix中使用POSIX.1b實(shí)時(shí)規(guī)范,采用的技術(shù)有基于優(yōu)先權(quán)的調(diào)度算法、用戶內(nèi)存頁面鎖定、實(shí)時(shí)信號、優(yōu)化IPC和時(shí)鐘等。Vxworks繼承了POSIX.1b中的許多方法,此外,Vxworks中內(nèi)核和事務(wù)進(jìn)程使用了同一地址空間,這使得事務(wù)的切換十分迅速,也避免了系統(tǒng)調(diào)用中斷。REAL/IX系統(tǒng)[8]兼容POSX.1b,通過實(shí)現(xiàn)基于信號量的資源訪問替換了傳統(tǒng)的休眠/喚醒和中斷屏蔽,這有效地降低了中斷延遲,并使得向多處理器/多微處理器機(jī)器的遷移更加容易。REAL/IX實(shí)現(xiàn)的技術(shù)包括預(yù)分配內(nèi)存和文件空間、同步和異步I/O支持、用戶進(jìn)程直接處理中斷等。Rtlinux[9]系統(tǒng)通過在Linux內(nèi)核和中斷控制器硬件之間加上一層輕量級的虛擬機(jī)層來虛擬中斷控制器和時(shí)鐘,從而可以將Linux按照搶占式的方式來運(yùn)行。其中操作系統(tǒng)內(nèi)核不能直接控制中斷控制器,因?yàn)樘摂M機(jī)層使用宏替換了所有開/關(guān)中斷和中斷返回指令,所有的硬件中斷均被虛擬機(jī)層捕獲,然后根據(jù)中斷狀態(tài)判斷是否需要處理該中斷。

Top