R語(yǔ)言和Python用泊松過(guò)程擴(kuò)展:霍克斯過(guò)程Hawkes Processes分析比特幣交易數(shù)據(jù)訂單到
全文下載鏈接:http://tecdat.cn/?p=25880?
最近我們被客戶要求撰寫(xiě)關(guān)于泊松過(guò)程的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。 本文描述了一個(gè)模型,該模型解釋了交易的聚集到達(dá),并展示了如何將其應(yīng)用于比特幣交易數(shù)據(jù)。這是很有趣的,原因很多。例如,對(duì)于交易來(lái)說(shuō),能夠預(yù)測(cè)在短期內(nèi)是否有更多的買(mǎi)入或賣(mài)出是非常有用的。另一方面,這樣的模型可能有助于理解基本新聞驅(qū)動(dòng)價(jià)格與機(jī)器人交易員對(duì)價(jià)格變化的反應(yīng)之間的區(qū)別
介紹
訂單到達(dá)的自激性和集群性
交易不會(huì)以均勻的間隔到達(dá),但通常會(huì)在時(shí)間上聚集在一起。類(lèi)似地,相同的交易標(biāo)志往往會(huì)聚集在一起并產(chǎn)生一系列買(mǎi)入或賣(mài)出訂單。?例如,將訂單分成小塊的算法交易者或?qū)δ承┙灰姿录龀龇磻?yīng)的交易系統(tǒng)。
出于演示目的,我使用的數(shù)據(jù)是 2013 年 4 月 20 日 13:10 到 19:57 之間的 5000 筆交易。這是 1 分鐘窗口內(nèi)聚合的交易計(jì)數(shù)圖。
plot(x,?b,?type?=?"l")

每分鐘的平均交易數(shù)是 13,但是我們可以找出幾個(gè)超過(guò) 50 的實(shí)例。通常較高的交易強(qiáng)度會(huì)持續(xù)幾分鐘,然后再次下降到平均值。特別是在 16:00 之后的 15 分鐘左右,我們可以看到非常高的交易強(qiáng)度,其中一個(gè)實(shí)例每分鐘超過(guò) 200 個(gè)訂單,然后在接下來(lái)的約 10 分鐘內(nèi)強(qiáng)度緩慢下降。
描述事件計(jì)數(shù)到達(dá)的最基本方法,例如上面的時(shí)間序列,是泊松過(guò)程?,有一個(gè)參數(shù)λ。在泊松過(guò)程中,每單位時(shí)間的預(yù)期事件數(shù)由一個(gè)參數(shù)定義。這種方法被廣泛使用,因?yàn)樗浅_m合大量數(shù)據(jù),例如呼叫中心的電話到達(dá)。然而,就我們的目的而言,這太簡(jiǎn)單了,因?yàn)槲覀冃枰环N方法來(lái)解釋聚類(lèi)和均值回歸。
霍克斯過(guò)程(Hawkes Processes),是基本泊松過(guò)程的擴(kuò)展,旨在解釋這種聚類(lèi)。像這樣的自激模型廣泛用于各種科學(xué);一些例子是地震學(xué)(地震和火山噴發(fā)的建模)、生態(tài)學(xué)(野火評(píng)估 )、神經(jīng)科學(xué),當(dāng)然還有金融和貿(mào)易。
讓我們繼續(xù)理解和擬合霍克斯過(guò)程(Hawkes Processes)到上面的數(shù)據(jù)。
霍克斯過(guò)程(Hawkes Processes)
霍克斯過(guò)程對(duì)隨時(shí)間變化的強(qiáng)度或過(guò)程的事件發(fā)生率進(jìn)行建模,這部分取決于過(guò)程的歷史。另一方面,簡(jiǎn)單的泊松過(guò)程沒(méi)有考慮事件的歷史。
下圖中繪制了霍克斯過(guò)程的示例實(shí)現(xiàn)。

它由 8 個(gè)事件組成,通常采用時(shí)間戳的形式,以及由三個(gè)參數(shù)定義的樣本強(qiáng)度路徑

