日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

用Java构建股指期货交易系统

發布時間:2024/1/1 windows 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Java构建股指期货交易系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java構建股指期貨交易系統

?

Liu Hang (dalihang@hotmail.com)

?

未經作者許可,不得用來任何商業用途,轉載請注明出處和作者

概要

?

本文主要介紹怎樣使用Java相關技術構建一個股指期貨交易系統(金融期貨)。主要內容包括股指期貨交易系統簡介,系統業務架構,系統規劃要求和采用的技術架構及使用Java技術的優點。其中重點介紹使用Java相關技術實現的系統架構,關鍵技術包括 – JMS, SOA/Web Service, Appliction Server Cluster等。

?

?

1???????? 股指期貨交易系統簡介

?

在本文中所提到的股指期貨、期權交易系統,均指券商端的期貨、期權交易系統。期貨客戶通過該交易系統連接到交易所撮合成交平臺。系統提供客戶下單,行情信息,資金結算和風險控制等功能。

?

和股票交易系統類似,股指期貨交易系統提供在線下單,行情查詢等功能。和股票交易系統相比,期貨、期權交易在業務上要求更復雜的風險控制和資金結算等功能。在技術架構上,由于交易的標的物是指數或期權、貴金屬、全球市場等,市場行情數據變化更頻繁、相比于股票市場,風險更大。對系統的實時性、穩定性要求更高。

?

在現代期貨、期權交易中,有相當多的投資者進行快速、頻繁的交易,追求短期交易機會。對券商的交易系統要求能提供一定程度的程序化交易功能和靈活的交易方式。面對激烈的商業競爭,券商應該能夠提供多樣化的交易方式、快速推出新的交易模式以吸引更多的投資者。

?

在整個金融期貨交易系統的規劃中,應當考慮到以下幾點

?

1)? 交易系統應該提供一個統一的交易平臺,以支持多種產品交易,包括金融期貨、期權、本地和全球市場

?

2)? 系統應該支持多種交易渠道,包括可下載的交易客戶端,WEB交易、電話委托和客戶代理委托等

?

3)? 系統規劃應分開企業核心信息服務和外圍應用系統,以支持持續豐富的外圍應用系統

?

4)? 面對激烈的商業競爭和業務變革,要求系統支持快速開發、部署和持續的新功能發布。

?

?

2???????? 系統業務框架

?

本章節主要介紹股指期貨交易的業務框架,從高層次簡介期貨交易系統的功能。

?

?

?

?

?

整個股指期貨交易系統包括下面幾個大的部分

?

核心服務系統、券商內部運行維護系統、交易和行情借口、客戶端交易終端系統等。

?

?

  • 核心服務系統

?

提供股指期貨系統的核心功能,包括訂單處理,交易管理、行情服務、風險管理、基礎數據服務、Back Office服務(Position結算等)、數據中心(資金結算等)服務。這些功能以組件或服務的方式提供外部應用系統使用。

?

  • 運行維護系統

?

運行服務系統為交易系統運行提供所有必要的操作支持,包括Back Office 操作終端,風險管理/監控終端、Data Center操作終端、Dealer/客戶Agent交易終端等。 這些系統運行在券商的LAN 之內,提供給券商的各類用戶使用。

?

  • 統一交易、行情服務接口

?

期貨交易系統的核心業務服務提供給WLAN或其他渠道的用戶使用,要通過一個統一的交易和行情服務接口,以面向服務(SOA)的方式和其他外部交易終端集成。

?

  • 交易終端

?

交易終端通過統一交易、行情服務接口和核心系統交互。這些交易終端包括可下載的獨立客戶端、WEB頁面客戶端、電話客戶端(通過語言模塊轉化)等。在技術架構章節,涉及的客戶端為獨立客戶端。

?

  • 統一網關(交易、行情)

?

核心服務通過統一的交易和行情網關連接到本地交易所和全球市場。

?

???????????

3???????? 技術方案規劃

?

基于核心交易系統的性質,在技術方案的規劃時,需考慮以下因素

?

  • 高性能要求 Performance

?

相比于其他管理信息系統,期貨交易系統要求更高的性能,包括行情數據的實時刷新,交易訂單處理等。

?

  • 高并發性要求 Scaliability

?

股指期貨交易系統通常支持較多的并發用戶,且隨著業務的發展,交易客戶持續或快速增長,這要求系統有能力易于擴充以應付系統負載的增長。

?

?

  • 高穩定性要求 (Availability)

?

系統穩定性對于交易系統的重要性不言而喻。系統有能力在整體架構上防止單點失敗,能有一定程度上的故障恢復(Fail-over)的能力。

