本發(fā)明涉及數(shù)據(jù)處理,具體來說是一種適用于證券交易監(jiān)控業(yè)務(wù)的流式數(shù)據(jù)業(yè)務(wù)時(shí)間計(jì)算方法。
背景技術(shù):
1、證券交易監(jiān)控算法(以下簡稱證券監(jiān)控),作為證券市場監(jiān)督和管控的核心工具,對(duì)于保障市場的公正性和穩(wěn)定性發(fā)揮著至關(guān)重要的作用。它主要負(fù)責(zé)對(duì)全市場、賬戶、證券和跨品種的交易行為進(jìn)行監(jiān)控。這些監(jiān)控活動(dòng)涉及多個(gè)證券市場的多種證券業(yè)務(wù)(如股票、期權(quán)、債券等),每類業(yè)務(wù)有不同的主題數(shù)據(jù)(如訂單、成交、行情等,以下稱為業(yè)務(wù)主題數(shù)據(jù)),各業(yè)務(wù)主題間的數(shù)據(jù)互相獨(dú)立。
2、證券監(jiān)控的業(yè)務(wù)主題數(shù)據(jù)來源于多個(gè)實(shí)時(shí)證券交易平臺(tái),具備流式數(shù)據(jù)順序、大量、快速和連續(xù)到達(dá)的特點(diǎn),經(jīng)過清洗、排序等加工形成唯一且有序的數(shù)據(jù),持久化至監(jiān)控平臺(tái),提供給監(jiān)控算法使用。各業(yè)務(wù)主題的實(shí)時(shí)交易數(shù)據(jù)攜帶產(chǎn)品、賬戶、交易量、交易時(shí)間等信息,以產(chǎn)品劃分為多個(gè)獨(dú)立的數(shù)據(jù)區(qū)域向下游傳輸,即數(shù)據(jù)通道{di|i∈[1,?n]}。監(jiān)控平臺(tái)對(duì)接上游所有主題的數(shù)據(jù)通道,按時(shí)間、交易編號(hào)進(jìn)行排序,確保每個(gè)通道數(shù)據(jù)以嚴(yán)格有序的方式進(jìn)行持久化。
3、證券監(jiān)控具有時(shí)效性、周期執(zhí)行的特點(diǎn)。證券監(jiān)控結(jié)合周期性自然時(shí)間,形成證券監(jiān)控實(shí)例(以下簡稱監(jiān)控實(shí)例),監(jiān)控平臺(tái)以特定周期調(diào)度監(jiān)控實(shí)例執(zhí)行,即以自然時(shí)間驅(qū)動(dòng)算法運(yùn)行,計(jì)算指定自然時(shí)間范圍的數(shù)據(jù),并要求盡快得到分析結(jié)果。證券監(jiān)控從監(jiān)控對(duì)象角度可分為產(chǎn)品監(jiān)控和賬戶監(jiān)控,產(chǎn)品監(jiān)控針對(duì)分布在多個(gè)業(yè)務(wù)主題通道的產(chǎn)品交易數(shù)據(jù){?seci|i∈[1,?n]}進(jìn)行分析,由于通道間產(chǎn)品獨(dú)立,僅單通道數(shù)據(jù)便可進(jìn)行監(jiān)控,即自然時(shí)間到達(dá)監(jiān)控運(yùn)行時(shí)刻立即觸發(fā)執(zhí)行,監(jiān)控僅針對(duì)單通道數(shù)據(jù)msec=monitor(di),其中i∈[1,?n]。賬戶監(jiān)控針對(duì)跨多個(gè)通道產(chǎn)品的賬戶進(jìn)行分析,需要聯(lián)合多個(gè)通道的賬戶交易數(shù)據(jù){?acti|i∈[1,?n]},監(jiān)控需獲取所有通道數(shù)據(jù)形成數(shù)據(jù)集合macc={?monitor_all(di)?|?i∈[1,?n]},因此需確保監(jiān)控運(yùn)行時(shí)刻各通道數(shù)據(jù)均已就緒。
4、由于業(yè)務(wù)數(shù)據(jù)分布在不同的通道,且每個(gè)通道在數(shù)據(jù)量、傳輸延遲和持久化時(shí)延等方面存在差異,導(dǎo)致證券賬戶監(jiān)控在運(yùn)行時(shí)刻的數(shù)據(jù)很難在同一自然時(shí)間點(diǎn)完全就緒,影響賬戶監(jiān)控結(jié)果的準(zhǔn)確性。
5、為了解決這個(gè)問題,證券監(jiān)控需引入適用于證券流式業(yè)務(wù)數(shù)據(jù)的業(yè)務(wù)時(shí)間,即根據(jù)業(yè)務(wù)主題所有通道計(jì)算已就緒的最新數(shù)據(jù)時(shí)間,確保監(jiān)控運(yùn)行時(shí)刻依賴的數(shù)據(jù)均已就緒。證券監(jiān)控實(shí)例的調(diào)度依賴于多個(gè)通道數(shù)據(jù)的就緒狀態(tài),一旦數(shù)據(jù)就緒,就會(huì)觸發(fā)監(jiān)控實(shí)例的運(yùn)行。監(jiān)控實(shí)例的執(zhí)行直接與業(yè)務(wù)時(shí)間掛鉤,因此需要一個(gè)精確的業(yè)務(wù)時(shí)間計(jì)算方法,以確保算法的準(zhǔn)確性和及時(shí)性。
6、為了確保監(jiān)控實(shí)例在觸發(fā)時(shí)能夠處理所有已就緒的證券交易數(shù)據(jù),必須根據(jù)當(dāng)前數(shù)據(jù)的就緒情況來計(jì)算業(yè)務(wù)時(shí)間。這樣,監(jiān)控實(shí)例就可以在正確的時(shí)間點(diǎn)被觸發(fā),從而保證其結(jié)果的準(zhǔn)確性。
7、現(xiàn)有證券監(jiān)控以業(yè)務(wù)主題的成交、申報(bào)數(shù)據(jù)的最新時(shí)間作為業(yè)務(wù)時(shí)間,以此觸發(fā)監(jiān)控實(shí)例執(zhí)行。由于業(yè)務(wù)主題各通道的數(shù)據(jù)活躍度、持久化耗時(shí)等方面不同,可能出現(xiàn)業(yè)務(wù)時(shí)間與數(shù)據(jù)持久化不匹配問題。另一方,隨著監(jiān)控業(yè)務(wù)發(fā)展,監(jiān)控算法需要更多的實(shí)時(shí)數(shù)據(jù)源,單主題的業(yè)務(wù)時(shí)間已無法滿足監(jiān)控要求。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,解決現(xiàn)有業(yè)務(wù)時(shí)間計(jì)算方法導(dǎo)致監(jiān)控算法結(jié)果不準(zhǔn)確,提供一種適用于證券交易監(jiān)控業(yè)務(wù)的流式數(shù)據(jù)業(yè)務(wù)時(shí)間計(jì)算方法,用以通過與證券監(jiān)控平臺(tái)的監(jiān)控實(shí)例調(diào)度配合,提高監(jiān)控算法準(zhǔn)確性。
2、為了實(shí)現(xiàn)上述目的,設(shè)計(jì)一種適用于證券交易監(jiān)控業(yè)務(wù)的流式數(shù)據(jù)業(yè)務(wù)時(shí)間計(jì)算方法,所述方法步驟包括:s1業(yè)務(wù)數(shù)據(jù)持久化,訂閱上游交易平臺(tái)的實(shí)時(shí)交易數(shù)據(jù)主題,對(duì)接主題的各通道數(shù)據(jù)并進(jìn)行分批次持久化,記錄各通道的最新數(shù)據(jù)時(shí)間;s2業(yè)務(wù)時(shí)間計(jì)算,業(yè)務(wù)時(shí)間計(jì)算以數(shù)據(jù)持久化后的信息記錄為基礎(chǔ),周期性進(jìn)行計(jì)算獲取業(yè)務(wù)時(shí)間,并存儲(chǔ)業(yè)務(wù)時(shí)間明細(xì),所述的業(yè)務(wù)時(shí)間計(jì)算方法包括:s2.1單主題業(yè)務(wù)時(shí)間計(jì)算,業(yè)務(wù)數(shù)據(jù)按批次持久化,每批次持久化時(shí)間、主題、來源通道等信息記錄于存儲(chǔ)區(qū)域,通過業(yè)務(wù)時(shí)間計(jì)算方法,獲取主題通道最新的業(yè)務(wù)時(shí)間,并對(duì)不活躍的數(shù)據(jù)通道進(jìn)行過濾,匯總?cè)〉弥黝}數(shù)據(jù)已就緒的最新時(shí)間,即主題的業(yè)務(wù)時(shí)間,并持久化該數(shù)據(jù);s2.2多主題業(yè)務(wù)時(shí)間計(jì)算,基于單主題業(yè)務(wù)時(shí)間的持久化數(shù)據(jù),匯總計(jì)算多個(gè)主題數(shù)據(jù)均已就緒的業(yè)務(wù)時(shí)間,即多主題業(yè)務(wù)時(shí)間,并持久化主題業(yè)務(wù)時(shí)間數(shù)據(jù);s3監(jiān)控平臺(tái)根據(jù)最新的主題業(yè)務(wù)時(shí)間,觸發(fā)監(jiān)控實(shí)例執(zhí)行。
3、本發(fā)明提供的適用于證券交易監(jiān)控業(yè)務(wù)的流式數(shù)據(jù)業(yè)務(wù)時(shí)間計(jì)算方法,還有更多技術(shù)特征,其中,所述步驟s1具體如下:證券監(jiān)控平臺(tái)對(duì)接上游交易平臺(tái)的業(yè)務(wù)主題數(shù)據(jù)通道,對(duì)每個(gè)通道數(shù)據(jù)獨(dú)立處理;業(yè)務(wù)主題數(shù)據(jù)按批次持久化,并記錄每批次的時(shí)間、主題通道信息,用于業(yè)務(wù)時(shí)間計(jì)算,具體步驟包括:s1.1構(gòu)建業(yè)務(wù)數(shù)據(jù)持久化批次存儲(chǔ)塊,所述批次存儲(chǔ)塊用于記錄每個(gè)持久化批次明細(xì),所述批次存儲(chǔ)塊包括批次發(fā)生時(shí)間t、通道id、業(yè)務(wù)主題、批次號(hào);s1.2證券監(jiān)控平臺(tái)接收上游交易平臺(tái)業(yè)務(wù)主題的通道數(shù)據(jù),所述數(shù)據(jù)包含數(shù)據(jù)發(fā)生時(shí)間t、序列號(hào)、來源主題通道、交易相關(guān)信息,對(duì)數(shù)據(jù)按通道、序列號(hào)、時(shí)間字段進(jìn)行排序;s1.3將有序數(shù)據(jù)按固定條數(shù)分為多個(gè)批次,記為數(shù)據(jù)集dataset,持久化每批次數(shù)據(jù),并記錄每批次數(shù)據(jù)交易發(fā)生時(shí)間,形成集合記為d?=?{?ti?|?i∈dataset?},遍歷集合d獲取本批次的最小交易發(fā)生時(shí)間t=min(ti);s1.4業(yè)務(wù)主題數(shù)據(jù)持久化同時(shí),將每批次最小數(shù)據(jù)發(fā)生時(shí)間t、通道id、業(yè)務(wù)主題、批次號(hào)信息持久化至批次存儲(chǔ)塊。
4、本發(fā)明提供的適用于證券交易監(jiān)控業(yè)務(wù)的流式數(shù)據(jù)業(yè)務(wù)時(shí)間計(jì)算方法,還有更多技術(shù)特征,其中,所述步驟s2.1單主題業(yè)務(wù)時(shí)間計(jì)算具體如下:s2.1.1構(gòu)建主題業(yè)務(wù)時(shí)間存儲(chǔ)塊,用于記錄業(yè)務(wù)主題的最新時(shí)間明細(xì),包含業(yè)務(wù)主題、最新業(yè)務(wù)時(shí)間tp;s2.1.2以固定頻率輪詢讀取批次存儲(chǔ)塊,從該存儲(chǔ)塊獲取業(yè)務(wù)主題p下n個(gè)通道的業(yè)務(wù)時(shí)間t,形成業(yè)務(wù)時(shí)間集合記為dt?=?{?ti?|?i∈[1,?n]?},該時(shí)間表示相應(yīng)通道i在ti前的業(yè)務(wù)數(shù)據(jù)已完成持久化并對(duì)外提供服務(wù);s2.1.3獲取所有通道的最新業(yè)務(wù)時(shí)間,從業(yè)務(wù)時(shí)間集合dt計(jì)算主題每個(gè)通道的最新業(yè)務(wù)時(shí)間集合記為tcur?=?{?max(ti)?|?i∈[1,?n]},計(jì)算本輪次各通道最新業(yè)務(wù)時(shí)間與上一輪最新業(yè)務(wù)時(shí)間tpre的滯后時(shí)間差,形成集合記為{?max(ti)?-?tpre|?i∈[1,?n]?};s2.1.4剔除不活躍的主題通道,滯后時(shí)間差閾值記為s1,若max(ti)-tpre>=?s1,通道i的業(yè)務(wù)時(shí)間ti不納入本輪次計(jì)算,記為剔除通道集合{j?|?j∈(不納入計(jì)算的通道)},本輪次業(yè)務(wù)時(shí)間計(jì)算的主題通道集合ct?=?{?max(ti)?|?i∈[1,?n]?∩?i≠j?};s2.1.5獲取已就緒數(shù)據(jù)的最新時(shí)間,從本輪次參與業(yè)務(wù)時(shí)間計(jì)算的集合ct取最小值,即所有通道最新時(shí)間集合中取最小時(shí)間,記為擬業(yè)務(wù)時(shí)間,該時(shí)間表示當(dāng)前時(shí)刻主題的所有通道數(shù)據(jù)已完成持久化,記為tnew=min[max(ti)],其中?i∈[1,?n]?且?i?≠?j?;s2.1.6解決同批次數(shù)據(jù)持久化延遲問題,由于主題通道數(shù)據(jù)按批次持久化,相同數(shù)據(jù)發(fā)生時(shí)間的數(shù)據(jù)可能被分為多個(gè)批次持久化,即主題通道的擬業(yè)務(wù)時(shí)間到達(dá)tnew,但該時(shí)間點(diǎn)數(shù)據(jù)被劃為多個(gè)批次,此時(shí)未完全持久化,導(dǎo)致監(jiān)控實(shí)例依賴的數(shù)據(jù)漏算。將主題通道的擬業(yè)務(wù)時(shí)間tnew減去特定持久化延遲耗時(shí)c,避免通道數(shù)據(jù)分批次持久化問題,單主題業(yè)務(wù)時(shí)間tp?=tnew-1?=min[max(ti)]-c,其中?i∈[1,?n]?且?i?≠?j且c為指定常量?;s2.1.7單主題業(yè)務(wù)時(shí)間tp持久化至業(yè)務(wù)時(shí)間存儲(chǔ)塊,并更新tpre值。
5、本發(fā)明提供的適用于證券交易監(jiān)控業(yè)務(wù)的流式數(shù)據(jù)業(yè)務(wù)時(shí)間計(jì)算方法,還有更多技術(shù)特征,其中,所述步驟s2.2多主題業(yè)務(wù)時(shí)間計(jì)算具體如下:s2.2.1以固定頻率輪詢讀取業(yè)務(wù)時(shí)間存儲(chǔ)塊,主題數(shù)為m,獲取所有單業(yè)務(wù)主題的業(yè)務(wù)時(shí)間tp形成集合mt?=?{?tpm?|pm∈[1,?m]?};s2.2.2根據(jù)特定配置對(duì)主題進(jìn)行2個(gè)及以上的組合,形成多主題組合配置信息,從業(yè)務(wù)時(shí)間集合mt中取出多個(gè)主題業(yè)務(wù)時(shí)間的最小值集合,記為tm=?{?min(tpmi,tpmj)|?i,j∈[1,?n]?且?i?≠?j?};s2.2.3多主題業(yè)務(wù)時(shí)間tm持久化至業(yè)務(wù)時(shí)間存儲(chǔ)塊。
6、本發(fā)明提供的適用于證券交易監(jiān)控業(yè)務(wù)的流式數(shù)據(jù)業(yè)務(wù)時(shí)間計(jì)算方法,還有更多技術(shù)特征,其中,所述步驟s3具體如下:a.非交易時(shí)段,取時(shí)間計(jì)算服務(wù)部署的服務(wù)器系統(tǒng)時(shí)間作為業(yè)務(wù)時(shí)間驅(qū)動(dòng),該服務(wù)器需開啟時(shí)鐘同步機(jī)制;b.交易準(zhǔn)備時(shí)段取證券行情時(shí)間作為業(yè)務(wù)時(shí)間驅(qū)動(dòng),該期間無證券交易,上游系統(tǒng)仍需按時(shí)發(fā)送最新的行情快照;c.交易時(shí)段取證券各類主題最新時(shí)間作為業(yè)務(wù)時(shí)間。
7、本發(fā)明同現(xiàn)有技術(shù)相比,其優(yōu)點(diǎn)在于:
8、a.本發(fā)明的主題業(yè)務(wù)時(shí)間計(jì)算方法可精準(zhǔn)獲取每個(gè)業(yè)務(wù)主題已就緒數(shù)據(jù)的業(yè)務(wù)時(shí)間,觸發(fā)監(jiān)控算法可避免數(shù)據(jù)遺漏。
9、b.本發(fā)明的主題業(yè)務(wù)時(shí)間支持多主題業(yè)務(wù)數(shù)據(jù)組合的業(yè)務(wù)時(shí)間計(jì)算,避免單主題依賴模式下某一主題數(shù)據(jù)未就緒,導(dǎo)致監(jiān)控算法漏算。
10、c.本發(fā)明的時(shí)間計(jì)算方法根據(jù)證券交易全天運(yùn)行特點(diǎn),針對(duì)不同時(shí)段提供不同的計(jì)算方法,提供全時(shí)段的業(yè)務(wù)時(shí)間計(jì)算服務(wù)。
11、d.本發(fā)明設(shè)計(jì)了主題數(shù)據(jù)持久化批次表和業(yè)務(wù)時(shí)間表,可實(shí)時(shí)監(jiān)測數(shù)據(jù)持久化情況、業(yè)務(wù)時(shí)間推進(jìn)進(jìn)度。