這里,μ是過(guò)程恢復(fù)到的基本速率,α是事件發(fā)生后的強(qiáng)度跳躍,β是指數(shù)強(qiáng)度衰減?;鶞?zhǔn)率也可以解釋為外生事件的強(qiáng)度,例如新聞。其他參數(shù) α?和 β?定義了過(guò)程的聚類(lèi)屬性。通常情況下 α<β 確保強(qiáng)度降低的速度快于新事件增加的速度。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語(yǔ)言連續(xù)時(shí)間馬爾科夫鏈模擬案例 Markov Chains

左右滑動(dòng)查看更多

01

02

03

04

自我激發(fā)性在時(shí)間標(biāo)記 2 之前的前四個(gè)事件中是可見(jiàn)的。它們?cè)诒舜讼嗑嗪芏痰臅r(shí)間內(nèi)發(fā)生,這導(dǎo)致第四個(gè)事件的強(qiáng)度峰值很大。每一次事件的發(fā)生都會(huì)增加另一次發(fā)生的機(jī)會(huì),從而導(dǎo)致事件的聚集。第五個(gè)數(shù)據(jù)點(diǎn)僅在時(shí)間標(biāo)記 4 處到達(dá),與此同時(shí),導(dǎo)致整體強(qiáng)度呈指數(shù)下降。
條件強(qiáng)度最簡(jiǎn)單的形式是

指數(shù)函數(shù)定義了過(guò)程的記憶,即過(guò)去的事件如何影響當(dāng)前的事件。求和將此函數(shù)應(yīng)用于從事件 titi 到當(dāng)前事件 t 的歷史。λ(t)表示時(shí)間 t 的瞬時(shí)強(qiáng)度。
給定條件強(qiáng)度,兩個(gè)派生量也很有趣:期望強(qiáng)度(在某些條件下)可以顯示為 [4] 具有以下形式

并描述給定時(shí)間段的交易強(qiáng)度。另一個(gè)量是所謂的分支比

它描述了內(nèi)生產(chǎn)生的交易比例(即作為另一筆交易的結(jié)果)。這可以用來(lái)評(píng)估交易活動(dòng)中有多少是由反饋引起的。
可以使用傳統(tǒng)的最大似然估計(jì)和凸求解器來(lái)擬合模型的參數(shù)。
將比特幣交易的到來(lái)與霍克斯過(guò)程相匹配
在給定一組有序交易時(shí)間 t1<t2<?<tn的情況下,強(qiáng)度路徑是完全定義的,在我們的例子中,這只是交易記錄時(shí)的 unix 時(shí)間戳。鑒于此,我們可以使用R軟件和Python輕松應(yīng)用 MLE。給定參數(shù)的初始猜測(cè)和對(duì)參數(shù)的約束為正,以下函數(shù)擬合模型。
fhawks?<-?function(data)?{??#?初始猜測(cè),a是α,C是β??pstt?<-?c??#?使用條件強(qiáng)度函數(shù)創(chuàng)建一個(gè)對(duì)象??proc
??#?假設(shè)強(qiáng)度必須是正的??conditi?<-?penaltany(parms?<?0)??#?使用標(biāo)準(zhǔn)優(yōu)化法進(jìn)行擬合??fit(m,?optrol?=?list(trace?=?2))
我通過(guò)將存儲(chǔ)在數(shù)據(jù)幀中的 5000 個(gè)交易時(shí)間戳傳遞給它來(lái)運(yùn)行上面的擬合過(guò)程。與原始數(shù)據(jù)集的唯一區(qū)別是我為與另一筆交易共享時(shí)間戳的所有交易添加了一個(gè)隨機(jī)毫秒時(shí)間戳。這是必需的,因?yàn)槟P托枰獏^(qū)分每筆交易(即每筆交易必須有唯一的時(shí)間戳)。文獻(xiàn)描述了解決這個(gè)問(wèn)題的不同方法 [4, 10],但將時(shí)間戳擴(kuò)展到毫秒是一種常見(jiàn)的方法。
summary(f)

