我正在寻找一些强大的技术来消除金融时间序列数据(即tickdata)中的异常值和错误(无论是什么原因)。
逐笔金融时间序列数据非常混乱。它在交易所关闭时包含巨大的(时间)差距,并在交易所再次开放时进行巨大的跳跃。当交易所开放时,各种因素都会在错误的价格水平(它们没有发生)和/或不代表市场(例如,由于输入错误的买价或卖价而导致的飙升)引入交易。tickdata.com 的这篇论文(PDF) 很好地概述了这个问题,但提供的具体解决方案很少。
我可以在网上找到的大多数提到这个问题的论文要么忽略它(假设tickdata 被过滤),要么将过滤作为一些隐藏任何有用过滤步骤的巨大交易模型的一部分。
有人知道在这个领域有更深入的工作吗?
更新: 这个问题表面上看起来很相似,但是:
- 金融时间序列(至少在分时水平)是非周期性的。
- 开场效应是一个大问题,因为即使您真的很想也不能简单地使用最后一天的数据作为初始化(因为否则您将一无所有)。外部事件可能会导致新一天的开盘价在绝对水平和前一天的波动性上都有很大差异。
- 传入数据的频率非常不规则。在一天的开盘和收盘附近,每秒数据点的数量可能比白天的平均值高 10 倍。另一个问题涉及定期采样的数据。
- 金融数据中的“异常值”表现出一些特定的模式,这些模式可以用在其他领域不适用的特定技术检测到,我正在部分寻找那些特定的技术。
- 在更极端的情况下(例如闪崩),在更长的时间间隔(> 10 分钟)内,异常值可能占数据的 75% 以上。此外,传入数据的(高)频率包含有关情况异常方面的一些信息。