当前位置: 首页>C++>正文

因子收益率怎么計算,復雜因子秒級計算,文諦資產是這樣做到的...

因子收益率怎么計算,復雜因子秒級計算,文諦資產是這樣做到的...

上海文諦資產管理有限公司(以下簡稱“文諦資產”)秉持理性、務實、高效、專業的投資精神,憑借科學的量化投資戰略、先進的量化交易技術和成熟的風險管理能力深耕量化領域,以創造長期穩定收益為投資目標,為國內外投資者和合作機構提供專業的投資服務。文諦資產業務持續保持穩健發展,公司主要從事 CTA 和股票的量化策略研究與運作。

本文由文諦資產的首席策略官劉一夫、首席框架官吳永華、首席數據分析師王哲共同撰寫,分享關于 DolphinDB 的使用場景、使用效果、技術服務、選型過程和學習經驗。

文諦資產首席策略官 劉一夫
文諦資產首席框架官 吳永華
文諦資產首席數據分析師 王哲

大數據技術的飛速發展為量化投資注入了新鮮活力,隨著數據挖掘工具的更迭換代,各大投資機構也在不斷夯實自身的數據處理和分析能力。文諦資產作為量化統計及應用數學領域的投顧專家,在存儲、計算和分析大量時間序列數據的過程中,選擇了高性能的分布式時序數據庫 DolphinDB 作為強有力的研究工具。在合作的三年間,DolphinDB 為文諦資產提供了集數據庫、分布式計算和編程建模于一體的專業服務。

使用場景

我們主要在行情存儲、因子挖掘和模型回測三方面用到了 DolphinDB。

行情存儲

在行情存儲方面,我們主要使用 DolphinDB 進行數據的入庫、清洗與查詢。

在存儲數據時,我們借助 DolphinDB 的分布式特性,通過提前確定好數據導入的分區字段與分區粒度,提高后續數據檢索與分析的效率。比如在查詢數據時,DolphinDB 會以分區字段為數據過濾,通過 SQL 引擎快速定位要查找的數據塊,從而避免對整張表進行掃描,這極大提高了查詢速度。此外,為方便后續的數據分析工作,我們會使用 DolphinDB 對海量時序數據進行高效清洗, 找出并消除殘缺、錯誤或重復的數據,進而輸出一份高質量的、滿足業務需求的數據。相比其他數據清洗工具隨著數據量的增大自身性能會下降的情況,DolphinDB 在實際應用中能夠保持穩定性能

因子挖掘

在因子挖掘方面,我們主要使用 DolphinDB 處理數據量龐大、運算復雜的工作任務。

目前我們處理的總數據量大概在幾十 TB每日新增數據約為 70GB。在使用過程中,我們不僅會用到 DolphinDB 高速存取數據的基本功能,同時會用到其內置的多范式編程語言多種計算引擎

比如在處理一些 tick 數據時,我們會使用 DolphinDB 完成前期的一些運算,然后通過 Python API, 將計算結果導入 Python 模型進行組合。其中我們會用到 DolphinDB 的流計算框架,進行流數據的發布、訂閱、預處理、實時內存計算以及復雜指標計算等。以 DolphinDB 內置的時間序列聚合引擎為例,僅需設定幾個參數指標,配合 wsumcorr 等聚合函數的使用,就可以快速方便地實現復雜的滑動時間窗口聚合計算

模型回測

在模型回測方面,我們會用到 DolphinDB 提供的函數接口、元編程和計算框架,根據這些現有的方法和框架來進行高效回測

一些現成函數如 context bycrossStat 等的使用可以幫助我們大大提升數據處理、特別是編程的工作效率。例如 context by,該函數作為 DolphinDB 的獨創功能可以實現對時序數據的快速分組。相比 group by 每組只能返回一個標量值的特性,context by 可以使每一個組返回一個和組內元素數量相同的向量。并且在回測工作中,group by 只能配合聚合函數使用,但是 context by 可以與其他聚合函數、移動窗口函數或累計函數等結合使用,這極大方便了研發工作。總的來說,DolphinDB 獨創的諸多函數功能豐富、使用方便,切實有效地幫助我們提升了回測效率

