六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

十年期貨股票行情數(shù)據(jù)輕松處理—— TDengine 在同心源基金的應(yīng)用

同心源(三亞)基金 劉健

2021-12-08 /

小 T 導(dǎo)讀:同心源(三亞)基金管理有限公司是一家致力于采取科學(xué)方法,在二級(jí)市場(chǎng)進(jìn)行投資的私募公司。公司的團(tuán)隊(duì)成員均來(lái)自于國(guó)內(nèi)外優(yōu)秀大學(xué),創(chuàng)始人具有計(jì)算機(jī)博士學(xué)位,有多年的算法研究、軟件系統(tǒng)開(kāi)發(fā)的經(jīng)驗(yàn)。

從我司的業(yè)務(wù)模式出發(fā),業(yè)務(wù)人員主要通過(guò)數(shù)據(jù)挖掘和自動(dòng)模式識(shí)別這兩種方式來(lái)發(fā)現(xiàn)市場(chǎng)的交易規(guī)律。因此,我們的工作場(chǎng)景是基于大量的金融數(shù)據(jù)之上的,主要包括如下幾類:

  1. 國(guó)內(nèi)期貨市場(chǎng)的實(shí)時(shí)高頻數(shù)據(jù),逐筆數(shù)據(jù)等
  2. 國(guó)內(nèi)期貨市場(chǎng)的歷史高頻數(shù)據(jù),逐筆數(shù)據(jù)
  3. 國(guó)內(nèi)股票市場(chǎng)的高頻數(shù)據(jù),逐筆數(shù)據(jù)等
  4. 國(guó)內(nèi)股票市場(chǎng)的歷史高頻數(shù)據(jù),逐筆數(shù)據(jù)
  5. 依據(jù)以上數(shù)據(jù)產(chǎn)生的更大量級(jí)衍生數(shù)據(jù)

經(jīng)過(guò)多年發(fā)展,股票市場(chǎng)數(shù)據(jù)量十分龐大,隨著每日新數(shù)據(jù)的清洗寫(xiě)入,總量變得更加水漲船高。對(duì)于十幾TB的數(shù)據(jù)量,單是進(jìn)行存儲(chǔ)已經(jīng)不易,如果還要對(duì)數(shù)據(jù)進(jìn)行查詢下載等操作,更是難上加難。這些問(wèn)題橫亙眼前,也讓我們對(duì)市面上的主流數(shù)據(jù)庫(kù)逐漸喪失信心。

后來(lái),經(jīng)過(guò)專業(yè)人士的引薦,我們嘗試了TDengine Database,沒(méi)想到它輕輕松松地就適配了我們的當(dāng)前業(yè)務(wù)。

具體實(shí)踐與落地效果

選好數(shù)據(jù)庫(kù)之后我們馬上開(kāi)始了搭建,并選擇了當(dāng)時(shí)最新的2.1.3.2的版本部署落地,不同數(shù)據(jù)種類對(duì)應(yīng)的數(shù)據(jù)庫(kù)分別如下:

1)股票高頻數(shù)據(jù)庫(kù),包括股票市場(chǎng)的歷史數(shù)據(jù)+每日新增數(shù)據(jù):

這類數(shù)據(jù)每日通過(guò)Python連接器的方式,在收盤(pán)后批量導(dǎo)入再做分析。其中每個(gè)表代表一個(gè)股票,共85列,以Float數(shù)據(jù)為主,共32311張。

Query OK, 3 row(s) in set (0.002792s)
TDengine Database
Query OK, 85 row(s) in set (0.002528s)
TDengine Database
Query OK, 85 row(s) in set (0.002528s)
TDengine Database

根據(jù)上述表結(jié)構(gòu)計(jì)算,當(dāng)前情況每行大概有408字節(jié)的長(zhǎng)度,然后我們用腳本對(duì)所有表進(jìn)行了行數(shù)查詢,大概是320億行。

以上述數(shù)據(jù)為基礎(chǔ)對(duì)入庫(kù)的總數(shù)據(jù)量進(jìn)行下估算,粗略計(jì)算為408*320億行,大概12TB左右,后面經(jīng)過(guò)統(tǒng)計(jì)最終實(shí)際占用磁盤(pán)空間卻只有2T左右,這令我們十分震驚——壓縮率高達(dá)16.7%。

實(shí)際占用磁盤(pán)空間卻只有2 TB
TDengine Database

眾所周知,Float類型的數(shù)據(jù)壓縮一直是數(shù)據(jù)庫(kù)領(lǐng)域的一個(gè)難題,尤其是對(duì)于行式存儲(chǔ)的數(shù)據(jù)庫(kù)更是困難,高興之余也非常感謝TDengine的列式存儲(chǔ),幫助我們完美解決了這個(gè)棘手的問(wèn)題。

之后從官方人員處我們得知,在后續(xù)版本中,TDengine還對(duì)浮點(diǎn)類型數(shù)據(jù)做了更進(jìn)一步的算法優(yōu)化,壓縮率還能獲得大幅提升。只不過(guò)目前需要手動(dòng)編譯,具體操作方式可以聯(lián)系官方人員。

