珠海盈米基金銷售有限公司(以下簡稱“盈米基金”),是一家深度運用互聯(lián)網(wǎng)技術(shù)、深度耕耘泛資管行業(yè)的創(chuàng)新型金融科技公司。盈米基金致力于用買方投顧的理念及實踐改變中國人買基金的方式,幫助更多的客戶實現(xiàn)可持續(xù)回報。
盈米基金在量化分析及投研成果開發(fā)的場景中應(yīng)用 DolphinDB,投資研究與科技實現(xiàn)團隊在 DolphinDB 的協(xié)助下提升了應(yīng)用實現(xiàn)效率。
本篇文章主要分享盈米基金使用 DolphinDB 的具體場景、業(yè)務(wù)改善、選擇理由、學(xué)習(xí)經(jīng)歷和使用感受。
產(chǎn)品總監(jiān) 李一芃,數(shù)據(jù)團隊負責(zé)人 賀云曉
使用 DolphinDB 的業(yè)務(wù)場景
由蜂鳥開發(fā)迭代的盈米蜂鳥投研系統(tǒng),通過復(fù)雜的后臺計算,實時為用戶提供即時的投資研究相關(guān)的工具應(yīng)用,為專業(yè)機構(gòu)投資者提供了交易運營服務(wù)及投研投顧業(yè)務(wù)解決方案。
目前我們主要研究日頻數(shù)據(jù),研究的數(shù)據(jù)類別包括全量的基金凈值,報告的截面數(shù)據(jù)等。目前全市場基金數(shù)據(jù)包含1萬多只基金產(chǎn)品,由于基金成立時間不一,日頻凈值數(shù)據(jù)年增300萬的數(shù)據(jù)量,數(shù)據(jù)計算量十分龐大。
雖然在具體投研中數(shù)據(jù)的頻率和總量較低,但是我們需要基于存量數(shù)據(jù)進行大量且復(fù)雜的實時計算。在此過程中,涉及到很多時間窗口對齊、標的過濾的連表操作。之前我們使用的其他方法,開發(fā)復(fù)雜度很高,同時計算效率非常不理想。因此,我們亟需強大的算力支持,實現(xiàn)高效處理數(shù)據(jù)的存儲、查詢與計算。目前,在使用 DolphinDB 后,我們的查詢和計算的效率已經(jīng)達到了200~300倍的提升。
DolphinDB 在我們的業(yè)務(wù)場景中主要被用于實現(xiàn)投研系統(tǒng)的算法工程化,其在數(shù)據(jù)查詢與計算方面可以達到毫秒級響應(yīng),完全滿足了我們的性能需求,實現(xiàn)對各種模型指標的實時計算。
此外,我們用 DolphinDB 支持算法來實現(xiàn)各種功能,比如計算基金的各種業(yè)績評價指標,構(gòu)建風(fēng)格因子等。通過這些功能幫助客戶進行高效投研。
DolphinDB 帶來的業(yè)務(wù)改善
目前,對于業(yè)務(wù)帶來的最大的改善是計算性能和研發(fā)效率的明顯提升。
相比之前使用其他系統(tǒng),新系統(tǒng)完全滿足了用戶操作秒級響應(yīng)的需求,部分場景下的計算速度甚至是之前的300倍以上。
此外,使用 DolphinDB 極大加快了項目的投產(chǎn)速度,簡單估算,現(xiàn)在的研發(fā)速度是之前的4~5倍。
計算性能和研發(fā)效率的提升不僅僅會優(yōu)化用戶的使用體驗,更重要的是在金融市場諸多細分領(lǐng)域為用戶創(chuàng)造更多具有投研價值的產(chǎn)品及服務(wù)從而發(fā)現(xiàn)更多的投資機會。
選擇 DolphinDB 的理由
經(jīng)由推薦,我們對于 DolphinDB 有了初步的了解,并且了解到其提供的服務(wù)能為我們目前算力、數(shù)據(jù)等方面提供支持。之后我們搜索了研報和一些排名數(shù)據(jù),發(fā)現(xiàn) DolphinDB 在全球時序數(shù)據(jù)庫中位列前茅。最令我們驚喜的是,DolphinDB 超越了傳統(tǒng)數(shù)據(jù)庫功能,提供了分布式存儲、編程建模與高性能計算的一站式大數(shù)據(jù)解決方案。
之后我們正式進行了數(shù)據(jù)庫選型。從多個維度謹慎對比 DolphinDB了與同類型其他產(chǎn)品。經(jīng)過全面的資料對比與性能測試,最終我們選擇了高性能的分布式時序數(shù)據(jù)庫 DolphinDB。
在產(chǎn)品對比中,除了存算性能,我們還考慮了如下三大因素。
首先,是否具備金融屬性。許多數(shù)據(jù)庫產(chǎn)品只提供一些通用功能。但是 DolphinDB 提供了投研方面非常便利的高效工具,比如內(nèi)置豐富的金融場景的相關(guān)函數(shù),能夠快速實現(xiàn)一些復(fù)雜的數(shù)據(jù)分析需求。此外,DolphinDB 提供大量的截面計算和連接引擎等,能夠?qū)?shù)據(jù)清洗和分析進行快速驗證。
其次,是否支持多種接口。我們在使用中會涉及多系統(tǒng)的對接,無論在系統(tǒng)的對接,還是在接口的定制和使用上,DolphinDB 都具備良好的擴展性。
最后,是否易上手易使用。DolphinDB 的學(xué)習(xí)門檻很低,大多數(shù)研發(fā)和投研人員可以快速上手。同時,DolphinDB 對很多計算函數(shù)及引擎做了較好的優(yōu)化,在遷移已有的計算和實現(xiàn)新的計算需求時,我們不需要考慮太多底層優(yōu)化的事情。
一周上手 DolphinDB
正式達成合作后,我們團隊面臨的挑戰(zhàn)是——項目進度緊,了解并熟悉 DolpinDB 使用的時間短。DolpinDB團隊提供了專人支持,配合我們團隊成員只花了一周的時間就實現(xiàn)了上手。在前半周,我們認真學(xué)習(xí)了 DolphinDB 提供的培訓(xùn)材料。后半周對著接口文檔查詢各種資料,同時在 ask.dolphindb 的社區(qū)里搜索相關(guān)的用戶問答。通過結(jié)合使用這三項工具,我們很快就實現(xiàn)了 DolphinDB 的基本運用。
在后續(xù)使用中,我們會產(chǎn)生一些或大或小的技術(shù)疑問。這時我們會帶著這些問題尋求 DolphinDB 技術(shù)支持團隊的幫助。在交流技術(shù)問題與解決方案的過程中,技術(shù)支持們會非常積極地幫助我們尋找、復(fù)現(xiàn)和解決問題。我們可以切實感受到 DolphinDB 技術(shù)支持團隊成員的專業(yè)度,以及技術(shù)服務(wù)的及時性。在技術(shù)團隊的幫助下,大概一個月后,我們就做到了真正熟練使用 DolphinDB,通過自主編寫代碼完成項目。
回顧學(xué)習(xí)及使用 DolphinDB 的經(jīng)歷,我們認為想要用好 DolphinDB,必須要做好以下三件事:
?要有具體的使用場景。學(xué)習(xí) DolphinDB,本質(zhì)上也是學(xué)習(xí)一門編程語言。有了具體的使用場景才能用好語言,只有用得好才算真正學(xué)會了這門語言。
?要有具體的使用數(shù)據(jù)。DolphinDB 是一款數(shù)據(jù)庫,數(shù)據(jù)庫的使用定然需要大量數(shù)據(jù)的支持。有了使用數(shù)據(jù),才能跑出各種模型;有了使用數(shù)據(jù),模型才能進行使用。
?要學(xué)會用 DolphinDB 的思維來寫算法。我們發(fā)現(xiàn) DolphinDB 相比 Python 還是有一些不一樣、但是使用體驗更佳的地方。舉例來講,Python 習(xí)慣于使用矩陣的思維去做計算,有時計算邏輯會非常復(fù)雜;而 DolphinDB 有很多基于字段、基于 SQL 的語法糖,這些語法糖在方便使用者的同時極大加快了研發(fā)效率。在習(xí)慣 DolphinDB 的算法思維之后,使用自然會變得更加順利。
關(guān)于 DolphinDB 的使用感受
使用 DolphinDB 已有些時日,我們也見證了團隊成員從剛開始的辛苦學(xué)習(xí),到逐漸接受并且認可 DolphinDB 的強大與便捷,再到大家開始主動探索 DolphinDB 的更多功能。在這個過程中,大家也分享了很多關(guān)于 DolphinDB 的使用感受,總結(jié)后共有如下五點:
1.DolphinDB 使用體驗非常好。這是同事們最大、也是最深刻的使用感受。DolphinDB 針對金融領(lǐng)域提供了很多方便開發(fā)的工具。比如 window join、context by 這種功能點非常好用,有效避免了一些復(fù)雜邏輯。很多同事之前習(xí)慣使用 Python,但在接觸 DolphinDB 后也會被這些引擎和函數(shù)驚艷到,確確實實地感受到開發(fā)變得更加便捷。
2.DolphinDB 是輕量級的。如果一款產(chǎn)品技術(shù)太重,是很難被引入一個團隊并且真正使用起來。如果一款產(chǎn)品不夠輕量級,就無法做到將很多復(fù)雜的架構(gòu)和復(fù)雜的體系完美地融合在一起。但是反觀 DolphinDB,真正做到了產(chǎn)品的輕量,并且在保持輕量的同時提供了很多接口,具備良好的擴展性。
3.DolphinDB 的存儲性能非常優(yōu)秀。壓縮比例非常高,最高可以達到10:1。當前項目因為數(shù)據(jù)總量不大,壓縮對節(jié)省存儲空間的意義一般,但是在并發(fā)請求時,對提升磁盤 IO 效率很有幫助。
4.DolphinDB 的計算性能非常優(yōu)秀。這一點我們團隊、尤其是負責(zé)算法的同事有著深刻體會。同樣的算法例子,使用 Python 可能需要兩分鐘才能執(zhí)行完成,但是 DolphinDB 的執(zhí)行時間只需要一秒。
5.DolphinDB 非常好上手。前文也分享了我們學(xué)習(xí) DolphinDB 的經(jīng)歷。一周實現(xiàn)基本上手,一個月達到熟練使用,對比其他產(chǎn)品的學(xué)習(xí)周期,我們認為 DolphinDB 的學(xué)習(xí)門檻是比較低的。
讓一款產(chǎn)品真正應(yīng)用于一家企業(yè)并不容易,從接觸了解到引入準備,從探索磨合到落地實踐,需要團隊上下每個成員的齊心努力。從敲定項目到引入 DolphinDB,再到第一個版本的成功上線,其實只是很短、甚至不到一個月的時間。而 DolphinDB 也確實得到了開發(fā)團隊、產(chǎn)品團隊和研究員們的一致認可與接受。大家都在各自的領(lǐng)域發(fā)光發(fā)熱,一起探索如何最大化地將 DolphinDB 給用起來。
衷心希望盈米基金和 DolphinDB 可以保持長期合作,相互擁抱、相互成就。讓我們一起在投研系統(tǒng)的建設(shè)方面做出更多創(chuàng)新性的合作,一起推動未來行業(yè)的蓬勃發(fā)展。
本文為企業(yè)推廣,本網(wǎng)站不做任何建議,僅提供參考,作為信息展示!
推薦閱讀:葉紫
網(wǎng)友評論
請登錄后進行評論|
0條評論
請文明發(fā)言,還可以輸入140字
您的評論已經(jīng)發(fā)表成功,請等候?qū)徍?/p>
小提示:您要為您發(fā)表的言論后果負責(zé),請各位遵守法紀注意語言文明