同時,我們會使用 DolphinDB 的元編程功能。利用元編程設計的程序具有讀取、生成、分析及轉化其他程序的功能。通過生成動態表達式以及延遲執行的元編程,使得研究人員即便在代碼運行時仍可自行修改代碼。此外,一些計算框架如 MapReduce 幫助我們進行并發計算,極大提升了計算效率

使用效果

在行情存儲方面,我們的研究人員能夠清晰感受到 DolphinDB 的壓縮比率之高和數據落庫速度之快。舉例來說,在處理幾十 TB 的歷史數據時,需要在 DolphinDB 中壓縮數據,而 DolphinDB 的壓縮比例非常優秀, 最高可以達到 10:1,能夠切實地滿足我們的業務需求。

在因子挖掘方面,我們經常會計算一些復雜因子。比如使用單日新增數據計算一個復雜因子,可以實現秒級計算。如果使用大量的歷史數據,整個測試的運算時間甚至可以控制在分鐘級別。

在模型回測方面,由于 DolphinDB 支持數據項目化的批量處理,因此總體的回測效率很高。比如在進行某個特定參數的測試,整體時間可以控制在 1 分鐘內。再比如對大量歷史數據測試全方位的特定參數,從邏輯的實現到最后的產出,整體效率非常高。

技術服務

談及對 DolphinDB 最深刻的印象,就是技術支持服務。

2020年,我們與 DolphinDB CEO 周小華博士及技術團隊當面進行了深入交流。周博士為我們提供了許多專業的建議,同時技術團隊針對我們的業務需求進行了詳細記錄,并且在后續的跟蹤服務中幫助我們逐一實現了需求。

在之后的使用中,我們也會遇到技術疑惑與功能需求。比如今年在處理一些高頻數據時,我們急需一些函數的詳細用法。在與我們溝通后,DolphinDB 的工程師及時教授了我們關于函數的構建、以及改善調優的方法。在平時的技術咨詢中,不論是多晚,即便有時是在周末,我們總會得到技術支持工程師們的及時回復。當然,除了技術咨詢,我們也會向 DolphinDB 提出一些開發需求。比如實現因子,雖然有些因子是不常規的、甚至非常復雜,DolphinDB 的工程師們都會通過現有的功能向我們提供支持。還有必須提的一點,我們曾經向 DolphinDB 溝通了一個特別的功能需求,結果這個功能很快就在下一個版本中得到實現。從需求的提出到功能的實現,整體速度確實是非常驚人的。

無論是支持效率,還是專業程度,我們對 DolphinDB 的技術支持服務都非常滿意。

時序數據庫選型

我們在選型時對比了多家時序數據庫,其中主要考慮的是 Kdb+與 DolphinDB。

Kdb+作為金融領域的老牌時序數據庫,雖然名氣大、使用面廣,但是其作為國外廠商缺乏國內的技術支持,并且其語法晦澀,培訓成本和學習成本較高。

DolphinDB 在查詢和存儲方面的性能明顯優于其他數據庫,其具備的多種流計算引擎對于流數據處理非常友好。同時 DolphinDB 具有高壓縮比,內置豐富的金融函數庫,可以極大便捷研發生產。此外,DolphinDB 可以提供及時專業的技術支持,同時上手門檻較低。

最終,我們選擇了集存儲、計算與開發于一體的高性能分布式時序數據庫 DolphinDB。

學習和使用經驗

總體來看,DolphinDB 的入門是比較容易的。如果有 Python 和 SQL 的語法基礎,那么只需一兩周的時間就可以上手 DolphinDB

若要更加精進地使用 DolphinDB,需要對 DolphinDB 進行更加深入的了解。首先要了解存儲引擎的架構,目前 DolphinDB 使用的是 OLAPTSDB 兩種引擎,可以提供很高的寫入吞吐。其次,要深入理解數據庫的設計原理,比如分區表的工作原理,這會大大提升數據查詢的效率。然后,在數據計算方面要學習一些高效處理所需的函數,這樣在實際業務場景中可以更加自如地使用函數。最后,要保持一顆學習的心態。因為 DolphinDB 在不斷地優化提升,不斷地擴展迭代一些新的功能,要用好 DolphinDB,一定要保持學習態度、緊跟版本技術動態。

