多因子模型的数据处理

优质博文:IT-BLOG-CN
在这里插入图片描述

数据处理的基本目的是从多量的、可能是杂乱无章的、难以理解的数据中抽取并推导出有价值、有意义的数据。特别是金融数据,存在数据缺失,不完整以及极端异常值等问题,对于我们的分析和建模影响很多。

对于我们分析多因子模型来说,我们进行数据处理主要有以下两个原因:
【1】原始数据使用到因子中会存在很多杂音,对于我们进行因子分析有很多的影响,
【2】各因子结合在一起来分析模型的主动收益时,要求各因子数据的分布要相互匹配(类似的分布)。

首先,我们先处理极端异常值Outliers,处理异常值的方法有成千上万种,其中我们使用最多并且非常有效的方法是如下公式:
在这里插入图片描述

以上两个公式分别决定了数据的上限和下限,其中N常取23, 分别是将全部数据从小到多排序75%25%百分率对应的数据值,m是整列数据的中位数。

按照如上方法处理完异常值后,需检验我们的数据是否充分处理。我们检验的标准是:先计算经处理数据的偏度Skewness,然后再随机去除掉5%-10%的数据,重新计算偏度Skewness,如果两者的偏度偏差不多,那举说明我们的数据进行了充分的裁剪。

然后,我们还需要对各个裁剪完的因子数据进行分布转换。通常我们希望选取因子的分布尽量呈现正态分布,而金融数据通常呈现右偏分布且具有非负性,所以我们通常采用对数转换来处理我们选取的因子数据。其他处理方法还有对数据进行平方、开方、开方,或者使用平滑异同移动平均线来对数据进行正态分布化处理。

总而言之,我们不需要选取因子的分布呈现标准正态分布,我们叧需因子的数据看起来大致呈现正态分布。

假如我们使用了以上方法,但是因子数据仍然没有呈现明显的正态分布,我们还有以下几种方法来对数据进行处理:
【1】对因子进行重述。A/B没有呈现明显的正态分布,但是B/A, (A+B)/(A-B),甚至是A/Avg(A)-B/Avg(B)即有可能得到我们想要的结果,这些重述后因子可能还需要进行对数转换来使分布看起来呈现正态分布。
【2】如果方法1里的重述方法都没有效果,我们还有以下办法来处理数据:
1)我们还可以对数据进行排行,最小的数据为1,最多数据为N,然后进行标准化Z-Score处理。这种方法虽然忽略了数据的细节特性,但是保留数据的宏观特性且将原始数据发成了可被使用的数据。
2)将数据除以所有数据的最多绝对数值。这样因子的所有数据都会落在[-1,1]之间,但即没有改发数据整体的分布。虽然这个方法改发了数据的细节特性,但仍然保留了数据的整体特性。
3)分布拟合。分布拟合通常有以下四个步骤:
● 选择所需的分布最多数值和最小数值。
● 运用逆分布函数将最多数值和最小数值转换成相应的概率。
● 将剩余的数据用概率比例在分布上找到对应概率并找到其对应的数值。
● 如果数据有严重的异常值及其他数据问题,我们可以对数据先进行排行,然后对排行后的数据强加一个分布,通常是正态分布,有时也用卡方分布,再进行1. 2. 3三个处理步骤。

分布拟合有一个显著的缺陷就是,如果数据存在高比例的重复值,那举这个方法可信度就会降低,但仍然是一个有效的数据处理方法。

数据处理对于我们多因子建模是非常重要的前期准备工作,好的数据对于我们之后的资产分配,组合建模,回测,归因等都是坚实的保障,所以我们通常在前期花多量时间将原始数据处理成我们所需的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/540225.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git分布式版本控制系统——Git常用命令(二)

五、Git常用命令————分支操作 同一个仓库可以有多个分支,各个分支相互独立,互不干扰 分支的相关命令,具体如下: git branch 查看分支 git branch [name] 创建分支&#x…

20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】

20240409在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04时跑通4G模块EC200A-CN【PPP模式】 2024/4/9 14:25 【不建议使用ppp模式,功耗大,貌似更过分的!网速还低!】 【唯一的优点:ppp模式下是通过脚本配置…

降额的秘密——不要挑战datasheet!

原文来自微信公众号:工程师看海,与我联系:chunhou0820 看海原创视频教程:《运放秘籍》 大家好,我是工程师看海。 什么是降额设计?我们为什么要降额? 额指的是额定工作状态,降额就是…

CSS特效---HTML+CSS实现3D旋转卡片

1、演示 2、一切尽在代码中 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title&…

Ubuntu无网络标识的解决方法

1.出现的情况的特点 2.解决办法 2.1 进入root并输入密码 sudo su 2.2 更新NetworkManager的配置 得先有gedit或者vim&#xff0c;两个随意一个&#xff0c;这里用的gedit&#xff0c;没有就先弄gedit&#xff0c;有的话直接下一步 apt-get install gedit 或者vim apt-get ins…

Excel中输入数字会改变怎么办?

一、数字显示不全&#xff0c;以“#”号代替 随着列宽的缩小&#xff0c;数字逐渐被“#”号代替&#xff08;首先数字的格式是“数值型&#xff0c;且只有整数”&#xff09; 原因分析&#xff1a;单元格中的数字无法完全显示&#xff0c;Excel会自动用“#”号填充剩余的空间 解…

