全文下载链接:http://tecdat.cn/?p=25880
最近咱们被客户要求撰写对于泊松过程的钻研报告,包含一些图形和统计输入。
本文形容了一个模型,该模型解释了交易的汇集达到,并展现了如何将其利用于比特币交易数据。这是很乏味的,起因很多。例如,对于交易来说,可能预测在短期内是否有更多的买入或卖出是十分有用的。另一方面,这样的模型可能有助于了解根本新闻驱动价格与机器人交易员对价格变动的反馈之间的区别
介绍
订单达到的自激性和集群性
交易不会以平均的距离达到,但通常会在工夫上汇集在一起。相似地,雷同的交易标记往往会汇集在一起并产生一系列买入或卖出订单。 例如,将订单分成小块的算法交易者或对某些交易所事件做出反馈的交易系统。
出于演示目标,我应用的数据是 2013 年 4 月 20 日 13:10 到 19:57 之间的 5000 笔交易。这是 1 分钟窗口内聚合的交易计数图。
plot(x, b, type = "l")
每分钟的均匀交易数是 13,然而咱们能够找出几个超过 50 的实例。通常较高的交易强度会继续几分钟,而后再次降落到平均值。特地是在 16:00 之后的 15 分钟左右,咱们能够看到十分高的交易强度,其中一个实例每分钟超过 200 个订单,而后在接下来的约 10 分钟内强度迟缓降落。
形容事件计数达到的最根本办法,例如下面的工夫序列,是泊松过程 ,有一个参数。在泊松过程中,每单位工夫的预期事件数由一个参数定义。这种办法被宽泛应用,因为它非常适合大量数据,例如呼叫核心的电话达到。然而,就咱们的目标而言,这太简略了,因为咱们须要一种办法来解释聚类和均值回归。
霍克斯过程(Hawkes Processes),是根本泊松过程的扩大,旨在解释这种聚类。像这样的自激模型宽泛用于各种迷信;一些例子是地震学(地震和火山喷发的建模)、生态学(野火评估 )、神经科学,当然还有金融和贸易。
让咱们持续了解和拟合霍克斯过程(Hawkes Processes)到下面的数据。
霍克斯过程(Hawkes Processes)
霍克斯过程对随工夫变动的强度或过程的事件发生率进行建模,这部分取决于过程的历史。另一方面,简略的泊松过程没有思考事件的历史。
下图中绘制了霍克斯过程的示例实现。
它由 8 个事件组成,通常采纳工夫戳的模式,以及由三个参数定义的样本强度门路
这里,是过程复原到的根本速率,是事件产生后的强度跳跃,是指数强度衰减。基准率也能够解释为外生事件的强度,例如新闻。其余参数 和 定义了过程的聚类属性。通常状况下 < 确保强度升高的速度快于新事件减少的速度。
点击题目查阅往期内容
R语言间断工夫马尔科夫链模仿案例 Markov Chains
左右滑动查看更多
01
02
03
04
自我激发性在工夫标记 2 之前的前四个事件中是可见的。它们在彼此相距很短的工夫内产生,这导致第四个事件的强度峰值很大。每一次事件的产生都会减少另一次产生的机会,从而导致事件的汇集。第五个数据点仅在工夫标记 4 处达到,与此同时,导致整体强度呈指数降落。
条件强度最简略的模式是
指数函数定义了过程的记忆,即过来的事件如何影响以后的事件。求和将此函数利用于从事件 titi 到以后事件 t 的历史。(t)示意工夫 t 的刹时强度。
给定条件强度,两个派生量也很乏味:冀望强度(在某些条件下)能够显示为 [4] 具备以下模式
并形容给定时间段的交易强度。另一个量是所谓的分支比
它形容了内生产生的交易比例(即作为另一笔交易的后果)。这能够用来评估交易流动中有多少是由反馈引起的。
能够应用传统的最大似然预计和凸求解器来拟合模型的参数。
将比特币交易的到来与霍克斯过程相匹配
在给定一组有序交易工夫 t1<t2<⋯<tn的状况下,强度门路是齐全定义的,在咱们的例子中,这只是交易记录时的 unix 工夫戳。鉴于此,咱们能够应用R软件和Python轻松利用 MLE。给定参数的初始猜想和对参数的束缚为正,以下函数拟合模型。
fhawks <- function(data) { # 初始猜想,a是,C是 pstt <- c # 应用条件强度函数创立一个对象 proc # 假如强度必须是正的 conditi <- penaltany(parms < 0) # 应用规范优化法进行拟合 fit(m, optrol = list(trace = 2))
我通过将存储在数据帧中的 5000 个交易工夫戳传递给它来运行下面的拟合过程。与原始数据集的惟一区别是我为与另一笔交易共享工夫戳的所有交易增加了一个随机毫秒工夫戳。这是必须的,因为模型须要辨别每笔交易(即每笔交易必须有惟一的工夫戳)。文献形容了解决这个问题的不同办法 [4, 10],但将工夫戳扩大到毫秒是一种常见的办法。
summary(f)
咱们最终失去的参数估计为 =0.07,=1.18,=1.79。 的参数估计表明,在单笔交易产生后,条件强度每秒减少 1.18 笔交易。此外,整个期间的均匀强度为每秒 E[]=0.20次交易,一分钟内总共有 12 次交易,这与咱们的教训计数相符。n=65%的分支率表明超过一半的交易是在模型内作为其余交易的后果产生的。鉴于所钻研的工夫绝对安稳,价格呈上涨趋势,这一数字很高。将其利用于更动荡的区制或状态(例如一些解体)会很乏味,我认为该比率会高得多。
当初的目标是计算拟合模型的理论条件强度,并将其与教训计数进行比拟。R 执行此评估,咱们只需提供一系列工夫戳即可对其进行评估。该范畴介于原始数据集的最小和最大工夫戳之间,对于该范畴内的每个点,都会计算刹时强度。
下图比拟教训计数(来自本文的第一个图)和拟合的综合强度。
从图上看,这仿佛是一个相当好的拟合。请留神,历史强度往往高于拟合的强度。能够通过引入有影响和无影响的交易来解决这个问题,这无效地缩小了作为拟合程序一部分的交易数量。教训数据和拟合数据之间跳跃大小稍微不匹配的另一个起因可能是同一秒内工夫戳的随机化;在5000个原始交易中,超过2700个交易与另一个交易共享一个工夫戳。这导致大量的交易(在同一秒内)失去订单,这可能会影响跳跃的大小。
拟合优度
评估拟合优度的办法有很多种。一种是通过比拟AIC同质泊松模型的值,如下面的 R 总结中所示,咱们的霍克斯模型更适宜数据。
测验模型与数据拟合水平的另一种办法是评估残差。实践上说[4],如果模型拟合得好,那么残差过程应该是同质的,应该有事件间工夫(两个残差事件工夫戳之间的差值),这些工夫是指数分布。事件间工夫的对数图,或者在咱们的案例中,对指数分布的QQ图,证实了这点。上面的图显示了一个很好的R2拟合。
当初咱们晓得该模型很好地解释了达到的聚类,那么如何将其利用于交易呢?下一步将是至多独自思考买入和卖出的达到,并找到一种办法来预测给定的霍克斯模型。而后,这些强度预测能够形成做方向性策略的一部分。让咱们看一下文献以取得一些想法。
申请交易
Hewlett[2]应用买入和卖出达到之间的双变量自激和穿插激振过程,预测了将来买入和卖出交易的不平衡性。作者设计了一个最佳的清理策略,由一个基于这种不均衡的价格影响公式得出。
在文献[3]中,作者应用双变量霍克斯过程的买入和卖出强度比作为进行方向性交易的进入信号。
改良
Hawkes 过程的对数似然函数具备 O(N2) 的计算复杂度,因为它在交易历史中执行嵌套循环。依然是低效的,特地是对于高频交易目标。
论断
在本文中,我展现了霍克斯过程是解释 交易的汇集达到的一个很好的模型。我展现了如何在给定交易工夫戳的状况下预计和评估模型,并强调了一些与预计无关的问题。
比特币交易数据及其价格发现尚未失去很好的钻研。自激模型可能会答复诸如比特币价格变动有多少是由根本事件引起的等问题。该模型自身天然也能够成为交易策略的一部分。
参考
[1] J. Fonseca 和 R. Zaatour:霍克斯过程:疾速校准、贸易聚类和扩散限制的利用 ssrn.
[2] P. Hewlett:订单达到聚类、价格影响和交易门路优化 pdf.
[3] J. Carlsson、M. Foo、H. Lee、H. Shek:应用双变量霍克斯过程进行高频交易预测。
本文摘选 《 R语言和Python用泊松过程扩大:霍克斯过程Hawkes Processes剖析比特币交易数据订单达到自激过程工夫序列 》 ,点击“浏览原文”获取全文残缺材料。
点击题目查阅往期内容
指数加权模型EWMA预测股市多变量稳定率工夫序列
R语言极值实践 EVT、POT超阈值、GARCH 模型剖析股票指数VaR、条件CVaR:多元化投资组合预测危险测度剖析
R语言GARCH-DCC模型和DCC(MVT)建模预计
Python 用ARIMA、GARCH模型预测剖析股票市场收益率工夫序列
R语言中的工夫序列分析模型:ARIMA-ARCH / GARCH模型剖析股票价格
R语言ARIMA-GARCH稳定率模型预测股票市场苹果公司日收益率工夫序列
Python应用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模仿进行股价预测
R语言工夫序列GARCH模型剖析股市稳定率
R语言ARMA-EGARCH模型、集成预测算法对SPX理论稳定率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型预计
Python应用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模仿进行股价预测
应用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机稳定率SV模型对金融工夫序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性剖析
R语言多元Copula GARCH 模型工夫序列预测
R语言应用多元AR-GARCH模型掂量市场危险
R语言中的工夫序列分析模型:ARIMA-ARCH / GARCH模型剖析股票价格
R语言用Garch模型和回归模型对股票价格剖析
GARCH(1,1),MA以及历史模拟法的VaR比拟
matlab预计arma garch 条件均值和方差模型R语言POT超阈值模型和极值实践EVT剖析
R语言极值推断:狭义帕累托散布GPD应用极大似然预计、轮廓似然预计、Delta法
R语言极值实践EVT:基于GPD模型的火灾损失散布剖析
R语言有极值(EVT)依赖构造的马尔可夫链(MC)对洪水极值剖析
R语言POT超阈值模型和极值实践EVT剖析
R语言混合正态分布极大似然预计和EM算法
R语言多项式线性模型:最大似然预计二次曲线
R语言Wald测验 vs 似然比测验
R语言GARCH-DCC模型和DCC(MVT)建模预计
R语言非参数办法:应用核回归平滑预计和K-NN(K近邻算法)分类预测心脏病数据
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型预计
R语言基于Bootstrap的线性回归预测置信区间预计办法
R语言随机搜寻变量抉择SSVS预计贝叶斯向量自回归(BVAR)模型
Matlab马尔可夫链蒙特卡罗法(MCMC)预计随机稳定率(SV,Stochastic Volatility) 模型
Matlab马尔可夫区制转换动静回归模型预计GDP增长率R语言极值推断:狭义帕累托散布GPD应用极大似然预计、轮廓似然预计、Delta法R语言中实现马尔可夫链蒙特卡罗MCMC模型matlab贝叶斯隐马尔可夫hmm模型实现
R语言如何做马尔科夫转换模型markov switching model
matlab中的隐马尔可夫模型(HMM)实现
R语言马尔可夫体制转换模型Markov regime switching
R语言马尔可夫转换模型钻研交通伤亡人数事变预测
R语言中的马尔科夫机制转换(Markov regime switching)模型
用机器学习辨认一直变动的股市情况—隐马尔科夫模型(HMM)股票指数预测实战
用机器学习辨认一直变动的股市情况—隐马尔科夫模型(HMM)的利用
R语言中实现马尔可夫链蒙特卡罗MCMC模型用R语言模仿M / M / 1随机服务排队零碎
用R语言模仿混合制排队随机服务排队零碎
用R语言模仿M/M/1随机服务排队零碎