證券公司信息化4

今天給你們介紹下櫃檯交易系統,這是每一個證券公司的IT價值核心程序員

圖片描述

竟然仍是不斷的有人對我這個系列感興趣,前兩天有人問我最核心的第4篇在哪裏。其實,跳過了第4篇是當時編號時的疏忽,不過正好給了一個空位,留給最重要的內容。數據庫

先說說一個題外話安全

很早聽到國泰君安IT開發部的員工抱怨,說開發工做費腦子,但在公司裏的地位還不如成天忙忙碌碌的運行維護部的同事。我最近也深有體會。爲何,按理說,搞開發的,聽上去蠻有技術含量的,怎麼連普通的系統維護人員都不如,工資也低,獎金也低。服務器

這裏邊的緣由就在於,在證券公司內部,IT部的最核心的價值在於它維持了一套自動化交易系統,缺了這個系統,或者這個系統出現哪怕是一點點的故障,也會引發軒然大波。維護這個交易系統過重要了,領導太關注這個工做,領導的領導的眼裏IT的價值也就是維護好這個交易系統的平穩運行,天然因此圍繞這個工做的技術人員就會受到12分的重視,天然就能拿到高薪水。網絡

圖片描述

這個系統就是今天要說的櫃檯交易系統,每一個證券公司的IT價值核心。網站

美國的第二大證券公司摩根士丹利曾經在2年前在中國大規模招聘IT開發人員,爲其亞太地區的證券交易系統網羅勞工。說明一個現象:在國外的大投行裏,其核心交易系統基本是自主開發。spa

但在中國,櫃檯系統主要由兩家開發商:杭州的恆生和深圳的金證(固然還有金士達、根網等等,但規模小多了;也有部分證券公司號稱本身開發的交易系統,但或多或少的是與這兩家公司「合做」完成的)。證券公司只須要花錢就能買來一整套的交易系統,由恆生和金證的工程師調好系統,按系統現有功能來開展業務就是了。操作系統

圖片描述

3年前,大部分的證券公司的櫃檯系統是以營業部爲基本單元的。就是說,每一個營業部有本身獨立的櫃檯服務器,電話委託、網上委託、銀證轉賬等等都是基於本營業部,幾十個營業部各管各的,互不相關。如今基本都集中到公司總部。下邊形象粗淺的描述一下這個核心的交易系統,給你們一個比較宏觀而感性的印象。設計

在上海外高橋有一棟與上海交易全部密切利益關係的大樓,這棟大樓裏有不少的空的機房出租,各個證券公司都在這裏租用了不少房間,大部分的櫃檯交易核心服務器們就放置在這裏。這種大樓每每被稱爲「IDC」互聯網數據中心,專業的機房管理公司提供商業化的標準的機房和網羅環境,用戶(證券公司們)每一年花數百萬人民幣租用這裏大小不等的機房。除了機房,IDC還提供普通的辦公房間,供各公司管理各自機房的IT員工使用。因此,不少證券公司的櫃檯交易系統的維護人員實際上就在這棟大樓裏上班。他們的跳槽也就是從這間房子跳到另外一間房間裏。code

櫃檯系統的核心服務器是一臺起碼是價值100萬以上的小型機服務器(相對PC服務器,小型機這個概念更高檔一些和更貴一些),這些服務器通常都運行這Oracle9i數據庫操做系統(也有用SQL2000的,顯得更低檔次一點),這個數據庫內就是由恆生(或者金證)公司設計的數百張數據表格。

圖片描述

最重要的表格是(以恆生系統爲例):

一、 client表,這個由branch_no(營業部編號),fund_account(客戶資金賬號),client_name(客戶名稱),id_no(身份證號碼),rate_kind(佣金費率);等等不僅這些。這裏邊,fund_account惟一指定了客戶。咱們說開戶開戶,就是開的這個fund_account。

二、 fund表,存放客戶資金餘額(current_balance),幣種(money_type,是人民幣仍是美圓、港幣呀?)

三、 stockholder表,指明瞭客戶的資金賬號(fund_account)對應了哪些股東賬號(stock_account),還說明了這個stock_account,是哪一個交易所(exchange_type)的。fund_account是由證券公司開戶獲得的,而stock_account是交易所(登記公司)開戶得來得,一個股民要新開戶必須先開上海深圳得登記公司戶頭(前邊介紹過還記得嗎?),開櫃檯系統賬戶的fund_account時通常都要把其stock_account(通常都是兩個上海一個深圳一個)告訴開戶小姐,小姐錄到電腦裏,實際上就是放在這個表裏。

四、 stock表。存放客戶的股票餘額。主要有fund_account/stock_account/stock_code(股票代碼)、current_amount(股份餘額)等等。一個股民有哪一個股票有多少股就是在這個表中肯定。

五、 fundjour表。資金變更表。每一個股民的每筆資金變化都記錄在這裏。(jour的意思是流水賬的意思。)