結尾

在友好合作的三年間,DolphinDB 切實有效地助力文諦資產進行量化投研。希望 DolphinDB 可以精益求精,未來在行業中的發展越來越好,越來越強。文諦資產也會堅守不斷追求創新、大膽向前的精神,推動量化投資向更高更遠發展。

上海文諦資產管理有限公司簡介

上海文諦資產管理公司在中國上海自貿區注冊成立,注冊資金1000萬元人民幣。2018年取得證券投資基金業協會會員資格,2019年取得“3+3投顧資格”。

公司以科學的量化投資戰略、先進的量化交易技術和成熟的風險管理能力為國內外投資者和合作機構帶來世界前沿的投資服務體驗,以創造長期穩定收益為投資理念及投資目標。目前企業的合作機構包括國信證券、光大證券、國海證券、國新證券、華泰期貨、興證期貨、東證期貨、五礦期貨、上海信托等金融機構。

https://www.nshth.com/cplus/313050.html
>

相关文章:

  • 因子收益率怎么計算
  • 因子投資組合
  • 計算機專業英語第04章,2021計算機專業英語第四章
  • 組合體的組合類型有哪兩類,C++實驗03(03)組合類:Triangle類與Point類
  • 單元測試分析怎么寫,單元測試覆蓋分析指標-翻譯中
  • switch一個用戶只能綁定一個賬號嗎,switch兩個賬號合并_Switch如何綁定任天堂網絡ID?
  • 知道ip地址和子網掩碼求廣播地址,如何計算一個網段的子網掩碼,網絡ID,廣播地址和可用IP地址數
  • Avada學習之-如何修改網站標題(正標題與副標題)
  • Wordpress建站,如何判斷一個網站是WordPress搭建的網站以及網站SEO網絡推廣
  • arcanum wiki,阿木實驗室的一個專門教程的網站(現在知道這是P200的wiki地址)
  • 數據結構嚴蔚敏,DSW算法(《C++數據結構與算法》P200)
  • 枚舉類型怎么用,c++ enum 給定類型_講解C++中的枚舉類型以及聲明新類型的方法
  • 匯趣投影儀是品牌嗎,康佳P200投影儀咋樣?和哈趣H1哪個更好,對比兩款投影儀參數區別
  • C++prime,C++ Primer Plus P125~P200
  • cps廣告,計算廣告-GD廣告
  • 廣告學概論章節知識點總結,計算廣告學筆記
  • cmd命令數字雨,關于DOS命令的騷操作
  • 學生請假系統app,學生上課考勤系統jsp_jsp學生考勤在線請假系統
  • 有關上課睡覺的評語,學生上課睡覺班主任怎么處理_學生上課睡覺老師該怎么辦:高級教師教你一招...
  • wegame右下角有個盾牌,Win10應用右下角小盾牌怎么解決?
  • 電腦用戶賬戶控制怎么取消,Delphi與Windows 7下的用戶賬戶控制(UAC)機制(加小盾牌),注冊表沒反應
  • 桌面圖標盾牌怎么去掉,win7系統下如何關閉UAC,去掉軟件圖標上的盾牌
  • 選擇管理員命令提示符,快速啟動以管理員身份運行命令行窗口命令
  • 3d繪圖軟件有哪些,老都管喝道 繪圖軟件
  • 手機遠程控制軟件主控端,智深叫道 遠程控制軟件
  • 水滸蔣門神是哪里人,話說當時武松踏住蔣 水滸傳
  • 【轉】告訴你外語學習的真實方法及誤區分析(精編版)-part 1
  • 人人網開放平臺推出Live Stream Box,為視頻直播帶來社會化屬性!
  • 虎牙科技,虎牙發布直播行業首個技術開放平臺 三年十億打造開放生態
  • 爬蟲網站,美國space爬蟲
  • 國外音樂APP,Apple App Store 音樂App 美國暢銷榜單前30名使用記錄
  • 數學之美—泰勒展開式