【数据结构】07查找

查找 1. 基本概念2. 顺序表查找2.1 顺序查找2.2 顺序查找优化-哨兵 3. 有序表查找3.1 折半查找&#xff08;二分查找&#xff09; 4. 分块查找&#xff08;索引顺序查找&#xff09;5. Hash表&#xff08;散列表&#xff09;5.1 散列函数的设计5.2 代码实现5.2.1 初始化Hash表5…

【Python】面向对象(专版提升2)

面向对象 1. 概述1.1面向过程1.2 面向对象 2. 类和对象2.1 语法2.1.1 定义类2.1.2 实例化对象 2.2 实例成员2.2.1 实例变量2.2.2 实例方法2.2.3 跨类调用 3. 三大特征3.1 封装3.1.1 数据角度3.1.2 行为角度3.1.3 案例:信息管理系统3.1.3.1 需求3.1.3.2 分析3.1.3.3 设计 3.2 继…

照片分辨率怎么调?一键修改图片dpi

当我们需要通过电子邮件、社交媒体、即时消息或在线存储服务共享图片时&#xff0c;较高分辨率的图片文件可能会占用更多的存储空间和传输时间。通过修改图片分辨率&#xff0c;您可以减小文件大小&#xff0c;提高传输速度&#xff0c;并确保照片在网络共享和传输过程中的顺利…

gpu服务器与cpu服务器的区别在哪?

GPU服务器与CPU服务器的区别主要体现在处理能力、应用场景、能源消耗和成本等方面。 处理能力&#xff1a;CPU&#xff08;中央处理器&#xff09;是计算机的“大脑”&#xff0c;负责执行指令和处理数据&#xff0c;它的设计注重于逻辑运算和串行处理能力。而GPU&#xff08;…

隐私计算实训营第九讲-隐语多方安全计算在安全核对的行业实践

隐私计算实训营第九讲-隐语多方安全计算在安全核对的行业实践 文章目录 隐私计算实训营第九讲-隐语多方安全计算在安全核对的行业实践1.业务背景&#xff1a;安全核对产生的土壤1.1相关政策出台1.2 数据差异的来源 2.产品方案&#xff1a;从试点到规模化的路3.技术共建&#xf…

c++ 指针总结

概述 内存地址 在计算机内存中&#xff0c;每个存储单元都有一个唯一的地址(内存编号)。通俗理解&#xff0c;内存就是房间&#xff0c;地址就是门牌号 指针和指针变量 指针&#xff08;Pointer&#xff09;是一种特殊的变量类型&#xff0c;它用于存储内存地址。指针的实质…

Java springmvc 参数名用is开头导致为null

因为最近在整理一些源码和编写规范&#xff0c;这里写一下只是记录几年前自己遇到的问题&#xff0c;好久都忘了&#xff0c;还是写下来比较好。 问题记录&#xff1a;由于变量使用了boolean&#xff0c;并且变量名是is开头的&#xff0c;由于java机制boolean默认是false&#…

阿里云大学生免费服务器申请流程,2024年最新

阿里云学生服务器免费申请&#xff0c;之前是云翼计划学生服务器9元/月&#xff0c;现在是高校计划&#xff0c;学生服务器可以免费申请&#xff0c;先完成学生认证即可免费领取一台云服务器ECS&#xff0c;配置为2核2G、1M带宽、40G系统盘&#xff0c;在云服务器ECS实例过期之…

python入门(一)配置环境和选择IDE

Python&#xff0c;作为一种简洁易懂的编程语言&#xff0c;近年来在全球范围内受到了广泛的关注和追捧。它不仅语法简单明了&#xff0c;易于上手&#xff0c;而且拥有强大的第三方库和广泛的应用领域。从数据分析、机器学习到Web开发&#xff0c;Python都能发挥出色的性能&am…

算法题 - 双指针

目录 125. 验证回文串392. 判断子序列167. 两数之和 Ⅱ - 输入有序数组11. 盛最多的水15. 三数之和 125. 验证回文串 LeetCode_link 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 …

面相对象设计

设计原则 创建性模式 结构性模式 行为模式

C++11 设计模式3. 工厂方法模式

简单工厂模式的遗留问题 //从上面的代码可以看到&#xff0c;简单工厂模式确实实现了new 出来具体对象&#xff0c; 和 业务逻辑的分离&#xff0c; //但是不符合 "开闭原则" //"开闭原则"说的是代码扩展性问题——对扩展开放&#xff0c;对修改关…

算法设计与分析实验报告c++实现(TSP问题、哈夫曼编码问题、顾客安排问题、最小生成树问题、图着色问题)

一、实验目的 1&#xff0e;加深学生对贪心算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用贪心算…

C# 两种方法截取活动窗口屏幕,实现窗体截图

方法1&#xff0c;截屏内容仅包括活动窗口界面&#xff0c;而方法2是从屏幕范围取图&#xff0c;截屏内容会包括屏幕上所有内容。例如有一些程序在桌面顶层显示半透明的悬浮窗&#xff0c;用方法2截屏就会包括这些内容&#xff0c;并不是单纯的活动窗口内容。 方法1&#xff0c…