六、 deliverjour表。股份變更表。每一個股民的股票的買賣變更記錄存放在這裏。(這個deliver單詞是否是有點奇怪?我也奇怪爲何不叫stockjour表。)

圖片描述

好了萬變不變其宗,全部證券公司的客戶交易行爲都是圍繞着這6張表進行,固然除了這6個基本賬簿恆生6.0集中交易系統中還有3百多張配套的表格,數據庫系統就是不斷的對這幾百個數據表利用數千個不一樣的業務行爲不停的更新呀更新呀再更新,或者不斷的查詢查詢再查詢。

說到底,就是這麼回事。

這臺最重要的櫃檯數據庫服務器,通常都有一臺專門用來數據寫入和更新,另有數臺備份服務器,使用數據同步軟件進行實時的數據同步,大批的查詢就能夠從其餘幾臺備份服務器上讀取數據。

這幾臺最重要的數據服務器放在機房最重要的位置,由最穩定的有備份的UPS電源提供電力,放在黑色的2米高、60CM寬的機櫃中,風扇呼呼的響,花花綠綠的小燈們拼命的忽閃忽閃的眨眼。

圖片描述

以櫃檯數據服務器爲核心,往外向幾個方向擴展。

一、 交易所。交易所都提供了專門的數據報盤系統,這些系統經過高度專線鏈接到交易所機房。做爲櫃檯交易系統的一個核心部件,恆生(金證)提供了報盤程序(叫Trans?對交易系統的細節真不太清楚。),這個程序不斷的從櫃檯數據庫的另外一張重要表格entrust(客戶委託表)的內容往交易所報盤系統轉發,或者反過來。Trans以毫秒計的不停的工做。作權證短線的投資客們在乎的就是這些毫秒(有點誇張,但他們絕對在乎秒,差1秒,他們絕對能感受出來。)

二、 恆生(金證)提供的完整的業務數據路由網絡。這個網絡的構架是除核心數據庫以外,櫃檯交易系統最核心的組成部分。

a) 在前幾篇中,我提到過,櫃檯交易系統有兩個核心功能:一:客戶賬簿功能,記錄了完整的會計賬簿信息(不要小看了這個記賬的功能,它是業務清算的核心,前邊提到過咱們的櫃檯系統已經不是純粹的「交易」系統,並且是一個複雜的「清算」系統,咱們國家以前不少問題就出在「交易」和「清算」的合而爲一,你們都搞不清,你們也都不去搞清,就交給供應商提供的櫃檯系統完成原本應該證券公司本身完成的業務流程分析規劃和管理。)二:交易數據路由功能,就是在實時交易過程當中如何保證快速的將客戶的買賣委託準確的發往正確的位置,這纔是「交易」的含義所在。特別是2000年後,三層甚至多層交易路由機制的出現,這種靈活配置的業務數據路由功能被髮揮到了極至。

b) 這裏先簡單講講。最初爲了知足交易網和辦公網的分離,在跨網段的機器上安裝數據轉發軟件(所謂交易網關),可以讓安全性差一些的外網上的客戶委託記錄經過這個交易網關轉發到核心的數據庫服務器所在的內網中。後來這種網關還能夠連另外一個網關,再連下一個網關,這就有了路由功能,經過設置這個路由軟件上的路由表(標明那些類型的業務數據從哪一個營業部來的應該轉到下一個的哪一個路由業務網關上)。並且,如今在數據庫的外邊包了一層叫業務應用服務的東西(這些名詞都是上世紀末互聯網熱潮中時興的叫法),對外而言沒有數據庫的概念,徹底被這個應用服務器軟件屏蔽,例如,我要買入一隻股票,之前是直接調用數據庫裏的存儲過程,如今只是提供一些標準參數,交給這個應用服務器(AS),再由它通常是一些內嵌到C語言裏的SQL語句完成業務任務(實現業務邏輯。)

圖片描述

目前未理解不要緊,可能過半個月回頭來看就能理解我說的意思。生活就是缺憾的藝術!

三、 Internet。營業部已經愈來愈做爲營銷場所和開戶場所存在,目前75%以上的交易其實是客戶經過網上委託完成的。核新、通達信等軟件公司開發了從客戶端軟件(就是咱們常常見到的證券公司網站上的那些能夠下載的交易軟件),到服務端的解決方案。這些服務端再經過上邊提到的櫃檯系統的AR(應用路由)軟件進入交易系統的網絡世界。

四、 營業部。如今營業部的功能愈來愈朝營銷中心的方向發展。除了行情繫統自成體系外,交易網絡已經完成成爲整個公司由AR和AS組成的業務數據路由世界的末端。例如,櫃檯開戶功能,客戶費率設定,指定交易,等等,經過恆生(金證)提供的一個Windows界面的客戶端軟件完成。另外還有傳統的刷卡軟件,大戶室的熱自助軟件,電話委託等等。都做爲末端數據採集系統聯入後臺的路由世界。

