(超)高频交易数据的时间序列如何建模?

论坛 期权论坛 期权     
Gilthas Liu   2018-10-15 23:54   9303   4
于是就抱着试一试的心态,第一次在知乎上提问了。

因为一些原因,参加了一个量化投资比赛。组织方提供了几组标的(非衍生品,可能是美股的)毫秒级交易数据(tick)。有best ask/bid price/volumn, 和最近成交的价/量/方向,让形成一个投资策略(允许long和short),使其样本外的sharpe最高。

由于之前未处理过秒级以下的高频数据,因此有几点疑问:
1. 可能的,很多/大部分毫秒并未发生交易,或出现信息更新,那么在建立时序模型时,数据就不是等间距的(--时间上相邻的两观测间的delta_t不同)。此时,应以怎样的思路建立时序模型,或有哪些时序模型(簇)可选?

2. 在这种数据上,基于1中的模型,做估计/假设检验/预测时,会面临什么(与秒级分钟级数据)不一样的问题?

3.有无较好的基于(超)高频数据形成投资策略的书/文章推荐?或对(超)高频数据进行时间序列建模的书/文章推荐?

欧,先谢谢大家了。
分享到 :
0 人收藏

4 个回复

倒序浏览
2#
董可人  4级常客 | 2018-10-15 23:54:18 发帖IP地址来自
两种思路。

第一个是对数据进行 down sample,原始的高频数据虽然是非等间距的,你可以自己定义一个时间间隔重新抽样。这个时候需要注意的是在抽样的时候需要仔细设计方法来计算抽样点的各项数值(价格,成交量等)。简单的做法是用原始数据 fit 出一条曲线,然后按照新的时间点取曲线上对应的值,或者算抽样时间间隔内数据点的加权平均,权值可以是数据点之间的时间差,或者成交量之类。这种方法做完之后就可以用常用的时序模型的技术了。

第二个就是所谓的 Point Process,直接对时间点进行建模(而非像时间序列模型是对抽样点的数据进行建模)。最简单的 Point Process 是一般概率统计课上都会教的 Poisson Process,它的特点是每次事件发生都是独立的,时间差复合指数分布。其它答案中提到的 ACD 是一种升级版,对事件间的时间差进行建模,刻画了事件之间会彼此影响的情况。这个模型技术上跟 ARMA 是一套,只不过把时间序列换成了事件序列的时间差而已。

另外有一种 Point Process 族是对单位时间内事件发生的概率密度进行建模的,学术界研究比较多的一种叫 Hawkes Process,以前主要用来对地震的余震进行建模,后来大家觉得地震这玩意跟金融交易里的震荡也挺像,有一批人就尝试往过套。

Hawkes Process 的思路是说历史上发生的事情对未来的概率密度函数有影响,只是随着时间流逝这种影响会逐渐减弱(Decay)。技术上就是做一个 Kernel,所有的历史事件都输入这个Kernel 来计算对未来的影响,Kernel本身做成 Decay 的形式就可以模拟衰减了。

ACD 和 Hawkes Process 的比较也有人做过,比如这里 http://arxiv.org/abs/1306.2245

Point Process 还有一个高级点的变种叫做 Masked Point Process,思路是把每个事件的相关数据作为标记(Mask)附加到时间点上,这样模型在对时间点建模的同时也兼顾了数据。而且这种标记可以是多个,对交易数据来说,价格,成交量,波动性等都可以作为标记。这样可以极大地大扩充模型的描述能力。

总的来说这两种模型的路子都算做是 Q 宗。这种模型最大的问题在于,它的底层技术设计可以非常漂亮,各种数学性质都很完备,但是你把它往数据上一套,就会发现问题很多,很多时候连基本的统计检验都通不过。有一个原因是,这些模型本身的思路出发点非常好,但问题是数据质量很难保证,要是你拿到的是不知经过了几层处理的 N 手数据,就更是很难说清问题究竟出在哪(具体例子见 http://arxiv.org/abs/1308.6756)。要知道高精度的 timestamped 交易数据是相当难求的,但如果时间都不准的话又怎么上模型呢?

当然虽然有这些困难,这也正是高频量化建模这个领域吸引人的地方,有难度才有挑战。既然现有的模型都不好用,就更是急需学术界的精英们赶快开发新模型。而如果从实际的角度说,我觉得策略的思路是比模型更重要的事情。毫秒级甚至以下这个尺度上,基本上就是统计套利和高频做市的天下,做别的我个人认为难度都会太大而不划算了。如果你的交易思路明确了,再选择什么模型其实就是按需决定而已,不要搞反了。
3#
匿名用户   | 2018-10-15 23:54:21 发帖IP地址来自
提示: 作者被禁止或删除 内容自动屏蔽
4#
YUHAO LI  1级新秀 | 2018-10-15 23:54:22 发帖IP地址来自
时间序列根本不适合用到ultra high frequence 上,理由如下:
1、一般而言时间序列要求stationarity and ergodic,(当然有non-stationarity time series的技术)而ultra high frequence是highly dependent and highly heterogeneous。

2、考虑这样一个情景,t=0的时候交易量为0,t=1s的时候交易量为10000,之后知道t=5s的时候交易量为0。这样的一个情境下,如果用时间序列,势必要将t在0~5s这段时间的交易量aggregate or smooth,这彻底地抹掉了高volatility的特点。

处理高频数据目前而言,比较适合的是用point process (counting process) 来处理,更具体的是用self-exciting point process, Hawkes Process 是最为著名的self-exciting counting process。
5#
Xxxxl  2级吧友 | 2018-10-15 23:54:23 发帖IP地址来自
最近刚好关注了一篇写ultra high frequency在jump variation方面的paper, 觉得写得非常详细,放在这里希望可以作为参考
ftp://ftp.econ.au.dk/creates/rp/11/rp11_19.pdf
里面关于如何处理ultra high frequency data讲到了一点用一个pre-averaging的方法来smooth out microstructure noise, pre-averaging公式如下:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP