Murex 快速風險分析引擎

Murex 快速風險分析引擎
劉 蘭哲
2018 年 12 月 05 日發佈
簡介
https://www.ibm.com/developerworks/cn/analytics/library/ba-lo-murex-fast-risk-engine/index.html

Murex:在風險分析和預測分析領域,Murex 是一家爲金融市場提供交易、資金、風險和交易後操作技術解決方案的公司,Murex 的平臺 MX.3 被銀行、資產管理公司、養老基金和保險公司使用。 其客戶包括瑞銀、加拿大國家銀行、中國銀行、華僑銀行、招商銀行和 ATB 金融等。Murex 的核心產品 MX.3,於 2013 年在澳大利亞國民銀行上線並支持其外匯交易和處理,對其交易業務進行了全面改革。2017 年,Murex 與亞馬遜網絡服務公司合作,在亞馬遜的雲平臺上推出 MX.3。雲上的 MX.3 可用於開發和測試、運行生產流程、災難恢復和訪問基於雲的託管服務等應用程序。Murex 是金融行業軟件的領導廠商,有很多世界頂級金融機構選擇 Murex 作爲金融解決方案。

IBM Spectrum Symphony:IBM Spectrum Symphony 是企業級運算服務管理軟件,簡單來說,IBM Spectrum Symphony 是一個提供數據分發、任務調度以及資源管理的企業級分佈式計算框架,並且支持異構化的 IT 環境。用於在可擴展、共享、異構的大規模計算機集羣中運行分佈式應用程序。它能夠充分利用各種計算資源,提高並行應用的運行速度並快速得到計算結果,充分的滿足了數據密集型與計算密集型應用的計算要求,全面提升系統性能。在全球範圍內,IBM Spectrum Symphony 正在爲世界衆多的金融機構提供服務,其中,世界排名前 20 的銀行中有 15 家銀行正在使用 IBM Spectrum Symphony(以下簡稱 IBM Spectrum Symphony 爲 Symphony)。
如何運用 Murex 和 Symphony 幫您將運算時間減少 80%

在金融領域,風險分析和風險預測是非常重要的金融業務,需要強大的計算能力。Murex 作爲金融軟件的領導廠商,在現有的技術下,風險分析的計算能力已經發揮到了極限,急需一個可以增強 Murex 風險計算能力的平臺。IBM Spectrum Symphony 是高併發計算的平臺,恰好可以解決 Murex 的計算瓶頸。Murex 與 Symphony 的集成在全球有很多成功的案例。比如在一家知名投資銀行,由於集成了 Symphony,Murex 運行相同任務的時間減少了約 80%,這得益於 Symphony 的高併發能力和資源調度能力,使計算任務能夠在整個集羣中高併發運算,從而節省用戶的時間,也不需要購買額外的硬件資源。本文將會對 Murex 和 Symphony 的集成以及集成後的優點進行詳細介紹。
圖 1. IBM Spectrum Symphony 系統架構
在這裏插入圖片描述
Symphony 由兩個主要模塊組成, EGO 模塊負責資源管理和資源調度,SOAM 模塊負責任務管理和任務調度。在 Symphony 的集羣中,用戶需要根據 Symphony 提供的 API 實現基於 SOA 的客服端和服務端應用程序。

客戶端程序提交任務到 Symphony 集羣,Symphony 通過 EGO 模塊爲應用程序申請資源(CPU、內存、GPU),SOAM 模塊將任務分發到集羣中的機器上並啓動服務端應用程序,服務端接收任務數據並進行計算,最終會通過 Symphony 將任務計算結果返回給客戶端。

Symphony 還提供了一些命令行工具的集合和 WEB 操作界面,方便用戶查看任務的運行情況和資源使用情況。Knowledge Center 是 Symphony 產品文檔的 WEB 接口,用戶可以在其中找到 Symphony 各個功能的介紹和使用方法。
Murex 與 IBM Spectrum Symphony 的集成原理和工作模式

