多因子模型的数据处理

优质博文: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三个处理步骤。

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pbootcms百度推广链接打不开显示404错误页面

PbootCMS官方在2023年4月21日的版本更新中(对应V3.2.5版本),对URL参数添加了如下判断 if(stripos(URL,?) ! false && stripos(URL,/?tag) false && stripos(URL,/?page) false && stripos(URL,/?ext_) false…

机器人瓶胚检测工作站(H3U脉冲轴控制)

1、变量定义 2、程序监控1 2、 程序监控2 3、程序监控3 机器人输送料和机构的动作安全尤为重要,下面我们讨论下安全联锁控制逻辑 4、相机拍照触发信号 5、相机拍照触发时序

监控系统泛滥:CTO 面临的隐形成本危机

在信息技术飞速发展的今天,构建和维护现代化的数字系统变得日益复杂和关键;在这样的背景下,监控系统的作用变得尤为突出。正如业界广泛流传的一句经验之谈“无监控,不运维”所揭示的道理一样,对于任何具有一定复杂性的…

二叉搜索树--搜索二维矩阵 II

题目描述 编写一个高效的算法来搜索 m * n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1: 输入:matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,…

CSS基础(上)(如果想知道CSS的全部基础知识点,那么只看这一篇就足够了!)

前言:在我们学习完了html之后,我们就要开始学习三大件中的第二件—CSS,CSS 可以控制多重网页的样式和布局,也就是将我们写好的html代码加上一层华丽的衣裳,使网页变得更加精美。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨…

修改网络ip地址全攻略,简单几步畅游互联网

在数字世界中,IP地址扮演着至关重要的角色。它就像是网络世界的门牌号码,使得每一台设备在互联网上都有一个独特的标识。有时,出于安全、隐私或网络管理的需求,我们可能需要修改设备的IP地址。虎观代理将详细介绍如何修改网络IP地…

VBA中如何对工作表进行排序

代码 在VBA中对工作表进行排序的最简单方法是直接使用Move方法来移动工作表。 Sub SortSheetsByNameDescending()Dim sheetsDim sheet As WorksheetDim i As Integer, j As IntegerDim sortedSheets() As Array 获取当前工作簿中的所有工作表Set sheets ThisWorkbook.Sheets…

开发日志2024-04-12

开发日志2024/04/12 1、分店月业绩和年业绩都需要添加为真实数据 **开发思路:**分店下所属的技师的业绩总和 代码实现: 前端 无 后端 //TODO 将技师多对应的积分累加到他所属的分店的月/年累计业绩销量中//TODO 查询技师所对应的分店地址String f…

如何正确使用数字化仪前端信号调理?(二)

在上期文章如何正确使用数字化仪前端信号调理?(一)中,我们为大家介绍了数字化仪前端电路所需的特性以及使用过程中需要的输入抗阻和输入耦合,本期文章将为您介绍数字化仪前端信号调理的使用过程中所需的输入电压范围&a…

裸机开发之汇编、寄存器

一、什么是汇编?为什么学汇编? 在之前写控制代码的时候就在想:底层是怎么控制的?后来经过学习知道之前所编写的代码都是应用层代码,顾名思义就是在系统写好的底层之上调用系统函数。原以为底层是指写系统写好的底层函数…

Python之旅(一)——常量、变量、动态类型

文章目录 Python背景知识Python用途Python的优缺点Python前景(钱景) 常量和表达式变量与类型变量的定义变量命名的规则变量的使用变量的类型整数 int浮点数 float字符串布尔其他(暂不介绍) 动态类型 标黄部分是和C语言不同的部分Python背景知…

字节对编码 (BPE):提升语言处理的效率和有效性

原文地址:byte-pair-encoding-bpe-bridging-efficiency-and-effectiveness-in-language-processing 2024 年 4 月 12 日 介绍 在快速发展的自然语言处理 (NLP) 领域,对人类语言高效解析和理解的追求带来了重大创新。字节对编码(BPE&#x…