金融资讯数据服务平台建设实践
本文選自《交易技術前沿》總第四十五期文章(2021年6月)
林劍青、王施、劉存光、曹敘風、王偉利、熊友根、王洪濤
海通證券股份有限公司/軟件開發中心
來源丨公眾號:上交所技術服務(ID:SSE-TechService)
海通證券金融資訊數據服務平臺通過構建統一資訊數據模型,對海量外部數據進行處理和融合,并運用人工智能技術挖掘數據價值,探索集團級資訊數據應用場景,實現對業務的全面賦能。本文通過介紹金融資訊數據領域的探索和實踐,針對企業數字化轉型中遇到的外部數據規范不統一、單一來源依賴性強、“煙囪式”系統建設、數據服務模式單一等問題,分享解決方案和實踐經驗,助力證券行業金融資訊業務發展。
一、 概述
1.1 背景
金融資訊數據在證券行業有著廣泛的應用,充分發掘資訊數據價值,提供差異化服務是業內探索的一個重要研究課題。金融資訊數據使用的過程當中也面臨著諸多挑戰。從內部應用系統整合的角度看,公司內部與金融數據相關的各種應用系統基本是“相互孤立、獨自運行”的,各個業務部門在需要金融類信息數據的時候,往往從采購和系統建設管理上以部門為單位獨自進行,既造成了公司內部資源的浪費,同時容易出現重復采購的金融類數據源或者重復建設的系統。另一方面,由于采用的金融數據源五花八門,一旦在數據源上發生了任何的變動,上層的應用往往都需要作相應的調整,一個微小的變化都可能會帶來較大的影響。除此之外,“煙囪式”的應用系統給系統維護人員帶來很大挑戰,不利于技術棧的統一,數據服務能力也得不到沉淀。
1.2 建設價值
海通證券金融資訊數據服務平臺(簡稱“資訊中心”)作為一個基礎資源輸入平臺,通過對各種投資類資訊、產品資訊、服務資訊的整合,實現資訊數據的統一管理。同時,通過對數據的自動采集、抽取、校驗,將第三方數據按照統一的數據模型和規范轉換為有用的、可靠的信息。
公司統一規范的金融資訊數據服務,消除了數據孤島,實現了集中化的數據管理。在數據資產化的基礎之上,借鑒專業的投資研究、運營管理、風險管理、輿情風控理論,對數據進行深入挖掘,建立公司特有的資訊數據分析模型,提供風險監控、機會發現、投資決策等多元化的服務支持。
二、 金融資訊數據模型
2.1 業務模型
數據業務模型的設計過程對各相關核心業務元素的完整性和相關性進行細致的分析。示例業務模型(圖1)涉及到的數據類別包括:
??????? ■ 中國資本市場主要金融品種的交易數據、財務數據及各類公開披露的信息。包括:上海證券交易所和深圳證券交易所全部上市公司的基本資料、發行資料、交易數據、分紅數據、股本結構、財務數據、公司公告及其它重要信息。
??????? ■ 公募基金、券商集合理財及信托等產品的發行上市資料、凈值、投資組合、收益和分紅數據、定期報告、財務數據等。
??????? ■ 國債、企債、金融債、可轉債、央行票據等債券的基本資料、計息和兌付數據、交易數據等,以及各類收益率曲線等衍生數據,并提供支撐債券定價計算的數據結構。
??????? ■ 中國證券市場指數(滬深交易所指數、銀行間債券市場指數、MSCI 中國指數、新華富時指數、中信指數、申銀萬國指數等)和海外市場指數的基本資料和交易數據。
??????? ■ 國內各期貨交易所期貨合約資料及交易數據,可支持套利計算、程序化交易的數據結構。
??????? ■ 自有數據,包括研究所報告、理財產品等。
圖1. 金融資訊數據模型示例
2.2 編碼規則
通過設計統一的編碼規則,如公司編碼、證券編碼、行業編碼、板塊編碼(圖2),將各金融品種有效的串聯起來,再設計通用的全局編碼與外圍業務系進行對接。數據根據自定義的內碼進行關聯,并采用業務主鍵做唯一索引,保證了數據庫結構的高度規范性,同時也實現了跟上游數據去耦合,降低上游數據結構變化帶來的風險。
圖2. 編碼信息示例
三、 金融資訊數據服務平臺架構
整個金融資訊數據服務平臺的實現緊密圍繞著對于各種數據的采集、轉換、清洗、分層存儲以及管理、發布、數據接口和數據應用等功能而展開。從數據的角度出發,我們將金融資訊數據服務平臺架構從邏輯上分為分成4個層次:數據源層、數據采集和處理層、數據存儲層、數據服務層(見圖3)。具體如下:
數據源:各類內部以及外部數據源,包括結構化數據、非結構化數據、半結構化數據。
??????? ■ 數據采集和處理:基于數據清洗轉換體系提供完備的源數據跟蹤管理、數據處理調度服務,支持根據實際數據要求,靈活配置處理任務;并提供多種數據校驗模型,靈活配置校驗規則以及任務,為數據源提供質量保障。
??????? ■ 數據存儲:數據存儲層存放經過采集、轉換、清洗和整理后產生的各類數據,除了出于系統的效率和應用的支持等目的而產生的少量冗余外,中心數據庫中的數據是原始的、精煉的,也不會產生各類二次加工數據。在數據存儲層,從技術上主要考慮數據針對業務或數據應用的存儲模型設計,以及針對數據應用效率的數據分層設計。
??????? ■ 數據服務層:是各類與數據相關的服務端系統的匯總,主要目的是為各類前端的數據應用訪問資訊中心提供一些基礎性服務,可以包括數據服務API、可視化組件、數據庫表及文件服務等。同時,資訊加工處理中運用到的NLP能力也可以進一步通用化,如標簽處理、情感分析、語義識別等,為不同業務場景提供相應的技術支持。
圖3. 海通證券金融資訊數據服務平臺總體架構
3.1數據源層
目前金融資訊數據服務平臺的數據涵蓋股票、公司、債券、基金、貨幣、指數、理財、期貨現貨、期權、資訊等多個類別(圖4),并且不斷引入特色資訊數據,進一步提升數據質量和數據全面性。
圖4. 海通證券金融資訊服務平臺數據分類
3.2 數據采集處理
3.2.1 數據清洗轉換
???????數據清洗轉換系統功能模塊圖如下(圖5)
圖5. 數據清洗轉換系統主要功能模塊
元數據庫是指定義數據清洗轉換平臺的基礎數據,主要功能包括數據源配置、數據字典和數據血緣管理。
調度中心是管控平臺的核心組件,包括配置管理、調度引擎、執行器管理、任務管理等。配置平臺支持在線配置調度任務入參,即時生效。
執行器支持任務節點彈性擴容縮容:一旦有新執行器機器上線或者下線,下次調度時將會重新分配任務。
任務管理支持動態修改任務狀態,暫停/恢復任務,定時任務觸發,配置子任務依賴等。
3.2.2 數據抽取和轉換
數據清洗轉換模塊是基于Kettle(開源工具,圖6)擴展的,在管理界面的模型配置菜單中可支持新建數據清洗轉換模型、上傳/下載/發布腳本、調試運行、查看操作日志和報錯日志等。
圖6.模型開發界面
3.2.3 調度框架和策略
核心調度功能模塊(圖7)是基于Quartz實現的集群調度中心,該架構支持調度服務的水平擴展,實現調度服務的高可用。調度中心通過讀取ETL(數據抽取轉換加載)模型配置的定時任務信息,定時啟動任務。一次任務調度包含多個模型,模型是整個調度中的最小單位。每個模型的調度執行均由負載均衡模塊計算后選擇負載最優的執行器執行。
圖7. ETL任務調度架構
由于ETL任務的調度執行過程具有內存及CPU消耗密集型的特點,傳統負載均衡策略(分發、隨機、HASH等)在此場景效果較差,往往容易造成單臺執行器負載過高而宕機。通過完善負載均衡機制,結合服務器實時的CPU、內存、并發任務數、線程數、服務延遲等指標對各執行器進行打分,調度時選擇得分高的執行器執行,實現準實時特性的負載均衡。配合完善的執行器自檢、熔斷、重啟策略,達到調度執行器集群高可靠性與可用性的目的。
采用分組調度策略,即一個任務配置一種定時策略,但該任務下涵蓋多個ETL模型,當某個調度任務發起時,該任務組下的所有模型均會被調度執行。
該調度方式的優勢在于降低了系統定時器的數量,避免操作人員頻繁配置重復定時任務,節省操作成本,且可降低調度服務定時線程開銷。
為了避免任務調度過于集中造成執行器集群壓力過大問題,在進行定時任務配置時對定時策略進行末位隨機算法,使任務執行盡量離散,避免在同一時刻有大量定時任務觸發。在任務組內也采用了隨機延遲調度的策略,極大的保證了調度集群的穩定性,提高了系統并發調度負載上限,使服務器實現最大化利用。
3.2.4 系統監控
為了保證對異常情況進行及時、準確地預警,通知相關人員第一時間處理,設計了海通資訊中心監控大屏(圖8),對數據清洗轉換、數據同步及校驗系統進行實時監控。監控維度主要有數據清洗轉換同步總量及報警提示、校驗系統校驗數據總量及異常數量、數據同步實時增量等。
圖8. 海通證券資訊中心監控大屏
四、 數據應用
4.1 輿情風控預警
多源資訊數據采集到集團內部之后,通過智能標簽平臺對資訊打上相應的標簽,包括股票、債券、基金、行業、概念、板塊、風險事件等。目前風險因子超過200個,用戶可以根據主體、風險事件和時間等維度快速進行輿情檢索,并根據個人需要進行預警任務的配置,當觸發告警條件時,會第一時間及時進行告警提示。
4.2 智能資訊運營
標簽化之后的數據通過數字化運營平臺進行管理,運營人員可以在線進行資訊內容、標簽內容、情感正負面等要素編輯操作,審核通過的資訊可以直接對外發布。同時,提供了資訊來源管理、資訊欄目管理等功能,實現對資訊的精細化運營。
4.3 智能語義分析服務
資訊數據結合自然語言處理方面的能力,實現在實體識別、語義理解、情感分析和智能文檔解析等領域的應用。
實體識別可以文檔中出現的各類實體,包括公司、人名、行業、板塊等;
語義理解:長城汽車今年9月電動車產量,可以識別出主體是長城汽車,“今年9月”對應的時間區間是9月1日到9月30日,“電動車”對應新能源汽車行業,“產量”對應某一項指標。
情感分析服務可以通過算法判斷主體和新聞本身的正負面;
文檔解析服務通過運用非結構化解析相關的能力,實現對各類文檔中的文字、表格和圖片的抽取,用戶可以根據自己的需要靈活地進行各類信息的提取和使用。
五、 數據治理
5.1 庫表命名規范
不同類別的數據建立統一的命名規范(表1),從而起到“見名知義”的效果。下游使用數據的時候,根據數據表的名稱就能大致定位表的用途,減少數據查找和數據定位耗費的人力成本。
表1. 庫表命名規范
5.2 數據校驗
數據校驗在整個資訊數據服務平臺建設過程中是尤為重要的一個環節,主要功能包括有校驗規則管理、任務管理、通知中心等。包括三類核心規則的配置,字段校驗,記錄行校驗與三方校驗。
所有校驗規則均可靈活配置定時執行策略,校驗執行結果提供校驗不通過數據量、通過率、異常數據明細等信息。提供校驗不通過消息推送,便于業務人員及時發現并處理異常數據。
業務規則的調度周期同模型同步的調度周期,依據業務需求,如行情類數據,一般使用分段變時配置收盤后每隔半小時調度;證券主表,機構主表等重要的基礎數據,源庫不定時推送數據的表,一般使用相等間隔調度,配置每5~10分鐘調度一次;某些不常更新的表,如常量、行業分類等,一般使用固定時間調度,配置一天調度一次或更久。
5.3 元數據管理
元數據系統主要實現數據的可視化呈現,并記錄表與表之間的邏輯關系,方便數據的追溯(圖9)。包括表信息展示、表結構數據展示、樣例數據瀏覽和導出等。
圖9. 海通證券資訊中心元數據管理平臺
六、 總結與展望
海通證券金融資訊數據服務平臺通過將多源異構的數據按照統一數據模型和規范轉入集團內部,解決了金融資訊數據使用中存在的規范不統一、單一來源依賴性強等問題,并運用自然語言處理方面的技術,進一步挖掘數據價值,豐富了資訊數據應用場景。
未來金融資訊數據服務領域還有廣闊的探索空間,一方面隨著人工智能技術在證券行業的應用逐步深化,資訊價值的縱向挖掘充滿了更多可能性,企業圖譜、產業圖譜、供應鏈、客戶畫像等數據可以相互關聯和穿透,實現數據的采集和展示到知識的積累和價值挖掘的飛躍。另一方面,隨著券商的開放程度越來越高,跨界進行信息、知識和能力共享逐漸成為可能,金融資訊數據作為很好的切入點,在提升機構客戶服務體驗以及構建開放生態上,將發揮出更大的價值。
??免責聲明? ?
本公眾號內容僅供參考。對任何因直接或間接使用本公眾號內容而造成的損失,包括但不限于因有關內容不準確、不完整而導致的損失,本公眾號不承擔任何法律責任。如有問題請反饋至tech_support@sse.com.cn。
?這個沒去大廠的程序猿,用 4 年時間證明自己做對了!
2021-11-28
曝騰訊天美程序員稅后250萬,月均20萬
2021-11-27
8年碼齡的技術總監,去上市公司面試,結果涼了!
2021-11-26
系統架構性能優化思路
2021-11-25
“因為內存泄漏,我的 M1 MacBook Pro 癱瘓了”
2021-11-24
我碰到過很多聰明人,但他們永遠做不成大事
2021-11-23
如何領導團隊做好技術債管理?
2021-11-29
總結
以上是生活随笔為你收集整理的金融资讯数据服务平台建设实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu 2544 最短路 Dij
- 下一篇: Java 25 岁生日快乐!