Murex 作爲世界金融商品交易管理及風險管理的領導廠商,其主要產品 MX.3 是爲全球交易、風險管理和資料處理量身定做的金融工具,不論您的業務是包含高交易量還是具有複雜的結構,您都會發現 MX. 3 可以滿足您的需要。Murex 爲多種資產類別的金融交易提供金融軟件交付集成的跨資產解決方案。金融服務企業希望通過運行更多併發場景、支持更多用戶、更快速的運算來最大化 Murex 的價值,這一切將通過與 Symphony 的集成得以實現,Symphony 是高併發運算的引擎,對於上層應用完全透明。Murex 與 Symphony 的集成將提高應用的運算速度,加速 Murex 的風險分析,最終使金融投資者獲得及時準確的數據,提高投資決策的正確性和準確性,使金融機構獲得更高的收益。

Murex 擁有無與倫比的產品覆蓋範圍和在每個資產類別中的領先功能,支持利率、外匯、股票、信貸和大宗商品工具的整個交易、風險管理和處理生命週期。該應用程序提供了卓越的能力和靈活性,從大量交易到奇異的產品結構。

對 Murex 來說,並行計算的速度對於支持日益複雜的金融分析及其不斷增加的應用非常重要。金融分析需要一個簡單通用的 API 來優化並行計算的效率。這些分析必須有一個單獨的實現,而且透明地與主要的並行計算平臺一起工作,以避免多次,高成本和複雜的維護工作。
Murex 的系統架構
在這裏插入圖片描述
下面先介紹一下 Murex 軟件的系統架構以及 Murex 和 Symphony 如何集成。
圖 2. Murex 系統概覽

Murex 的系統結構主要有 3 個層次:

Client Tier 通過壓縮的增量消息與應用層程序進行通信。它提供了訪問整個應用程序功能的入口。
Application tier 遵循面向服務的原則,是基於業務層、序列層、中間件層 3 個不同的層次。
    Business Layer 公開業務引擎包括定價任務、風險任務、會計任務、交易生命週期任務、清算任務等。
    Sequencing Layer 是一組服務,處理系統中任務之間的對象的序列化。
    Middleware Layer 負責服務生命週期。它由一個帶遠程的服務目錄組成,能夠根據要求啓動和停止服務的代理商具有無狀態服務的負載平衡機制。
Persistence Tier 專注於所有業務對象的交易存儲。它構建在標準的關係數據庫上:包括 SybaseASE 和 Oracle 數據庫。Persistence Tier 部署在兩個單獨的服務器上,以實現可伸縮性和故障轉移。每個節點託管不同的數據庫:
    Financial Database 託管所有 MX.3 業務對象的數據模型。
    Datamart Database 是一個"客戶定義"數據庫,用於報告和批量接口活動。

圖 3. Murex 和 Symphony 集成邏輯示意圖
在這裏插入圖片描述
Murex 和 Symphony 進行集成的主要考慮:

Murex 是金融類管理軟件,相比於其他的企業級應用系統需要更高更快的計算能力。
越來越多的金融類客戶選擇 Murex 來進行風險分析和風險預測。
Symphony 是面向服務體系結構應用計算的平臺,是並行計算的專家,提供了強大的並行計算能力、資源調度及資源管理能力。
兩者的集成可以顯著提高 Murex 的風險計算速度和計算能力,使客戶可以更快的得到風險分析計算的結果,爲金融投資提供更快速、更及時的數據作爲決策依據。
通過集成可以運行更高保真度的模擬預交易,以更準確地量化風險。
通過快速和準確的運算結果確保交易遵守法規並避免過多的財務儲備。
通過對 LOB 和資產類別的風險敞口的準確計算,提高盈利能力並更好地管理風險。

Murex 開發了一套通用的應用程序接口(MxGrid Interface)用來和 Symphony 產品進行集成。MxGrid Interface 和 Symphony 的交互對於分析集成專家是隱藏的,因此他們的程序具有獨立性和可移植性,MxGrid 提供了一個到 Symphony 的驅動,這使依賴 MxGrid 進行計算服務的分析程序能夠與領先的並行計算平臺協同工作。MACS(Murex Analytics)財務模塊依靠 MxGrid 提供集中並行化風險計算。所有的 MACS 模塊都適合並行化,與 Symphony 的集成可以極大的提高並行計算的能力。

Murex 的客戶,從小型金融機構到領先的地區和全球金融機構,都可以通過 Murex Flex 將專有的第三方金融分析集成到 Murex 平臺,這些擴展依賴於 MxGrid API 來並行化它們的計算。反過來,MxGrid 引擎透明地與 Symphony 交互,以提供並行計算服務。