我們最終得到的參數(shù)估計(jì)為 μ=0.07,α=1.18,β=1.79。α 的參數(shù)估計(jì)表明,在單筆交易發(fā)生后,條件強(qiáng)度每秒增加 1.18 筆交易。此外,整個(gè)期間的平均強(qiáng)度為每秒 E[λ]=0.20次交易,一分鐘內(nèi)總共有 12 次交易,這與我們的經(jīng)驗(yàn)計(jì)數(shù)相符。n=65%的分支率表明超過(guò)一半的交易是在模型內(nèi)作為其他交易的結(jié)果產(chǎn)生的。鑒于所研究的時(shí)間相對(duì)平穩(wěn),價(jià)格呈上漲趨勢(shì),這一數(shù)字很高。將其應(yīng)用于更動(dòng)蕩的區(qū)制或狀態(tài)(例如一些崩潰)會(huì)很有趣,我認(rèn)為該比率會(huì)高得多。
現(xiàn)在的目的是計(jì)算擬合模型的實(shí)際條件強(qiáng)度,并將其與經(jīng)驗(yàn)計(jì)數(shù)進(jìn)行比較。R 執(zhí)行此評(píng)估,我們只需提供一系列時(shí)間戳即可對(duì)其進(jìn)行評(píng)估。該范圍介于原始數(shù)據(jù)集的最小和最大時(shí)間戳之間,對(duì)于該范圍內(nèi)的每個(gè)點(diǎn),都會(huì)計(jì)算瞬時(shí)強(qiáng)度。
下圖比較經(jīng)驗(yàn)計(jì)數(shù)(來(lái)自本文的第一個(gè)圖)和擬合的綜合強(qiáng)度。

從圖上看,這似乎是一個(gè)相當(dāng)好的擬合。請(qǐng)注意,歷史強(qiáng)度往往高于擬合的強(qiáng)度??梢酝ㄟ^(guò)引入有影響和無(wú)影響的交易來(lái)解決這個(gè)問(wèn)題,這有效地減少了作為擬合程序一部分的交易數(shù)量。經(jīng)驗(yàn)數(shù)據(jù)和擬合數(shù)據(jù)之間跳躍大小略微不匹配的另一個(gè)原因可能是同一秒內(nèi)時(shí)間戳的隨機(jī)化;在5000個(gè)原始交易中,超過(guò)2700個(gè)交易與另一個(gè)交易共享一個(gè)時(shí)間戳。這導(dǎo)致大量的交易(在同一秒內(nèi))失去訂單,這可能會(huì)影響跳躍的大小。
擬合優(yōu)度
評(píng)估擬合優(yōu)度的方法有很多種。一種是通過(guò)比較AIC同質(zhì)泊松模型的值,如上面的 R 總結(jié)中所示,我們的霍克斯模型更適合數(shù)據(jù)。
檢驗(yàn)?zāi)P团c數(shù)據(jù)擬合程度的另一種方法是評(píng)估殘差。理論上說(shuō)[4],如果模型擬合得好,那么殘差過(guò)程應(yīng)該是同質(zhì)的,應(yīng)該有事件間時(shí)間(兩個(gè)殘差事件時(shí)間戳之間的差值),這些時(shí)間是指數(shù)分布。事件間時(shí)間的對(duì)數(shù)圖,或者在我們的案例中,對(duì)指數(shù)分布的QQ圖,證實(shí)了這點(diǎn)。下面的圖顯示了一個(gè)很好的R2擬合。

