请选择 进入手机版 | 继续访问电脑版
楼主: jaspercapital
1203 0

[其他] 浅谈量化中的数据清洗:处理缺失值 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

84%

还不是VIP/贵宾

-

威望
0
论坛币
400 个
通用积分
6.1225
学术水平
3 点
热心指数
3 点
信用等级
3 点
经验
1672 点
帖子
95
精华
0
在线时间
52 小时
注册时间
2016-10-20
最后登录
2021-9-24

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

上一篇文章中,我们讨论了关于异常值的清洗和假设。本文中,我们再聊聊数据缺失值的清洗和假设。

量化研究模型往往是建基于大量数据,然而,在数据挖掘过程中,经常会遇到挖掘出来的特征数据存在各种异常情况,比如数据异常、数据缺失等。对于这些情况,如果不加以处理,将可能直接影响到最终模型建立后的使用效果,甚至可能导致模型失效。所以对于数据挖掘工程师来说,掌握必要的数据清洗方法是很有必要的!

什么是缺失值

缺失值,指的是缺少的数据,由于部分数据结构是齐整的,比如矩阵,缺失的数据会变成空值(NAN)留在其中,对我们后续的研究带来麻烦。我们需要分析后并去掉它们的影响。对于缺失值,量化中常见的处理方法是填充或删除。我们先分析泛用的清洗方法,再来研究数据的特性,对缺失值进行分类。

处理缺失值的泛用方法——填充

很多算法不支持缺失值数据作为输入。清洗中常见的操作是,遇到缺失值则填充为均值,或将数据特征取zscore变换,使得数据均值为,标准差为1。Zscore变换使得填充均值和填充为是一样,同时也平衡了不同特征之间的大小区别。这样,我们损失了空值的信息,再少了两个自由度,使得数据能较好地被算法支持。

未定义的数据

未定义的数据,往往发生于缺少部分原始数据的情况下。比如我们需要计算指标“60日股价涨幅”,当某公司上市不到60个交易日时,这指标便是未定义的。

这样的未定义数据,我们可以通过两种方法来清洗:

一是重定义指标,如在数据不足的时候,有几个交易日的数据,就用几个。这样没有损失信息,但数据会有较大的失真,日均交易量可以这么处理,涨幅则不合理。

二是将其从数据中删去,会导致能用的数据量减少。

此两种清洗方式,前者隐含了修改后的指标跟原指标近似的假设,而后者隐含的则是模型不应学习到这样的数据,两者各有优劣。

无交易的数据

无交易的数据,往往发生于停牌,或者是一字板的涨跌停的情况下。此时股票没有成交,我们需要理解数据的含义,才能处理这些缺失值。

对于股票价格的缺失值,通常我们假设最近的成交价格仍能够反映股价,用最近的价格去填充股价;或者假设股票会跟同行业表现一致,用同行业的行业指数的变化去替代。这些近似在数学上有合理性,但从信息的角度上看,停牌往往是股票发生了特殊事件,比如财务造假、公司合并等。这些事件对股价的影响有好有坏,我们只有理解了它们,才能更好地去预测股价的变化。

对于成交量的缺失值,我们可以比较直观的设置为,但损失了“不能交易”和“没有交易”两种情况的区分信息。

小结

对缺失值的处理方法多样,很难说哪种方法是最优的,我们可以遵循这样的原则去清洗它们:在算法能接受的情况下,数据尽量保持和原始逻辑一致。我们也可以在研究中尝试不同的清洗方法,寻找更有效的策略。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:处理缺失值 缺失值 数据挖掘工程师 score core 大岩量化 大岩定增 量化定增 量化投资 大岩资本

股票14.jpg
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 14:56