Murex 與 Symphony 集成的優勢在於:

快速結果和競爭優勢:Murex 抽象了並行計算 API 的固有複雜性,爲分析集成人員提供了一個通用的、簡單的 API,以便快速投入市場。使用 Symphony 作爲並行計算的平臺,可以使原有的應用程序任務運行時間減少大概 80%。Symphony 集羣可以支持超過 20000 個 CPU,使服務器和集羣資源的利用率達到 97%,並且擁有高可用的基礎架構。

可伸縮,可靠的基礎設施:當客戶使用雲上的 Murex 和 Symphony 時,Symphony 幫助構建了一個高度可伸縮、可靠的並行計算基礎設施,這個過程可以很容易地擴展到其他應用程序。然後,整個集羣可以充當一個虛擬化的內部雲計算環境,不僅可以降低 SOA 應用程序的計算成本,還可以降低其他應用程序的成本。

基於策略的資源分配:Symphony 是一個可擴展的企業級計算平臺的軟件層,平臺 EGO 模塊提供了一個虛擬的資源池,爲多個應用程序或用戶組提供資源服務,併爲應用程序編排基於需求和策略的資源分配。有了 EGO 的強大功能,您的共享計算基礎設施可以運行其他應用程序,並進一步提高經濟規模,不用關心應用程序本身是否支持並行計算的。
Symphony 的作用

如前面分析的那樣,提高 Murex 計算性能最直接的方法就是提高其並行計算的速度和資源利用率,這正是 Symphony 最擅長解決的問題。

Symphony 是資源調度和高性能計算方面的專家,Symphony 會將其管理的計算機集羣當成一個整體,統一管理和調度整個集羣的所有資源,根據客戶端提交的作業和資源請求來分配計算資源(CPU, GPU, 內存),將客戶端提交的作業分配在集羣裏多臺機器上進行並行計算,並將計算結果返回給客戶端,這就保證了任務執行的並行度,提高作業的計算速度,並充分利用了整個集羣中的有效資源。除此之外,Symphony 支持用戶配置各種資源計劃來應對資源不足和資源空閒的情況,使整個集羣的資源得以充分利用。當存在計算資源競爭時,計算資源會優先分配給優先級較高且擁有的資源未滿足的任務,暫時得不到資源的任務會等待,當有空閒資源出現時此類任務會立刻獲得資源進行運算,這些措施保證了資源能夠得到最充分的利用。

Symphony 也支持資源的共享,暫時不需要資源的用戶可以將資源放入共享池中,或者出借給其他用戶,當作業請求到達時,出借資源的用戶可以在規定時間內收回資源,這極大的提高整個集羣的資源利用率和運算的效率。

Symphony 中資源管理和任務調度的邏輯可以簡單表示爲圖 4,圖中的任務可以根據其優先級獲得對應的資源,多個任務可以同時在不同的資源上並行運行。
圖 4. Symphony 任務示意圖
在這裏插入圖片描述

目前的集成方案及發生問題後的處理方法

Symphony 目前已經與 Murex 軟件進行了集成,並通過了正式的官方測試,最新的測試版本是 Murex MX.3 v3.1.37 和 Symphony 7.1.1。用戶通過 Symphony 和 Murex 提供的 API,自己編寫應用程序,並將應用程序作業提交到 Symphony 集羣進行計算,並在運算結束後得到運算結果,就可以使得此兩種軟件在一起工作。Symphony 的 Knowledge Center 提供了 Symphony 的所有信息,包括如何安裝,管理,使用 Symphony,以及 Symphony 提供的 API 的介紹。

在 Murex 與 Symphony 進行的集成中,Symphony 主要針對 Murex 軟件應用層(Application tier)中的中間件層(Middleware Layer)進行了優化。Murex 軟件利用 Symphony 可以將多個任務並行的特性,將 MACS(Murex Analytics)財務模塊的多個實例同時運行在 Symphony 的計算機集羣裏來幫助用戶更快的得到結果。

Symphony 還可以通過每個 MACS(Murex Analytics)財務模塊實例自定義的資源分配規則(資源分配策略,任務優先級,資源需求量,借入資源/還回資源配置等)動態的分配資源,提高資源使用率。