五、 銀行。呵呵,這但是個重要的合做夥伴。最初的銀證轉賬在2007年忽然被全國性的全面的完全的革命性的三方存管所取代。三方存管的意義在於,客戶資金數據終於從最細的細節上被除了證券公司之外的一個第三方機構所徹底掌握。證券公司終於沒有辦法經過壟斷客戶資金明細信息來獲取它的特權(例如挪用保證金,因爲證券公司屏蔽了客戶資金明細數據,它總能想出花招來搞股民的錢,特別是證券公司董事長動了這個念頭以後)。這樣,銀行和證券公司的數據交換成了證券信息數字流中重要的一環。

我忽然想到一些有趣的想法這裏特意拿出來強調:

A)、與銀行的業務流,實際上與櫃檯系統客戶賬簿功能同樣數據登記結算環節,屬於「清算」的內容範疇,與「交易」是兩回事。這是我一再強調的。

B)、咱們國家的證券公司沒有把我的客戶和機構客戶徹底分開。在銀行,我的零售(儲蓄所)和對公業務(營業部的會計業務)是徹底不一樣的部門,使用徹底不一樣的業務規則,IT系統是徹底不一樣的。在證券領域,一筆糊塗賬。

C)、交易相關的業務數據交換協議,在國外叫「FIX」,相信不少人都據說過FIX。其實,之因此咱們國家沒有出現相似FIX的東西,就是由於咱們國家這種數據交換太隨意。軟件供應商之間的數據接口業務只是一些底層的程序員本身編制出來的。這些接口千奇百怪,甚至員工的跳槽也會致使接口的變動。還有就是中國的軟件不值錢,標準協議這種東西是下降成本而出來的,若是你原本就都是手工做坊,也就每必要在較低成本了,由於那樣反而成本更高。

D)、SWIFT協議是國外銀行間或者企業和銀行間劃撥資金的標準接口。到了咱們國內也成了千奇百怪的接口,每一個銀行都有所謂的「企業電子銀行」,每一個銀行都在證券公司安裝各類他們的程序員們拍腦袋想出來的數據接口,實現銀行數據的電子化劃撥。

E)、中國的散戶太多了,機構也是散戶化的,交易頻繁,交易模式單一,證券公司內部更本不去自主創新業務管理髮展方式,監管機構也歷來就不放心讓證券公司本身管好本身,因此下來的操做指引也是無比的細則化,搞得你們都一個樣,你們都期望一套IT系統自動的完成全部的事情。苦了金證(恆生),也成就了他們,他們儼然成了業務顧問了。

怎麼發現,說得跑了題,都不知道飛到哪裏去了。

回過頭來再說咱們的交易系統。用一個具體的案例來說講信息是如何傳遞的。

股民老張看到中石油破發,再也沒法忍受本身的本錢縮水,決定拋調500股。他打開電腦,運行他一直在用的網上委託軟件(叫什麼核新客戶端軟件),輸入代碼、價格、股數等等回車。委託數據被打包,發給一個Internet上的IP(在網上委託軟件設置中均可以看到)。這個IP物理上也許在某個大城市的某個高科技園區內的某個電信公司的託管機房裏,這個IP地址被綁定到某臺服務器的一塊網卡上。這個服務器上運行這網上交易服務端軟件。

接受這個數據包後,核新公司的網上交易處理程序,再把數據轉發到金證公司的交易系統的某個AR程序,這個AR程序經過檢索本地硬盤上的路由表,發現應該交給中心機房的另外一個AR程序,因而數據經過內部廣域網來到了中心機房。(實際上能夠無數個AR間轉發這筆請求,只要你願意費神配置他們的路由表。怎麼聽上去有點象CCNA的網絡課程。是的,這些應用路由的轉發其實與IP路由轉發是一個道理。)

圖片描述

這個彙總AR再分析數據請求,發現是申請賣出股票的請求,就發給一臺應用服務器(AS),這個AS經過請求的功能號觸發約定要的一個DLL文件,這個可執行代碼裏,把這個請求終於放到了Oracle數據庫裏的entrust表中。

另外一個報盤程序,每毫秒的掃描這個entrust表,一旦發現新委託,立刻取出,寫入交易所的接口表中(多是一個叫order.dbf文件)。交易所的報盤程序也在不停的掃描這個Order.dbf表,一旦發現新委託,立刻經過DDN專線發給了交易所通訊中心,知道交易所主機。

因爲種散戶天生的被莊家們抓住了性格弱點,他必定是割肉在地板上,絕不留情的被莊家吃掉籌碼。成交。

OK,反過來又來一遍這個數據流程。晚了,累了,很少寫了。反正老張,看到了他的成交回報。而且立刻後悔本身拋調了股票。若是他晚上聽到新聞聯播裏下降印花稅的消息,指不定心情糟糕到跟老婆大幹一場的程度。(怎麼這個老張這麼象我呀?!)

嗚~又到了半夜。但願這一篇邏輯混亂的文章可以給你帶來一些關於櫃檯交易系統的稍微感性一些的認識。886。

相關文章
相關標籤/搜索