用DolphinDB快速搭建Level2快照流批一體因子計(jì)算平臺(tái)
在因子投研和生產(chǎn)過(guò)程中,往往需要基于大量因子進(jìn)一步加工有狀態(tài)的復(fù)雜指標(biāo),比如計(jì)算實(shí)時(shí) K 線和 MACD、RSI 等。
假設(shè)要計(jì)算1000個(gè)因子,每個(gè)因子實(shí)現(xiàn)邏輯各不相同,并有特定的如窗口關(guān)閉信號(hào)、計(jì)算窗口邊界等配置,重復(fù)搭建流處理框架、多次計(jì)算同一中間變量,必然是非常低效的。有沒有什么方法可以對(duì)大量因子的流式計(jì)算規(guī)范化、格式化,實(shí)現(xiàn)工程化管理呢?——DolphinDB 推出了一個(gè)方便、快捷、擴(kuò)展性好和兼容性強(qiáng)的流批一體因子計(jì)算平臺(tái)原型,提供基于快照數(shù)據(jù)計(jì)算分鐘因子和進(jìn)一步加工分鐘因子為復(fù)雜因子的功能,用戶可以根據(jù)我們給出的腳本和部署教程,快速搭建和調(diào)試。
完整的平臺(tái)搭建步驟和開發(fā)流程,請(qǐng)關(guān)注DolphinDB公眾號(hào)。
有了這一套流批一體因子計(jì)算平臺(tái),業(yè)務(wù)人員無(wú)需理解 DolphinDB 流計(jì)算框架的底層架構(gòu),僅需根據(jù)業(yè)務(wù)因子計(jì)算邏輯編寫函數(shù)表達(dá)式,然后調(diào)度因子計(jì)算平臺(tái)的計(jì)算接口,便可完成因子計(jì)算。
同時(shí),開發(fā)人員也無(wú)需再轉(zhuǎn)寫代碼,因子投研和生產(chǎn)只需一套系統(tǒng)、一種腳本即可無(wú)縫切換,極大降低了開發(fā)運(yùn)維成本,提高了因子投產(chǎn)的全流程效率。
因子計(jì)算平臺(tái)的架構(gòu)和功能
Level 2 快照數(shù)據(jù)流批一體因子計(jì)算平臺(tái)的架構(gòu)如下圖所示:
主要包含以下幾個(gè)功能模塊:
·實(shí)時(shí)數(shù)據(jù)低延時(shí)接入:API 實(shí)時(shí)數(shù)據(jù)寫入接口、實(shí)時(shí)行情接入插件、消息中間件訂閱插件;
·歷史數(shù)據(jù)回放:單表和多表嚴(yán)格按照時(shí)間順序控速回放,將存儲(chǔ)在 DolphinDB 數(shù)據(jù)庫(kù)中的歷史數(shù)據(jù)回放成流;
·流計(jì)算引擎:對(duì)快照數(shù)據(jù)做滾動(dòng)窗口的聚合計(jì)算使用了時(shí)間序列聚合引擎,進(jìn)一步加工成復(fù)雜因子依賴響應(yīng)式狀態(tài)引擎;
·集成開發(fā)環(huán)境:DolphinDB GUI 和 DolphinDB Vscode 用于因子表達(dá)式代碼的開發(fā)和調(diào)試,通過(guò) API 交互進(jìn)行任務(wù)調(diào)度和作業(yè)執(zhí)行;
·低延時(shí)消息總線發(fā)布:對(duì)接各種消息隊(duì)列中間件,把實(shí)時(shí)計(jì)算結(jié)果推送到 Kafka, zmq, RabbitMQ, MQTT 等。
因子計(jì)算平臺(tái)怎么使用?
按照本教程部署完基于 DolphinDB 搭建的因子計(jì)算平臺(tái)后,基于歷史數(shù)據(jù)的因子開發(fā)階段的調(diào)試流程如下:
基于歷史數(shù)據(jù)的因子開發(fā)
因子業(yè)務(wù)開發(fā)人員只需要在 DolphinDB 提供的集成開發(fā)環(huán)境中編寫因子計(jì)算的函數(shù)表達(dá)式,然后調(diào)用因子計(jì)算平臺(tái)的計(jì)算接口就可以完成調(diào)試。如果編寫因子符合 DolphinDB 的語(yǔ)法,就可以成功執(zhí)行并返回計(jì)算結(jié)果。如果編寫因子不符合 DolphinDB 的語(yǔ)法,就會(huì)報(bào)錯(cuò)中斷。
在已經(jīng)開發(fā)了一定數(shù)量的因子后,需要在生產(chǎn)環(huán)境部署實(shí)時(shí)計(jì)算業(yè)務(wù),部署流程如下:
基于實(shí)時(shí)數(shù)據(jù)的生產(chǎn)環(huán)境部署
因子業(yè)務(wù)開發(fā)人員只需通過(guò)客戶端調(diào)用封裝好的實(shí)時(shí)因子計(jì)算服務(wù)執(zhí)行函數(shù),便可以完成部署。執(zhí)行完以后,DolphinDB server 會(huì)出現(xiàn)該流計(jì)算服務(wù)的入口,是一個(gè)表對(duì)象,可以通過(guò) DolphinDB 提供的實(shí)時(shí)數(shù)據(jù)接入工具來(lái)接入數(shù)據(jù)。同時(shí)也會(huì)自動(dòng)創(chuàng)建流計(jì)算服務(wù)的出口,也是一個(gè)表對(duì)象,存儲(chǔ)計(jì)算結(jié)果。具體的部署步驟和因子開發(fā)流程,可以點(diǎn)擊文末閱讀原文進(jìn)行參考。
總的來(lái)說(shuō)——
寫個(gè)對(duì)應(yīng)的因子函數(shù),
生成 Json 配置文件,
調(diào)度新的 Json 文件,
大功告成!
值得一提的是,本次我們推出的因子計(jì)算平臺(tái)只涉及分鐘頻的因子計(jì)算,但是 DolphinDB 的計(jì)算能力不局限于此,接下來(lái)我們會(huì)陸續(xù)發(fā)布快照頻率、1s 頻率甚至更高頻率的因子計(jì)算平臺(tái)構(gòu)建最佳實(shí)踐教程,敬請(qǐng)期待!
-
海能新能源助力科技創(chuàng)新——第六屆射頻與天線技術(shù)國(guó)際學(xué)術(shù)研討會(huì)在深圳成功召開
-
漢王友基與廣州美術(shù)學(xué)院達(dá)成校企戰(zhàn)略合作
-
以遠(yuǎn)見超越未見 | 2023 山石網(wǎng)科 · 安全守護(hù)者峰會(huì)成功舉辦
-
漢王友基點(diǎn)陣筆新品上市,賦能紙筆互動(dòng)智慧教育場(chǎng)景
-
新生產(chǎn)力,躍升!2023WAIC“智慧金融與數(shù)字員工”分論壇在滬成功舉辦
-
DHL亞特蘭大樞紐投運(yùn)
-
三亞太陽(yáng)灣柏悅酒店開啟盛夏山海暑期童趣之旅