圖 5 所示的是 Symphony 的軟件操作界面。Symphony 使用 session 來作爲管理任務的容器,每個 session 中包含一個或者多個任務。Murex 軟件中的作業與 Symphony 中的 session 是一一對應的關係。Symphony 界面中的 session 頁面的信息包括任務總數、當前運行任務數、錯誤任務數、取消任務數等等,這些信息便於用戶對於作業狀態獲得直觀的感受,也有利於問題的調查。

對於發生問題的作業,用戶可以在 Symphony 的界面上點擊對應 session 來查看其中每個任務的信息,如啓動時間,發生錯誤原因,發生錯誤的計算機名等,然後進行進一步的分析。也可以通過圖.6 Symphony Performance 界面查看各種任務的數量。
圖 5. Symphony session 界面

點擊查看大圖
圖 6. Symphony Performance 界面

點擊查看大圖

在如圖.7 所示的 Symphony 界面中,用戶可以根據自己的需求來定義資源分配的形式(例如,從哪個計算機羣組中獲得資源,按什麼比例在應用程序之間分配資源,每個應用程序可獲得資源的最大數目,可以向哪個應用程序借出資源等),這些配置把用戶從瑣碎的具體操作中解放出來,同時最大化了資源利用率。

如果某些任務很容易在某些計算機上面出錯,用戶可以把這些計算機單獨組成一個羣組,然後通過配置阻止這些任務在這些計算機上獲得資源,這樣就能保證這些任務順利的在其他計算機上完成。
圖 7. Symphony 資源分配界面

點擊查看大圖
Symphony 解決方案的優點

Symphony 作爲企業級資源管理與任務調度軟件,擁有良好的性能與可靠性,同時廣泛支持各種基於 SOA 應用的並行運算,在實時性要求高和計算體量龐大的金融領域,Symphony 滿足了高性能和高可靠性的嚴苛要求。

通過與 Symphony 的集成,Murex 的用戶可以獲得的優勢如下:

提高性能:
    並行計算使得用更少的時間完成更復雜的計算。
    更高的 CPU 利用率(最高達到 97%)。
    更高優先級的任務可以優先得到執行。
    更低的延遲和開銷。
    任務的實例進程能被重用,不需要重新啓動,減少資源開銷。
增強可靠性:
    計算機集羣完善的的錯誤處理和故障轉移機制使得運算對於錯誤的容忍度更高。
    計算機集羣資源的靈活調度保證了有足夠的資源進行運算。
簡化資源管理:
    能夠實現靈活主動的資源管理和資源調度。
    自適應的資源管理,資源可以在不同計算任務之間共享。
    計算機集羣的資源能夠得到充分利用,可以用更少的資源得到期望的結果
資源擴展:
    當本地集羣資源不夠時,可以從各種雲平臺上獲得資源來支持任務的運算。
    提供多種資源管理方案,充分利用閒暇計算終端實現任務計算。
響應更快:
    實時動態的基於任務優先級變化的資源分配使得高優先級的任務能夠更快速的得到響應。
    可以有選擇的中斷短任務來響應高優先級任務,從而避免中斷長任務造成資源浪費。

將來可能進行的集成優化

Symphony 目前與 Murex 進行了集成和測試,也對其他知名軟件 Algorithmics、Calypso、MATLAB、Mesos 提供集成解決方案,隨着 Murex 和 Symphony 新版本的不斷研發,未來還會考慮更多的集成工作,這些將根據市場的需求逐步得到實現。
Symphony 的其他集成解決方案

Symphony 作爲業界領先的高性能計算和資源管理與任務調度平臺,除了可以與 Murex 進行集成外,還與其他知名軟件如 Algorithmics、Calypso、Matlab、Mesos 進行了集成,這些集成已經在全球範圍內得到廣泛應用。Murex 與 Symphony 的集成可以使金融客戶受益,與其他知名金融軟件的集成也會使使用其產品的金融客戶受益,如需要進一步的信息,請與 IBM 聯繫。
參考資源

IBM Spectrum Symphony Knowledge Center:這裏提供了更全面的官方文檔。
Murex 官方網站:https://www.murex.com/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章