多因子模型的数据处理

news2024/11/25 11:32:27

优质博文: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.coloradmin.cn/o/1591355.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【新版HI3559AV100开发注意事项(四)】

新版HI3559AV100开发注意事项(四) 三十、HI3559A参数中对输入分辨率限制的原因是? 答:分辨率限制有两个来源: 一个是时钟频率最高为600M,开启一拍两像素之后相当于1200M。你这个数据量太大了,6…

(学习日记)2024.04.17:UCOSIII第四十五节:中断管理

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

微信小程序开发学习笔记——4.9【小案例】开启下拉刷新页面enablePullDownRefresh

>>跟着b站up主“咸虾米_”学习微信小程序开发中,把学习记录存到这方便后续查找。 课程连接:4.9.【小案例】开启下拉刷新页面enablePullDownRefresh_哔哩哔哩_bilibili 一、api2.json 小程序配置 / 页面配置 (qq.com) {"usingComponents&q…

抖音小店是什么?个人店、个体店、企业店,新手商家该如何选择?

大家好,我是电商花花。 抖音小店这两年来说都是一个发展不错的电商项目,凭借着直播电商的快速发展,让更多人看到了抖音小店其中的红利,吸引着商家入驻。 抖音小店是什么? 很多人会把抖音小店和达人橱窗搞混&#xff…

Harmony鸿蒙南向驱动开发-Regulator接口使用

功能简介 Regulator模块用于控制系统中某些设备的电压/电流供应。在嵌入式系统(尤其是手机)中,控制耗电量很重要,直接影响到电池的续航时间。所以,如果系统中某一个模块暂时不需要使用,就可以通过Regulato…

LC 515.在每个树行中找最大值

515. 在每个树行中找最大值 给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。 示例1: 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9] 示例2: 输入: root [1,2,3] 输出: [1,3] 提示: 二叉树的节点个数的范围是…

ubuntu下NTFS分区无法访问挂载-解决办法!

Ubuntu系统下,有的时候发现,挂载的NTFS文件系统硬盘无法访问。点击弹出类似问题: Error mounting /dev/sda1 at /media/root/新加卷: Command-line mount -t "ntfs" -o "uhelperudisks2,nodev,nosuid,uid0,gid0" "/…

LeetCode-416. 分割等和子集【数组 动态规划】

LeetCode-416. 分割等和子集【数组 动态规划】 题目描述:解题思路一:01背包问题,动规五部曲解题思路二:0解题思路三:0 题目描述: 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分…

云计算:OVS 集群 使用 Geneve 流表

目录 一、实验 1.环境 2.OVS 集群 使用 Geneve 流表 二、问题 1.VXLAN与Geneve区别 一、实验 1.环境 (1) 主机 表1 宿主机 主机架构软件IP网卡备注ovs_controller控制端 karaf 0.7.3 192.168.204.63 1个NAT网卡 (204网段) 已部署ovs_server01服务…

【无标题】nodejs+mogoodb数据库写注册接口

描述 本篇文章主要记录使用nodejs express搭建服务器,并链接mogoodb数据来书写简单的后台接口;前端项目使用的vue2的一个酒店管理项目。阅读本文章,可以了解如何连接mogoodb数据库,和一些对数据库进行操作的命令。前端如何进行跨…

2024年Mathorcup数学建模竞赛A题思路

可以关注下,代码已出 【金山文档 | WPS云文档】 2024年Mathorcup思路代码在线文档https://link.zhihu.com/?targethttps%3A//kdocs.cn/l/cdlol5FlRAdE 整体来说这个题就两个步骤,第一是训练一个响应面模型,输入是附表1邻区的PCI值&#xff0…

裸机开发之汇编、寄存器

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

gitlab使用

个人笔记(整理不易,有帮助,收藏点赞评论,爱你们!!!你的支持是我写作的动力) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 个人随笔…

在线客服业务架构:构建智能互动与个性化服务

随着数字化时代的到来,在线客服业务正成为企业与客户沟通互动的重要渠道。在这个快节奏的时代,如何构建一个高效、智能的在线客服业务架构成为了企业关注的焦点。本文将探讨在线客服业务架构的重要性,并介绍如何构建智能互动与个性化服务的在…

自建远程桌面服务器,控制免root安卓手机和pc

RustDesk是一个开源的远程桌面软件,它允许用户通过互联网在不同设备之间共享桌面和控制权限。这款软件以最少的配置提供了自托管和安全保障,是一个类似于TeamViewer的开源替代品​ (RustDesk)​。RustDesk支持在Windows、macOS、Linux、iOS、Android以及…

图片合成二维码怎么实现?图片二维码的生成技巧

图片合成二维码如何制作呢?现在很多的二维码都会提供图片预览的功能,我们可以用手机扫描二维码来查看图片的信息,比如很多的产品信息、旅游攻略、产品海报等等类型经常会制作这种类型的二维码。 其实图片制作二维码的方法很简单,…

MobX进阶:从基础到高级特性全面探索

MobX 提供了丰富的高级特性,包括计算属性、反应式视图、中间件、异步流程控制、依赖注入和动态 observable 、在服务端渲染和 TypeScript 支持方面提供了良好的集成。这些特性进一步增强了 MobX 在状态管理方面的灵活性和可扩展性,使其成为一个功能强大、易于使用的状态管理解决…

用CRMEB多店版,看品牌连锁店如何做电商

2023年,被很多人认为是充满希望的一年,受社会环境影响消沉三年的实体商业仿佛看到了希望,都准备在今年大展身手。再看市场,经过3年的发展,很多线下实体店铺的线上商业布局已经小有成效,线下连锁品牌店线上化…

服务器配置环境步骤

1、创建虚拟环境 conda create --name 名字 pythonpython版本号2、进入虚拟环境 conda activate 名字3、确认自己要安装的torch版本和torchvision版本,进入https://pytorch.org/get-started/previous-versions/ 复制相应的命令,运行即可 注&#xff1a…

MVCC(解决MySql中的并发事务的隔离性)

MVCC 如何保证事务的隔离性? 1.排他锁:如一个事务获取了一个数据行的排他锁,其他事务就不能再获取改行的其他锁。 2.MVCC:多版本并发控制。 MVCC: 1.隐藏字段 1.DB_TRX_ID:最近修改事务的id。默认值从0开…