2)期貨庫(kù):

期貨庫(kù)是部署在另一個(gè)服務(wù)器上的,有如下三個(gè):期貨高頻數(shù)據(jù)庫(kù)、期貨X頻率數(shù)據(jù)庫(kù)、期貨Y頻率數(shù)據(jù)庫(kù)。他們分別代表著國(guó)內(nèi)全部期貨的高頻數(shù)據(jù)和不同時(shí)間頻率的聚合數(shù)據(jù):

  1. 期貨高頻數(shù)據(jù)庫(kù):實(shí)時(shí)記錄交易所發(fā)送的tick數(shù)據(jù)
  2. 期貨X頻率數(shù)據(jù)庫(kù):根據(jù)時(shí)間周期X設(shè)定,記錄聚合后的數(shù)據(jù)
  3. 期貨Y頻率數(shù)據(jù)庫(kù):根據(jù)時(shí)間周期Y設(shè)定,記錄聚合后的數(shù)據(jù)

以上三個(gè)庫(kù)分別包含3351、5315、5208張子表,與股票庫(kù)一樣,它們同樣包括長(zhǎng)期的歷史數(shù)據(jù)以及實(shí)時(shí)數(shù)據(jù)。

具體的表結(jié)構(gòu)如下所示:

taos> describe txy_future_
TDengine Database

在查詢方面,由于當(dāng)前我們的查詢只是針對(duì)單表進(jìn)行,因此邏輯比較簡(jiǎn)單,代碼如下:

查詢代碼
TDengine Database

此外,由于期貨不存在連續(xù)多年的行情,所以對(duì)于長(zhǎng)期的數(shù)據(jù)展示,我們選擇用多段的每X個(gè)月數(shù)據(jù)進(jìn)行拼接,查詢效率非??臁@纾涸赥Dengine客戶端服務(wù)器使用Python從服務(wù)端拉取連續(xù)兩個(gè)月的期貨行情數(shù)據(jù),耗時(shí)僅需0.16秒。

耗時(shí)0.16s 
TDengine Database

下圖為因子1在期貨菜粕上的收益曲線,從這張圖中我們也可以看出,一些其他常用的函數(shù)比如max、last,基于TDengine的緩存等技術(shù)也都實(shí)現(xiàn)了毫秒級(jí)返回?cái)?shù)據(jù)。

TDengine Database

從“兩點(diǎn)問(wèn)題”到深入合作

細(xì)心的讀者可能也留意到了文中的兩個(gè)小問(wèn)題:

  • 為什么我們?cè)诠浪阍瓟?shù)據(jù)量時(shí),是通過(guò)腳本來(lái)統(tǒng)計(jì)所有子表行數(shù),再將其乘以單行字節(jié),而不是直接通過(guò)TDengine的“超級(jí)表”?
  • 又為什么在文章開(kāi)頭的數(shù)據(jù)分類描述中,1-4條都在后文中都看到了實(shí)際對(duì)應(yīng)的數(shù)據(jù)庫(kù),但是唯獨(dú)沒(méi)有出現(xiàn)第5條——依據(jù)以上數(shù)據(jù)產(chǎn)生的大量衍生數(shù)據(jù)?

其實(shí)是這樣,由于項(xiàng)目初期沒(méi)有多表聚合查詢的需求,外加為了降低數(shù)據(jù)遷移的復(fù)雜度,因此在環(huán)境搭建初期時(shí)我們并沒(méi)有選擇超級(jí)表。

但是隨著業(yè)務(wù)的不斷完善,我們將會(huì)需要更大量的數(shù)據(jù)來(lái)做更復(fù)雜的分析,這也就出現(xiàn)了第5條的數(shù)據(jù)種類——依據(jù)以上數(shù)據(jù)產(chǎn)生的更大量級(jí)衍生數(shù)據(jù)。所以說(shuō),這部分?jǐn)?shù)據(jù)將來(lái)源于我們后面的待上線業(yè)務(wù)中。

屆時(shí),我們將會(huì)更深入地用到TDengine Database的其他核心特性,如超級(jí)表、眾多計(jì)算函數(shù)等等。但僅就當(dāng)下而言,TDengine強(qiáng)大的存儲(chǔ)能力和快速查詢已經(jīng)非常令我們驚喜,也讓我們對(duì)未來(lái)更加深入的合作充滿期待。

關(guān)于作者:

劉健,北京航空航天大學(xué)模式識(shí)別專業(yè)碩士學(xué)歷,曾經(jīng)供職于中國(guó)航天科技集團(tuán)從事軟件研發(fā)工作。2014年與朋友一起創(chuàng)業(yè)從事外匯、期貨、股票ETF的自動(dòng)交易至今。著重致力于通過(guò)數(shù)據(jù)挖掘、自動(dòng)模式識(shí)別等方式在國(guó)內(nèi)二級(jí)市場(chǎng)中進(jìn)行自動(dòng)量化交易。