專利名稱:金融衍生品交易系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種金融衍生品交易系統(tǒng),應用于金融衍生品交易范圍,交易品種涵蓋證券、期貨、基金及其他衍生品,提供各種衍生品的基本交易、套利交易、及策略交易,并集對沖交易、程序化交易、風險控制、清算、ニ級帳戶管理等業(yè)務。
背景技術:
近年來,隨著金融衍生品交易品種的不斷増加,投資方式的不斷更新,投資者面對的選擇越來越多。并且,隨著金融市場的交易量不斷創(chuàng)下新高,投資者的觀念也經歷了從保守投資走向風險投資、穩(wěn)健投資的過程。現(xiàn)在的投資者,經過幾十年金融市場的歷練,投資方式已經從當初最基本的銀行存款,轉向多種投資方式齊頭并進,滿足自身短、中、長期的不同投資需求。同樣,隨著投資者的觀念更新及金融市場的日趨完善、成熟化,投資者的觀念也由原來的沖動型慢慢轉向理性投資,在金融市場成立初期,投資者往往出現(xiàn)蜂擁而上,盲目追高的心理。但,隨著市場的成熟化程度加大,投資者也開始轉向理性投資。例如采用多種數(shù)量化投資手段進行前期分析,中期追蹤及盈利監(jiān)控、止損控制。采用金融工程的相關知識進行投資組合構建,例如保守的追蹤指數(shù)投資組合方式及分散投資組合方式,以期規(guī)避非系統(tǒng)風險,獲取更大的利潤。因此,高端用戶亟需一款能夠滿足他們需求的,智能化程度高的系統(tǒng)。
發(fā)明內容
本發(fā)明的目的是克服現(xiàn)有技術存在的不足,提供ー種金融衍生品交易系統(tǒng)。本發(fā)明的目的通過以下技術方案來實現(xiàn)
金融衍生品交易系統(tǒng),特點是包括交易數(shù)據(jù)庫、交易服務器、網關、報盤服務器、策略服務器、管理服務器、交易客戶端、管理客戶端、行情數(shù)據(jù)庫、行情服務器和行情采集器;所述交易數(shù)據(jù)庫,存儲客戶的委托信息、成交信息、資金持倉庫信息以及基本數(shù)據(jù),客戶所有的委托、查詢請求經過交易數(shù)據(jù)庫;
所述交易服務器,處理客戶的交易、查詢請求指令,接受來自網關的請求,區(qū)分不同的請求分別處理,交易請求發(fā)送至報盤服務器,查詢請求直接從交易數(shù)據(jù)庫獲取,策略請求發(fā)送至策略服務器;
所述網關,提供客戶驗證、指令轉發(fā)和行情訂閱推送,網關接受來自交易客戶端的指令,轉發(fā)給交易服務器處理;網關接受來自行情服務器推送來的數(shù)據(jù),根據(jù)交易客戶端的訂閱信息推送到交易客戶端;
所述報盤服務器,與第三方期貨交易平臺和第三方現(xiàn)貨交易平臺通訊,由報盤服務器將委托交易請求轉發(fā)到第三方期貨交易平臺和第三方現(xiàn)貨交易平臺,繼而由第三方期貨交易平臺和第三方現(xiàn)貨交易平臺轉發(fā)到相應的交易所;
所述策略服務器,運行交易策略的服務器,接受來自交易服務器的策略指令控制策略的運行,接受來自行情服務器的行情數(shù)據(jù)提供給策略使用,連接交易服務器供策略調用資金、持倉、委托、成交交易數(shù)據(jù);
所述管理服務器,是管理端管理交易數(shù)據(jù)庫的中間件;
所述交易客戶端,提供期現(xiàn)套利、跨期套利、現(xiàn)貨構建、現(xiàn)貨趨勢交易、期貨趨勢交易、策略交易、交易信息查詢功能,提供給客戶使用的程序;
所述管理客戶端,提供清算對帳、策略導入、風險監(jiān)控、帳戶管理、基礎資料維護、交易初始化功能;
所述行情數(shù)據(jù)庫,提供分時行情的數(shù)據(jù)庫,由行情采集器將行情數(shù)據(jù)寫入至行情數(shù)據(jù)
庫;
所述行情服務器,對行情數(shù)據(jù)采樣并推送,證券行情數(shù)據(jù)來自交易所的行情,期貨行情 來自交易平臺的推送數(shù)據(jù),毎次采樣到新的行情后,行情服務器將行情推送到網關、策略服務器、行情采集器,行情服務器連接行情數(shù)據(jù)庫,提供給需要的客戶端;
所述行情采集器,將行情按時間頻度寫入至行情數(shù)據(jù)庫,供交易客戶端使用。進ー步地,上述的金融衍生品交易系統(tǒng),所述系統(tǒng)構建于· NET Framework之上,分為三層,即通用庫、業(yè)務層和展示層;所述通用庫包含
對象契約模塊,定義并實現(xiàn)業(yè)務數(shù)據(jù)和消息的規(guī)范,業(yè)務數(shù)據(jù)是業(yè)務處理的基本単元,定義良好的業(yè)務數(shù)據(jù)具備以下的條件實現(xiàn)IBizData接ロ,該接ロ表明當前對象是ー個業(yè)務數(shù)據(jù);聲明ByteHelperAttribute特性,該特性聲明業(yè)務數(shù)據(jù)將要使用的編碼幫助類;編碼幫助類繼承自ByteHelpeKT〉這ー泛型抽象類,編碼幫助類將業(yè)務數(shù)據(jù)與編碼/解碼功能解I禹;消息是通信傳輸?shù)幕緟g元,定義良好的消息實現(xiàn)ITransferData接ロ,系統(tǒng)內置提供兩個實現(xiàn)類,分別是RequestData〈T>,表示一個業(yè)務請求;ResponseData〈T>,表示一個業(yè)務請求的響應;此外,該組件中也定義業(yè)務處理、消息編碼的功能;
數(shù)據(jù)定義模塊,包含一組預定義的業(yè)務數(shù)據(jù)及相應的編碼幫助類;
網絡通信模塊,提供自定義的通信功能,模塊之間的通信使用自定義的通信框架,框架基于Socket實現(xiàn),通過異步Socket事件參數(shù),框架利用IO完成端ロ提供的異步讀寫功能,通過異步事件通知,將通信狀態(tài)及時反饋給上層組件;通信服務端包括連接控制通過配置,指定服務端允許的最大連接數(shù),每當接受一個連接后,查找到可用的空閑連接槽,將連接和連接槽建立關聯(lián);連接清理通信服務端監(jiān)控每個連接的使用情況,并定期清理長時間處于空閑狀態(tài)的連接,釋放資源;對象容器每個連接都對應著兩個異步Socket事件參數(shù)對象及ー個接收緩存,通過對象池,創(chuàng)建ー個大的容器將小對象集中在一起;
數(shù)據(jù)傳輸模塊,提供業(yè)務化的通信功能,在網絡通信的基礎上,數(shù)據(jù)傳輸組件提供業(yè)務化的面向對象的通信功能,包括處理接收數(shù)據(jù)解決Socket傳輸過程中的數(shù)據(jù)粘連現(xiàn)象,將接收到的數(shù)據(jù)轉換成消息,實現(xiàn)解碼功能;添加超時處理在發(fā)出的請求長時間未收到回應時,拋出異常;添加請求上下文信息在發(fā)送數(shù)據(jù)之前,寫入ー個RequestID值,接收數(shù)據(jù)之后,通過RequestID值,在請求和響應之間建立關聯(lián);添加同步發(fā)送/接收功能包裝底層事件將通信層的事件包裝成易于理解的事件;
配置管理模塊,實現(xiàn)自定義的配置管理功能,配置管理組件對.NET Framework內置的配置管理功能進行擴展,包括泛型支持添加泛型配置元素集合類ConfigElementCollection〈T>,免去定義各種配置元素集合的需要;多態(tài)性支持結合ConfigPolymorphicElementCoIIection<T> 類和 ConfigElementTypeAttribute 特性提供支持;統(tǒng)ー訪問支持通過ConfigHelper幫助類,提供對配置信息統(tǒng)ー的訪問方式;
數(shù)據(jù)訪問模塊,提供數(shù)據(jù)庫的訪問功能;
日志記錄模塊,提供日志記錄功能,預置ー組實現(xiàn)類,直接使用,記錄日志通過LogHelper幫助類完成,幫助類提供同步和異步兩種方式;
通用核心模塊,提供常用功能的封裝,對經常使用的基礎功能進行歸攏,包括提供一組針對不同類型Object, String, IEnumerable〈T>擴展方法、封裝部分常用的WindowsAPI、實現(xiàn)弱引用事件、集合類;
文件存取模塊,提供業(yè)務對象存取到文件功能;
異常處理模塊,提供異常處理功能,用于統(tǒng)ー處理系統(tǒng)運行過程中發(fā)生的異常,通過對不同異常類型建立處理策略,處理不同嚴重級別的異常。 更進一歩地,上述的金融衍生品交易系統(tǒng),所述交易數(shù)據(jù)庫為Oracle核心數(shù)據(jù)庫。更進一歩地,上述的金融衍生品交易系統(tǒng),所述管理服務器為WCF服務器。再進ー步地,上述的金融衍生品交易系統(tǒng),所述行情數(shù)據(jù)庫為Oracle數(shù)據(jù)庫或SQL Server 數(shù)據(jù)庫。本發(fā)明技術方案突出的實質性特點和顯著的進步主要體現(xiàn)在
系統(tǒng)基于.NET 4. O平臺,采用多層C/S架構,數(shù)據(jù)庫設計上使用ORACLE,采用存儲過程嵌套技術,加快了系統(tǒng)后臺處理速度。系統(tǒng)摒棄了系統(tǒng)默認的序列化機制,而采用自定義的編碼方式,直接將業(yè)務數(shù)據(jù)和Byte數(shù)組相互轉換,對新的業(yè)務數(shù)據(jù)類型擴展需求提供了靈活的支持;本系統(tǒng)直接使用Socket,在底層以異步的方式進行數(shù)據(jù)的傳輸,整個系統(tǒng)支持使用“異步+事件通知”的方式進行業(yè)務的處理,以提高整體的呑吐量;而客戶端為了簡化操作,在這個基礎上進行了封裝,同時支持以同步的方式進行調用,根據(jù)不同的業(yè)務需求,自由的選擇這兩種方式之一或者混合使用。在業(yè)務處理方面,系統(tǒng)使用一致的處理模式來應對所有的請求,即“異步+分發(fā)”。系統(tǒng)采用并發(fā)的方式處理所有的業(yè)務請求,調用方發(fā)起ー個請求后,無須等待響應,系統(tǒng)將在響應可用時以事件來通知調用方,整個過程非阻塞。采取并行的設計策略,系統(tǒng)中所有的業(yè)務請求都是并行的,彼此之間不會相互影響,大大提高了系統(tǒng)的整體穩(wěn)定性。
下面結合附圖對本發(fā)明技術方案作進ー步說明
圖I :本發(fā)明系統(tǒng)的架構不意 圖2 :系統(tǒng)的技術分層結構示意圖。
具體實施例方式如圖I所示,金融衍生品交易系統(tǒng),包括交易數(shù)據(jù)庫5、交易服務器9、網關10、報盤服務器11、策略服務器8、管理服務器6、交易客戶端7、管理客戶端4、行情數(shù)據(jù)庫2、行情服務器3和行情采集器I ;
交易數(shù)據(jù)庫5,為Oracle核心數(shù)據(jù)庫,存儲客戶的委托信息、成交信息、資金持倉庫信息以及基本數(shù)據(jù),客戶所有的委托、查詢請求經過交易數(shù)據(jù)庫5 ;
交易服務器9,處理客戶的交易、查詢請求指令,接受來自網關10的請求,區(qū)分不同的請求分別處理,交易請求發(fā)送至報盤服務器11,查詢請求直接從交易數(shù)據(jù)庫5獲取,策略請求發(fā)送至策略服務器8 ;
網關10,提供客戶驗證、指令轉發(fā)和行情訂閱推送,網關10接受來自交易客戶端7的指令,轉發(fā)給交易服務器9處理;網關10接受來自行情服務器3推送來的數(shù)據(jù),根據(jù)交易客戶 端7的訂閱信息推送到交易客戶端7 ;
報盤服務器11,與第三方期貨交易平臺12和第三方現(xiàn)貨交易平臺14通訊,由報盤服務器11將委托交易請求轉發(fā)到第三方期貨交易平臺12和第三方現(xiàn)貨交易平臺14,繼而由第三方期貨交易平臺12轉發(fā)到第三方期貨交易所13,第三方現(xiàn)貨交易平臺14轉發(fā)到第三方現(xiàn)貨交易所15 ;
策略服務器8,運行交易策略的服務器,接受來自交易服務器9的策略指令控制策略的運行,接受來自行情服務器3的行情數(shù)據(jù)提供給策略使用,連接交易服務器9供策略調用資金、持倉、委托、成交交易數(shù)據(jù);
管理服務器6,為WCF服務器,是管理端管理交易數(shù)據(jù)庫5的中間件;
交易客戶端7,提供期現(xiàn)套利、跨期套利、現(xiàn)貨構建、現(xiàn)貨趨勢交易、期貨趨勢交易、策略交易、交易信息查詢功能,提供給客戶使用的程序;
管理客戶端4,提供清算對帳、策略導入、風險監(jiān)控、帳戶管理、基礎資料維護、交易初始化功能;
行情數(shù)據(jù)庫2,為Oracle數(shù)據(jù)庫或SQL Server數(shù)據(jù)庫,提供分時行情的數(shù)據(jù)庫,由行情采集器I將行情數(shù)據(jù)寫入至行情數(shù)據(jù)庫2 ;
行情服務器3,對行情數(shù)據(jù)采樣并推送,證券行情數(shù)據(jù)來自第三方期貨交易所13和第三方現(xiàn)貨交易所15的DBF衛(wèi)星行情,期貨行情來自交易平臺的推送數(shù)據(jù),毎次采樣到新的行情后,行情服務器3將行情推送到網關10、策略服務器8、行情采集器1,行情服務器3連接行情數(shù)據(jù)庫2,提供給需要的客戶端;
行情采集器1,將行情按時間頻度寫入至行情數(shù)據(jù)庫2,供交易客戶端7使用。金融衍生品交易系統(tǒng),系統(tǒng)構建于· NET Framework之上,分為三層,如圖2所示,即通用庫(Common Libraries) A、業(yè)務層(Business Layer) B 和展不層(PresentationLayer) C ;通用庫A由各個模塊之間共享,業(yè)務層B和展示層C由各個模塊分別獨有;通用庫包含
對象契約模塊A3,定義并實現(xiàn)了業(yè)務數(shù)據(jù)和消息的規(guī)范。業(yè)務數(shù)據(jù)是業(yè)務處理的基本單元。一個定義良好的業(yè)務數(shù)據(jù)應該具備以下的條件實現(xiàn)IBizData接ロ 該接ロ表明當前對象是ー個業(yè)務數(shù)據(jù);聲明ByteHelperAttribute特性該特性聲明業(yè)務數(shù)據(jù)將要使用的編碼幫助類。編碼幫助類繼承自ByteHelperCD這ー泛型抽象類。編碼幫助類存在的意義在于將業(yè)務數(shù)據(jù)與它的編碼/解碼功能解耦。消息是通信傳輸?shù)幕緟g元。一個定義良好的消息必須實現(xiàn)ITransferData接ロ。系統(tǒng)內置提供兩個實現(xiàn)類,分別是RequestData〈T> :表示一個業(yè)務請求;ResponseData〈T> :表示一個業(yè)務請求的響應。此外,該組件中也定義了業(yè)務處理、消息編碼等相關的功能。對象契約為整個系統(tǒng)的數(shù)據(jù)通信和處理打下堅實的基礎。因為對象契約的存在,使得業(yè)務處理的過程更加對象化(無須再面對諸如Byte數(shù)組之類的基本結構),對于提高系統(tǒng)開發(fā)效率是非常有益的。數(shù)據(jù)定義模塊A4,包含一組預定義的業(yè)務數(shù)據(jù)及相應的編碼幫助類;
網絡通信模塊A10,實現(xiàn)自定義的通信功能。為了追求更高的通信效率,本系統(tǒng)各個模塊之間的通信使用自定義的通信框架。該框架基于Socket實現(xiàn),其核心思想是“異步+事件通知”。通過SocketAsyncEventArgs (異步Socket事件參數(shù)),該框架充分利用IO完成端口提供的異步讀寫功能,在此基礎上,通過異步事件通知,將通信狀態(tài)及時反饋給上層組件。通信服務端由于需要同時應對多個通信客戶端,增加了更多與性能相關的設計,包括連接控制通過配置,指定服務端允許的最大連接數(shù),避免連接數(shù)急劇膨脹可能導致服務器崩潰的現(xiàn)象發(fā)生。每當接受一個連接后,會查找到可用的空閑連接槽,將連接和連接槽建立關聯(lián)(此時,連接槽將變成被占用的狀態(tài));連接清理通信服務端會監(jiān)控每個連接的使用情況,并定期清理那些長時間處于空閑狀態(tài)的連接,釋放相關的資源;對象容器每個連接都對應著兩個SocketAsyncEventArgs對象(一個用于發(fā)送數(shù)據(jù),一個用于接收數(shù)據(jù))及一個接、收緩存,通過對象池技術,創(chuàng)建一個大的容器將這些小對象集中在一起(分配一整塊連續(xù)的內存空間),以提高內存使用效率。數(shù)據(jù)傳輸模塊A5,實現(xiàn)業(yè)務化的通信功能。在網絡通信的基礎上,數(shù)據(jù)傳輸組件提供了業(yè)務化的,面向對象的通信功能。該組件對應用開發(fā)人員隱藏了通信的底層細節(jié),使其可以專注于業(yè)務的處理,主要包括處理接收數(shù)據(jù)解決Socket傳輸過程中的“數(shù)據(jù)粘連”現(xiàn)象,將接收到的數(shù)據(jù)轉換成消息,實現(xiàn)解碼功能;添加超時處理在發(fā)出的請求長時間未收到回應時,拋出異常(TimeoutException);添加請求上下文信息在發(fā)送數(shù)據(jù)之前,寫入一個RequestID值,接收數(shù)據(jù)之后,通過RequestID值,在請求和響應之間建立關聯(lián);添加同步發(fā)送/接收功能由于網絡通信層整體采用異步方式,對開發(fā)的體驗不好,因此,這里利用請求上下文信息,將異步過程轉換成同步過程,免除了應用開發(fā)直接面對異步操作的苦惱,簡化代碼流程。當然,也仍然可以直接使用“異步發(fā)送+事件通知”的編程方式;包裝底層事件將通信層的事件包裝成更加易于理解的事件。配置管理模塊A9,實現(xiàn)自定義的配置管理功能。配置管理組件對.NETFramework內置的配置管理功能進行了擴展,包括泛型支持添加泛型配置元素集合類ConfigElementCollection〈T>,免去定義各種配置元素集合的需要;多態(tài)性支持由于內置的配置管理功能并不支持配置兀素的多態(tài)性,這里結合ConfigPolymorphicElementCollection<T>類和ConfigElementTypeAttribute特性以提供支持;統(tǒng)一訪問支持通過ConfigHelper幫助類,提供對配置信息更加統(tǒng)一便捷的訪問方式。數(shù)據(jù)訪問模塊Al,提供數(shù)據(jù)庫的訪問功能。日志記錄模塊A2,實現(xiàn)日志記錄功能。該組件已經預置了一組實現(xiàn)類,可以直接使用。記錄日志通過LogHelper幫助類來完成。該幫助類提供同步和異步兩種方式,可以根據(jù)業(yè)務特點靈活采用。通用核心模塊A6,實現(xiàn)常用功能的封裝。對經常使用的基礎功能進行歸攏,主要包括提供一組針對不同類型(Object, String, IEnumerable<T>等等)的擴展方法、封裝部分常用的Windows API、實現(xiàn)弱引用事件、一些集合類,如CachePool (緩存池)。文件存取模塊A8,提供業(yè)務對象存取到文件功能。異常處理模塊A7,實現(xiàn)異常處理功能。用于統(tǒng)一處理系統(tǒng)運行過程中發(fā)生的異常。由于本系統(tǒng)廣泛使用了異步、并行等多線程技術,而在多線程環(huán)境下,異常的捕獲并不是件容易的事件(經常被.NET運行時忽略),因此,有必須對異常處理過程進行統(tǒng)一的規(guī)范。通過對不同異常類型建立一套處理策略(忽略、重新拋出、退出系統(tǒng)),系統(tǒng)可以靈活處理不同嚴重級別的異常,從而達到正確性、健壯性、可靠性等的平衡。本發(fā)明通訊數(shù)據(jù)處理流程為從客戶端發(fā)起業(yè)務請求起,依次經過編碼、傳輸?shù)椒掌鞫?,再解碼、分發(fā)、處理、編碼、傳輸回到客戶端,再解碼獲取響應結果。整個過程中,除了客戶端發(fā)起請求可以選擇同步或者異步方式,其它都是以異步方式完成。有三點需要說明1)客戶接收過程是異步還是同步,是由發(fā)送請求的方式決定的(同步發(fā)送則同步接收,異步發(fā)送則利用事件來通知;2)服務器端接收到請求后,會有一個分發(fā)的過程,即真正處理請求的是各個已經注冊的業(yè)務處理類來完成,這樣就非常有利于業(yè)務類型的擴展(只需定義新的業(yè)務處理類型,再注冊到服務器即可);3)編碼、解碼、傳輸?shù)然A功能由框架統(tǒng)一提供,業(yè)務功能實現(xiàn)者無須參與,而是純粹以面向對象的方式編寫業(yè)務邏輯。系統(tǒng)基于.NET 4.0平臺,采用多層C/S架構,數(shù)據(jù)庫設計上使用ORACLE,采用存儲 過程嵌套技術,加快了系統(tǒng)后臺處理速度。為了減少編碼后的內容長度,提高編碼及解碼的速度,本系統(tǒng)摒棄了系統(tǒng)默認的序列化機制,而采用自定義的編碼方式,直接將業(yè)務數(shù)據(jù)和Byte數(shù)組相互轉換(由IBizData接口定義)。本方式對新的業(yè)務數(shù)據(jù)類型擴展需求提供了靈活的支持(只要實現(xiàn)IBizData接口,并在配置文件中進行類型注冊即可)。為了提高傳輸效率,本系統(tǒng)直接使用Socket,在底層以異步的方式進行數(shù)據(jù)的傳輸。整個系統(tǒng)支持使用“異步+事件通知”的方式(這是服務器端的默認行為)進行業(yè)務的處理,以提高整體的吞吐量。而客戶端為了簡化操作,在這個基礎上進行了封裝,同時支持以同步的方式進行調用,根據(jù)不同的業(yè)務需求,可以自由的選擇這兩種方式之一或者混合使用。在業(yè)務處理方面,系統(tǒng)使用一致的處理模式來應對所有的請求,即“異步+分發(fā)”。為了提高系統(tǒng)的吞吐量和系統(tǒng)運作效率,系統(tǒng)(包括服務器端和客戶端)采用并發(fā)的方式處理所有的業(yè)務請求。調用方發(fā)起一個請求后,無須等待響應,系統(tǒng)將在響應可用時以事件來通知調用方,整個過程是非阻塞的。這對于服務器端而言十分重要,是提高整體吞吐量的關鍵。為了提高系統(tǒng)的穩(wěn)定性,采取了并行的設計策略。系統(tǒng)中所有的業(yè)務請求都是并行的,彼此之間不會相互影響,這就大大提高了系統(tǒng)的整體穩(wěn)定性。與現(xiàn)有的交易平臺系統(tǒng)相比較,本發(fā)明系統(tǒng)凸顯以下優(yōu)點
①快速穩(wěn)定的通訊框架傳輸速度比.NET通用的WCF框架快3倍以上,并可對數(shù)據(jù)進行壓縮和加密處理,經過嚴格的壓力測試能穩(wěn)定運行500個以上的客戶端。②行情采用訂閱、推送方式全部行情從采樣到推送至客戶端在0. 3秒內即可完成,股指期貨行情更是能在0. I秒以內到達客戶端;
③穩(wěn)定高效的報盤服務報盤服務器能與各柜臺系統(tǒng)進行穩(wěn)定對接、快速報單,并且能夠同時連接多個期貨和現(xiàn)貨柜臺;
④異步處理系統(tǒng)采用異步處理方式,減少處理的排隊等待時間,業(yè)務請求不需要等待前面的處理結束,而是通過啟動一個異步過程執(zhí)行,提高了系統(tǒng)處理效率;
⑤序列化處理方式序列化處理參考了.NET本身提供的通用對象序列化方式(XmlSerializer> DataContractSerializer等),通過合理的需求分析和大量數(shù)據(jù)分析,針對市場需求開發(fā)了自定義的序列化處理,省略了中間格式(例如XML)的轉換步驟,而是按照業(yè)務數(shù)據(jù)類型直接分配空間,加快了編碼解碼的效率,從而提升了網絡傳輸性能;極大地提高了交易速度。需要理解到的是以上所述僅是本發(fā)明的優(yōu)選實施方式,對于本技術領域的普 通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
權利要求
1.金融衍生品交易系統(tǒng),其特征在干包括交易數(shù)據(jù)庫(5)、交易服務器(9)、網關(10)、報盤服務器(11)、策略服務器(8)、管理服務器(6)、交易客戶端(7)、管理客戶端(4)、行情數(shù)據(jù)庫(2 )、行情服務器(3 )和行情采集器(I); 所述交易數(shù)據(jù)庫(5),存儲客戶的委托信息、成交信息、資金持倉庫信息以及基本數(shù)據(jù),客戶所有的委托、查詢請求經過交易數(shù)據(jù)庫(5); 所述交易服務器(9),處理客戶的交易、查詢請求指令,接受來自網關(10)的請求,區(qū)分不同的請求分別處理,交易請求發(fā)送至報盤服務器(11),查詢請求直接從交易數(shù)據(jù)庫(5)獲取,策略請求發(fā)送至策略服務器(8); 所述網關(10),提供客戶驗證、指令轉發(fā)和行情訂閱推送,網關(10)接受來自交易客戶端(7)的指令,轉發(fā)給交易服務器(9)處理;網關(10)接受來自行情服務器(3)推送來的數(shù)據(jù),根據(jù)交易客戶端(7)的訂閱信息推送到交易客戶端(7); 所述報盤服務器(11 ),與第三方期貨交易平臺(12)和第三方現(xiàn)貨交易平臺(14)通訊,由報盤服務器(11)將委托交易請求轉發(fā)到第三方期貨交易平臺(12)和第三方現(xiàn)貨交易平臺(14),繼而由第三方期貨交易平臺(12)和第三方現(xiàn)貨交易平臺(14)轉發(fā)到相應的交易所; 所述策略服務器(8),運行交易策略的服務器,接受來自交易服務器(9)的策略指令控制策略的運行,接受來自行情服務器(3)的行情數(shù)據(jù)提供給策略使用,連接交易服務器(9)供策略調用資金、持倉、委托、成交交易數(shù)據(jù); 所述管理服務器(6),是管理端管理交易數(shù)據(jù)庫(5)的中間件; 所述交易客戶端(7),提供期現(xiàn)套利、跨期套利、現(xiàn)貨構建、現(xiàn)貨趨勢交易、期貨趨勢交易、策略交易、交易信息查詢功能,提供給客戶使用的程序; 所述管理客戶端(4),提供清算對帳、策略導入、風險監(jiān)控、帳戶管理、基礎資料維護、交易初始化功能; 所述行情數(shù)據(jù)庫(2),提供分時行情的數(shù)據(jù)庫,由行情采集器(I)將行情數(shù)據(jù)寫入至行情數(shù)據(jù)庫(2); 所述行情服務器(3),對行情數(shù)據(jù)采樣并推送,證券行情數(shù)據(jù)來自交易所的行情,期貨行情來自交易平臺的推送數(shù)據(jù),毎次采樣到新的行情后,行情服務器(3 )將行情推送到網關(IO )、策略服務器(8 )、行情采集器(I),行情服務器(3 )連接行情數(shù)據(jù)庫(2 ),提供分時行情給需要的客戶端; 所述行情采集器(1),將行情按時間頻度寫入至行情數(shù)據(jù)庫(2),通過行情服務器(3)供交易客戶端(7)使用。
2.根據(jù)權利要求I所述的金融衍生品交易系統(tǒng),其特征在于所述系統(tǒng)構建于.NETFramework之上,分為三層,即通用庫(A)、業(yè)務層(B)和展示層(C);所述通用庫包含 對象契約模塊(A3),定義并實現(xiàn)業(yè)務數(shù)據(jù)和消息的規(guī)范,業(yè)務數(shù)據(jù)是業(yè)務處理的基本単元,定義良好的業(yè)務數(shù)據(jù)具備以下的條件實現(xiàn)IBizData接ロ,該接ロ表明當前對象是ー個業(yè)務數(shù)據(jù);聲明ByteHelperAttribute特性,該特性聲明業(yè)務數(shù)據(jù)將要使用的編碼幫助類;編碼幫助類繼承自ByteHelperCD這ー泛型抽象類,編碼幫助類將業(yè)務數(shù)據(jù)與編碼/解碼功能解稱;消息是通信傳輸?shù)幕緟g元,定義良好的消息實現(xiàn)ITransferData接ロ,系統(tǒng)內置提供兩個實現(xiàn)類,分別是RequestData〈T>,表示ー個業(yè)務請求;ResponseData〈T>,表示ー個業(yè)務請求的響應;此外,該組件中也定義業(yè)務處理、消息編碼的功能; 數(shù)據(jù)定義模塊(A4),包含一組預定義的業(yè)務數(shù)據(jù)及相應的編碼幫助類; 網絡通信模塊(A10),提供自定義的通信功能,模塊之間的通信使用自定義的通信框架,框架基于Socket實現(xiàn),通過異步Socket事件參數(shù),框架利用IO完成端ロ提供的異步讀寫功能,通過異步事件通知,將通信狀態(tài)及時反饋給上層組件;通信服務端包括連接控制通過配置,指定服務端允許的最大連接數(shù),每當接受一個連接后,查找到可用的空閑連接槽,將連接和連接槽建立關聯(lián);連接清理通信服務端監(jiān)控每個連接的使用情況,并定期清理長時間處于空閑狀態(tài)的連接,釋放資源;對象容器每個連接都對應著兩個異步Socket事件參數(shù)對象及ー個接收緩存,通過對象池,創(chuàng)建ー個大的容器將小對象集中在一起;數(shù)據(jù)傳輸模塊(A5),提供業(yè)務化的通信功能,在網絡通信的基礎上,數(shù)據(jù)傳輸組件提供業(yè)務化的面向對象的通信功能,包括處理接收數(shù)據(jù)解決Socket傳輸過程中的數(shù)據(jù)粘連現(xiàn)象,將接收到的數(shù)據(jù)轉換成消息,實現(xiàn)解碼功能;添加超時處理在發(fā)出的請求長時間未收到回應時,拋出異常;添加請求上下文信息在發(fā)送數(shù)據(jù)之前,寫入ー個RequestID值,接收數(shù)據(jù)之后,通過RequestID值,在請求和響應之間建立關聯(lián);添加同步發(fā)送/接收功能包裝底層事件將通信層的事件包裝成易于理解的事件; 配置管理模塊(A9),實現(xiàn)自定義的配置管理功能,配置管理組件對.NETFramework內置的配置管理功能進行擴展,包括泛型支持添加泛型配置元素集合類ConfigElementCollection〈T>,免去定義各種配置元素集合的需要;多態(tài)性支持結合ConfigPolymorphicElementCoIIection<T> 類和 ConfigElementTypeAttribute 特性提供支持;統(tǒng)ー訪問支持通過ConfigHelper幫助類,提供對配置信息統(tǒng)ー的訪問方式; 數(shù)據(jù)訪問模塊(Al),提供數(shù)據(jù)庫的訪問功能; 日志記錄模塊(A2),提供日志記錄功能,預置ー組實現(xiàn)類,直接使用,記錄日志通過LogHelper幫助類完成,幫助類提供同步和異步兩種方式; 通用核心模塊(A6),提供常用功能的封裝,對經常使用的基礎功能進行歸攏,包括提供一組針對不同類型Object, String, IEnumerabIe<T>擴展方法、封裝部分常用的WindowsAPI、實現(xiàn)弱引用事件、集合類; 文件存取模塊(A8),提供業(yè)務對象存取到文件功能; 異常處理模塊(A7),提供異常處理功能,用于統(tǒng)ー處理系統(tǒng)運行過程中發(fā)生的異常,通過對不同異常類型建立處理策略,處理不同嚴重級別的異常。
3.根據(jù)權利要求I所述的金融衍生品交易系統(tǒng),其特征在于所述交易數(shù)據(jù)庫(5)為Oracle核心數(shù)據(jù)庫。
4.根據(jù)權利要求I所述的金融衍生品交易系統(tǒng),其特征在于所述管理服務器(6)為WCF服務器。
5.根據(jù)權利要求I所述的金融衍生品交易系統(tǒng),其特征在于所述行情數(shù)據(jù)庫(2)為Oracle數(shù)據(jù)庫或SQL Server數(shù)據(jù)庫。
全文摘要
本發(fā)明涉及金融衍生品交易系統(tǒng),其交易數(shù)據(jù)庫,存儲客戶的委托信息、成交信息、資金持倉庫信息以及基本數(shù)據(jù);交易服務器,處理客戶的交易、查詢請求指令,接受來自網關的請求,交易請求發(fā)送至報盤服務器,查詢請求從交易數(shù)據(jù)庫獲取,策略請求發(fā)送至策略服務器;網關,提供客戶驗證、指令轉發(fā)和行情訂閱推送,網關接受來自交易客戶端的指令;報盤服務器,與第三方交易平臺通訊;策略服務器,接受來自交易服務器的策略指令控制策略的運行,接受來自行情服務器的行情數(shù)據(jù)提供給策略使用;管理服務器,是管理端管理交易數(shù)據(jù)庫的中間件;交易客戶端,提供期現(xiàn)套利、跨期套利、現(xiàn)貨構建、現(xiàn)貨趨勢交易、期貨趨勢交易、策略交易、交易信息查詢功能。
文檔編號G06Q40/04GK102663649SQ20121015431
公開日2012年9月12日 申請日期2012年5月18日 優(yōu)先權日2012年5月18日
發(fā)明者張寶泉, 王鵬 申請人:蘇州工業(yè)園區(qū)凌志軟件有限公司