?

  • 與其他系統集成

?

隨著現在金融行業的快速發展和業務創新,交易系統也要求能和多個外部的系統包括第三方系統集成的能力,包括企業內部的客戶管理系統(CRM),交易所、銀行等。

?

  • 支持快速開發和業務創新

?

市場競爭也是時間的競爭,必然要求整個交易系統從規劃、開發和部署要求能夠在盡可能短的時間完成。另外,金融行業業務創新在不斷加快,新的交易方式、測略不斷出現,必然要求IT系統能夠快速反映和支持這種變革。在技術選型時,必須考慮到技術方案能夠滿足這種要求。

?

綜上所述,使用的技術方案要能夠解決上面的要求。目前,在期貨、股票交易系統中,所采用的技術主要有兩種 ? C/C++ Java. 國內業界較多的采用C/C++實現核心交易系統,本文主要闡述使用Java技術來實現整個交易核心和客戶端。

?

相比較C/C++, Java技術在滿足交易系統要求時,有如下特征

?

  • 性能要求 Performance

?

C/C++技術相比,使用Java構建核心交易系統,性能問題可能是首要的考慮點。但隨著Java和優化技術的發展,Java的運行性能比早期有了大幅提高,已廣泛用于服務器程序和實時應用。在另一方面,性能問題總是和具體要求相關聯,只要滿足系統的性能指標,使用Java應該是一個可行的選項。在筆者的項目實踐中,Java用來構建實時交易系統,配合合理的技術架構,完全能滿足系統的性能要求。

?

?

  • 并發性要求 Scaliability

?

使用Java相關技術和中間件如WebSphere, WebLogic等,構建一個高并發性的應用系統有著相當成熟的行業實踐,和快速實現的能力。

?

?

  • 穩定性要求 (Availability)

?

相比較于C技術,借助于Java中間件軟件,實現服務器應用的Load balance Fail-over是一項相當便捷和成熟的技術。

?

?

  • 與其他系統集成

?

Java/J2EE是一個開放的技術標準,有著廣泛的行業和開發社區支持,能夠較快并易于和其他系統集成。

?

?

  • 支持快速開發和業務創新

?

相比于C/C++,Java的快速開發能力顯而易見。由于大量成熟的開源框架、基礎組件的出現,在常見的企業系統開發中, 使得Java的開發效率遠遠高于使用C/C++技術,能夠較快速的實現新的業務功能。

?

?

綜上所述,Java技術能夠全面滿足期貨交易系統的要求,由于借助于中間件技術解決Load balance, Fail-over等關鍵性問題,使得開發者更關注于業務的實現, 大大縮短了整個系統的開發時間和人力成本。同時Java語言的開發效率也使得新業務的創新能夠在系統上得以快速實現。這些因素使得采用Java構建期貨交易系統是一個可行和較好的選擇。

?

?

4???????? 技術架構

?

本章節主要介紹股指期貨的技術架構, 從總體技術框架、運行物理環境等方面舉個介紹。

?

4.1??????? 總體技術框架

?

?

?

?

  • 客戶端

?

客戶端有兩類應用程序,一類是基于SwingGUI Application 如可下載的交易客戶端,數據維護終端等,另一類是web based Applicationweb頁面交易應用等。

?

GUI Applcition, 系統設計GUI framework幫助所有的GUI application開發。像對應于Web Applciation,可以采用主流的Web MVC framework.

?

對應Internet客戶端Application, 采用web service技術和服務器進行交互。對應訂單消息、市場行情采用Message系統。

?

  • 服務器端

?

服務器端的主要業務服務,采用Web Service方式發布,以供客戶端調用。市場行情服務接受來自市場的信息 (Message Driven bean),進行解析后發送給客戶端。

?

具體的業務組件可使用Spring? Ioc等框架技術。

?

  • 消息網關

?

使用Socket API調用的方式,接受來自市場的消息。進行處理后發送給消息中間件。

?

  • 數據存儲

?

數據存儲可采用成熟的數據存儲框架如Hibernate等。

?

4.2??????? 物理運行環境

?

應用程序部署要考慮系統的Load balance Fail-over等功能,利用Application ServerMessage Middleware cluster功性去確保系統的穩定性和可擴充性。

?

下圖為物流運行環境示意圖-

?

?

?

5???????? 小結

?

Java開發分布式大型應用系統,技術相當成熟,利用基于服務、組件和成熟的開源框架和中間件服務器,能夠快速構建大型的期貨交易系統,并易于擴充和維護。

總結

以上是生活随笔為你收集整理的用Java构建股指期货交易系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。