現(xiàn)在我們知道該模型很好地解釋了到達(dá)的聚類(lèi),那么如何將其應(yīng)用于交易呢?下一步將是至少單獨(dú)考慮買(mǎi)入和賣(mài)出的到達(dá),并找到一種方法來(lái)預(yù)測(cè)給定的霍克斯模型。然后,這些強(qiáng)度預(yù)測(cè)可以構(gòu)成做方向性策略的一部分。讓我們看一下文獻(xiàn)以獲得一些想法。
申請(qǐng)交易
Hewlett[2]使用買(mǎi)入和賣(mài)出到達(dá)之間的雙變量自激和交叉激振過(guò)程,預(yù)測(cè)了未來(lái)買(mǎi)入和賣(mài)出交易的不平衡性。作者設(shè)計(jì)了一個(gè)最佳的清算策略,由一個(gè)基于這種不平衡的價(jià)格影響公式得出。
在文獻(xiàn)[3]中,作者使用雙變量霍克斯過(guò)程的買(mǎi)入和賣(mài)出強(qiáng)度比作為進(jìn)行方向性交易的進(jìn)入信號(hào)。
改進(jìn)
Hawkes 過(guò)程的對(duì)數(shù)似然函數(shù)具有 O(N2) 的計(jì)算復(fù)雜度,因?yàn)樗诮灰讱v史中執(zhí)行嵌套循環(huán)。仍然是低效的,特別是對(duì)于高頻交易目的。
結(jié)論
在本文中,我展示了霍克斯過(guò)程是解釋 交易的聚集到達(dá)的一個(gè)很好的模型。我展示了如何在給定交易時(shí)間戳的情況下估計(jì)和評(píng)估模型,并強(qiáng)調(diào)了一些與估計(jì)有關(guān)的問(wèn)題。
比特幣交易數(shù)據(jù)及其價(jià)格發(fā)現(xiàn)尚未得到很好的研究。自激模型可能會(huì)回答諸如比特幣價(jià)格變動(dòng)有多少是由基本事件引起的等問(wèn)題。該模型本身自然也可以成為交易策略的一部分。
參考
[1] J. Fonseca 和 R. Zaatour:霍克斯過(guò)程:快速校準(zhǔn)、貿(mào)易聚類(lèi)和擴(kuò)散限制的應(yīng)用 ssrn.
[2] P. Hewlett:訂單到達(dá)聚類(lèi)、價(jià)格影響和交易路徑優(yōu)化 pdf.
[3] J. Carlsson、M. Foo、H. Lee、H. Shek:使用雙變量霍克斯過(guò)程進(jìn)行高頻交易預(yù)測(cè)。

