華夏基金對(duì)市面上多家數(shù)據(jù)庫(kù)進(jìn)行調(diào)研測(cè)試,從性能、語(yǔ)言學(xué)習(xí)成本和技術(shù)服務(wù)等多方面進(jìn)行綜合考量,最終選擇高性能時(shí)序數(shù)據(jù)庫(kù) DolphinDB。本文將分享華夏基金使用 DolphinDB 的業(yè)務(wù)實(shí)踐。
本文作者:華夏基金 金融科技部高級(jí)副總裁 楊雪松,高級(jí)工程師 李乾鵬
目前我們主要研究日頻或日頻以下的中低頻因子,需要日常維護(hù)、管理和計(jì)算公共因子或用戶自定義的因子,同時(shí)進(jìn)行因子的策略回測(cè)。實(shí)際生產(chǎn)數(shù)據(jù)已超過(guò)1TB。在使用 DolphinDB 前,我們的研究員需要自己編寫大數(shù)據(jù)的回測(cè)系統(tǒng),手動(dòng)改換參數(shù)和進(jìn)行壓力測(cè)試。比如進(jìn)行10年滬深300的日頻調(diào)倉(cāng)回測(cè)需要2個(gè)小時(shí),研發(fā)效率低下、較難滿足實(shí)際業(yè)務(wù)需求。
為了有效提升策略回測(cè)效率、改善研發(fā)環(huán)境,我們想要搭建一套全新的系統(tǒng)。在對(duì)比測(cè)試國(guó)內(nèi)外多家數(shù)據(jù)庫(kù)后,我們選擇了高性能的時(shí)序數(shù)據(jù)庫(kù) DolphinDB。
使用 DolphinDB 研究策略和開發(fā)引擎
我們主要使用 DolphinDB 解決策略研究的相關(guān)問(wèn)題。首先使用 DataX 將異構(gòu)原始數(shù)據(jù)導(dǎo)入 DolphinDB,再借助 DolphinDB 的分布式計(jì)算框架和豐富的金融函數(shù)庫(kù)生成技術(shù)指標(biāo),在提升效率的同時(shí)大大縮短了開發(fā)周期。然后基于技術(shù)指標(biāo)生成公共因子和用戶自定義因子,同時(shí)根據(jù)股票數(shù)據(jù)進(jìn)行策略回測(cè)。最后分析回測(cè)結(jié)果如收益分析、歸因分析等。
目前我們已經(jīng)使用 DolphinDB 研發(fā)出數(shù)百個(gè)公共因子,利用 module 功能將其形成一個(gè)因子庫(kù),供研究員和基金經(jīng)理使用。以下為策略研發(fā)流程圖:
此外,我們借助 DolphinDB 研發(fā)了指標(biāo)選股引擎、單因子分析引擎和策略回測(cè)引擎。其中,我們使用 DolphinDB 成功開發(fā)的基于事件和向量融合的策略回測(cè)引擎,性能非常優(yōu)秀,在業(yè)務(wù)方面得到了極大的認(rèn)可。
數(shù)據(jù)庫(kù)選型
我們?cè)谶x型時(shí)從多方面對(duì)比 InfluxDB、ClickHouse、KDB+、DorisDB 和 DolphinDB。
·InfluxDB 不支持量化金融的常用函數(shù),在性能測(cè)試中相比 DolphinDB 差了一個(gè)數(shù)量級(jí)。
·KDB+ 語(yǔ)言晦澀,價(jià)格昂貴,缺乏國(guó)內(nèi)的技術(shù)支持團(tuán)隊(duì)。
·ClickHouse 的性能不及 DolphinDB,函數(shù)的共通性較弱,并且作為開源軟件對(duì)集群的支持性并不是很好。
·DorisDB 的性能未能完全滿足我們的業(yè)務(wù)需求。
同時(shí),我們對(duì) DolphinDB 進(jìn)行以下綜合考量:
·DolphinDB 在海量存儲(chǔ)、實(shí)時(shí)計(jì)算、查詢等方面的性能表現(xiàn)極佳。
·DolphinDB 提供豐富的金融常用函數(shù)。
·不管在 windows 還是 linux 系統(tǒng)中,輕量級(jí)的 DolphinDB 部署起來(lái)都很方便。
·DolphinDB 的語(yǔ)言是 SQL 和 Python 結(jié)合,學(xué)習(xí)成本低,我們的正式員工經(jīng)過(guò)1-2周的學(xué)習(xí)就可以基本上手。
·DolphinDB 有豐富的文檔資料和國(guó)內(nèi)專業(yè)的技術(shù)支持團(tuán)隊(duì),我們?cè)谑褂脮r(shí)遇到問(wèn)題,不僅可以查閱手冊(cè),也可以尋找技術(shù)團(tuán)隊(duì)支持,及時(shí)解決問(wèn)題。
DolphinDB 帶來(lái)的業(yè)務(wù)效果提升
使用 DolphinDB 加快了許多業(yè)務(wù)的周期,尤其是策略回測(cè)、指標(biāo)計(jì)算和因子計(jì)算等方面的提升效果很明顯。相比使用傳統(tǒng)數(shù)據(jù)庫(kù),DolphinDB 的速度可以提高一個(gè)數(shù)量級(jí)。開頭提到,我們之前進(jìn)行10年滬深300的日頻調(diào)倉(cāng)回測(cè)需要花費(fèi)2個(gè)小時(shí),但是在使用 DolphinDB 后整個(gè)過(guò)程不超過(guò)1分鐘,提升效率超過(guò)100倍。
與 DolphinDB 的未來(lái)合作計(jì)劃
我們計(jì)劃借助 DolphinDB 搭建一個(gè)量化相關(guān)的數(shù)據(jù)平臺(tái),把第三方數(shù)據(jù)源的數(shù)據(jù)都導(dǎo)入到 DolphinDB 中,這樣業(yè)務(wù)員在使用時(shí)可以調(diào)用統(tǒng)一的對(duì)外暴露接口查詢各個(gè)數(shù)據(jù)庫(kù)的相關(guān)數(shù)據(jù)。同時(shí)我們?cè)谘芯?level2 的高頻因子。在預(yù)演中,每天的新增數(shù)據(jù)量接近40GB,加上歷史數(shù)據(jù)總計(jì)幾十 TB,這對(duì)數(shù)據(jù)庫(kù)的性能提出更高的要求。希望和 DolphinDB 繼續(xù)保持友好合作。
本文為企業(yè)推廣,本網(wǎng)站不做任何建議,僅提供參考,作為信息展示!
推薦閱讀:旗龍網(wǎng)
網(wǎng)友評(píng)論
請(qǐng)登錄后進(jìn)行評(píng)論|
0條評(píng)論
請(qǐng)文明發(fā)言,還可以輸入140字
您的評(píng)論已經(jīng)發(fā)表成功,請(qǐng)等候?qū)徍?/p>
小提示:您要為您發(fā)表的言論后果負(fù)責(zé),請(qǐng)各位遵守法紀(jì)注意語(yǔ)言文明