X-DataInitiative/tick 是一个关于 Hawkes Process 的 Python 实现,核心功能是给定 Point process 的若干样本,他能计算出一个 Non parametric 的 Hawkes Process 来拟合这个 Point process。
本文的任务就是搞明白这个 package,从而把这个 package 改良以应用到预测订单(市价单、限价单、撤单)流的强度。
Point Process & Counting Process
Point Process 是指某个空间中分布的随机点的集合,当这个空间是时间轴的时候,我们可以认为在随机发生事件,发生的时间是 \(T_1, T_2, ...\)
Counting Process \(N_t\) 是 Point Process 的另一种等价刻画,他也是定义在一个空间上的随机变量族,当这个空间是时间轴的时候,可以视为一个随机过程, \(N_t\) 表示到时间 \(t\) 位置,发生了多少个事件。
我们可以把市价单,限价单,撤单当做事件序列分别建立他们的 Point Process 和 Counting Process.
Poisson Process
Poisson Process 和 Hawkes Process 都是一种 Point Process,先来看比较简单的 Poisson Process 来引入一些直观的概念。
Poisson Distribution
概率论的内容,可以视作在描述一个很长的时间段内,一个很小概率发生事件发生的次数(即二项分布 $n \rightarrow \infty $ , \(p\) 很小时的近似)
由 \(e^x\) 在 \(0\) 处的泰勒展开容易计算这个分布的期望就是 \(\lambda\)