本文摘選?《?R語(yǔ)言和Python用泊松過(guò)程擴(kuò)展:霍克斯過(guò)程Hawkes Processes分析比特幣交易數(shù)據(jù)訂單到達(dá)自激過(guò)程時(shí)間序列?》?,點(diǎn)擊“閱讀原文”獲取全文完整資料。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
指數(shù)加權(quán)模型EWMA預(yù)測(cè)股市多變量波動(dòng)率時(shí)間序列
R語(yǔ)言極值理論 EVT、POT超閾值、GARCH 模型分析股票指數(shù)VaR、條件CVaR:多元化投資組合預(yù)測(cè)風(fēng)險(xiǎn)測(cè)度分析
R語(yǔ)言GARCH-DCC模型和DCC(MVT)建模估計(jì)
Python 用ARIMA、GARCH模型預(yù)測(cè)分析股票市場(chǎng)收益率時(shí)間序列
R語(yǔ)言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格
R語(yǔ)言ARIMA-GARCH波動(dòng)率模型預(yù)測(cè)股票市場(chǎng)蘋(píng)果公司日收益率時(shí)間序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測(cè)
R語(yǔ)言時(shí)間序列GARCH模型分析股市波動(dòng)率
R語(yǔ)言ARMA-EGARCH模型、集成預(yù)測(cè)算法對(duì)SPX實(shí)際波動(dòng)率進(jìn)行預(yù)測(cè)
matlab實(shí)現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計(jì)
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測(cè)
使用R語(yǔ)言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
R語(yǔ)言用多元ARMA,GARCH ,EWMA, ETS,隨機(jī)波動(dòng)率SV模型對(duì)金融時(shí)間序列數(shù)據(jù)建模
R語(yǔ)言股票市場(chǎng)指數(shù):ARMA-GARCH模型和對(duì)數(shù)收益率數(shù)據(jù)探索性分析
R語(yǔ)言多元Copula GARCH 模型時(shí)間序列預(yù)測(cè)
R語(yǔ)言使用多元AR-GARCH模型衡量市場(chǎng)風(fēng)險(xiǎn)
R語(yǔ)言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格
R語(yǔ)言用Garch模型和回歸模型對(duì)股票價(jià)格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計(jì)arma garch 條件均值和方差模型R語(yǔ)言POT超閾值模型和極值理論EVT分析
R語(yǔ)言極值推斷:廣義帕累托分布GPD使用極大似然估計(jì)、輪廓似然估計(jì)、Delta法
R語(yǔ)言極值理論EVT:基于GPD模型的火災(zāi)損失分布分析
R語(yǔ)言有極值(EVT)依賴結(jié)構(gòu)的馬爾可夫鏈(MC)對(duì)洪水極值分析
R語(yǔ)言POT超閾值模型和極值理論EVT分析
R語(yǔ)言混合正態(tài)分布極大似然估計(jì)和EM算法
R語(yǔ)言多項(xiàng)式線性模型:最大似然估計(jì)二次曲線
R語(yǔ)言Wald檢驗(yàn) vs 似然比檢驗(yàn)
R語(yǔ)言GARCH-DCC模型和DCC(MVT)建模估計(jì)
R語(yǔ)言非參數(shù)方法:使用核回歸平滑估計(jì)和K-NN(K近鄰算法)分類(lèi)預(yù)測(cè)心臟病數(shù)據(jù)
matlab實(shí)現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計(jì)
R語(yǔ)言基于Bootstrap的線性回歸預(yù)測(cè)置信區(qū)間估計(jì)方法
R語(yǔ)言隨機(jī)搜索變量選擇SSVS估計(jì)貝葉斯向量自回歸(BVAR)模型
Matlab馬爾可夫鏈蒙特卡羅法(MCMC)估計(jì)隨機(jī)波動(dòng)率(SV,Stochastic Volatility) 模型
Matlab馬爾可夫區(qū)制轉(zhuǎn)換動(dòng)態(tài)回歸模型估計(jì)GDP增長(zhǎng)率R語(yǔ)言極值推斷:廣義帕累托分布GPD使用極大似然估計(jì)、輪廓似然估計(jì)、Delta法R語(yǔ)言中實(shí)現(xiàn)馬爾可夫鏈蒙特卡羅MCMC模型matlab貝葉斯隱馬爾可夫hmm模型實(shí)現(xiàn)
R語(yǔ)言如何做馬爾科夫轉(zhuǎn)換模型markov switching model
matlab中的隱馬爾可夫模型(HMM)實(shí)現(xiàn)
R語(yǔ)言馬爾可夫體制轉(zhuǎn)換模型Markov regime switching
R語(yǔ)言馬爾可夫轉(zhuǎn)換模型研究交通傷亡人數(shù)事故預(yù)測(cè)
R語(yǔ)言中的馬爾科夫機(jī)制轉(zhuǎn)換(Markov regime switching)模型
用機(jī)器學(xué)習(xí)識(shí)別不斷變化的股市狀況—隱馬爾科夫模型(HMM)股票指數(shù)預(yù)測(cè)實(shí)戰(zhàn)
用機(jī)器學(xué)習(xí)識(shí)別不斷變化的股市狀況—隱馬爾科夫模型(HMM)的應(yīng)用
R語(yǔ)言中實(shí)現(xiàn)馬爾可夫鏈蒙特卡羅MCMC模型用R語(yǔ)言模擬M / M / 1隨機(jī)服務(wù)排隊(duì)系統(tǒng)
用R語(yǔ)言模擬混合制排隊(duì)隨機(jī)服務(wù)排隊(duì)系統(tǒng)
用R語(yǔ)言模擬M/M/1隨機(jī)服務(wù)排隊(duì)系統(tǒng)