首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

规模类因子测试

02 总市值MC 总市值是最常用的度量股票规模的因子,单个股票的总市值等于对应时间的总股本数乘以股价,反映的是股票按市场价格计算出来的总价值。对总市值因子的测试结果如下 ? ? ?...06 FCMC FCMC指FC/MC,是流通市值占总市值的比例。忘了在哪个报告里看到的这个因子,也不难算,测一下看看结果。 ? ? ?...市值会随价格的波动不断波动,包含市场估值和情绪的影响,但TC反映在财报中,是对公司真实财务状况的计量结果,不包含市场估值情绪的影响,并且在新的财报公布之前,值是不变化的,相对稳定。...TC因子测试时,每次取最新财报中的值,测试结果如下 ? ? ? TC效果较好,但从图1相关性可以看到,MC,LNMC,FC,LNFC,TC同质性较高。...对于每个要测试的因子,用一个因子子类继承FctorTest,定义GetFactor函数后直接调用FactorTest中的各个函数即可完成测试。 框架如下,每个函数都有注释说明。

2.6K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用Python玩转统计数据:取样、计算相关性、拆分训练模型和测试

    我们还使用了DataFrame的.append(...)方法:有一个DataFrame对象(例子中的sample),将另一个DataFrame附加到这一个已有的记录后面。...ignore_index参数设为True时,会忽略附加DataFrame的索引值,并沿用原有DataFrame的索引值。 4. 更多 有时,你会希望指定抽样的数目,而不是占原数据集的比例。...然后,我们可以分别计算出各卧室数目下的比例,乘上strata_cnt变量,就得到了各自的记录条数。.value_counts()方法返回的是指定列(例子中的beds)中,每个值的数目。...接着我们将这些数字与要归到训练集的比例(1-test_size)进行比较:如果数字小于比例,我们就将记录放在训练集(train属性的值为True)中;否则就放到测试集中(train属性的值为False)...在每个种类中,我们有两个数据集:一个包含因变量,另一个包含自变量。

    2.4K20

    用Python实现因子分析

    因子分析又存在两个方向,一个是探索性因子分析(exploratory factor analysis)。另一个是验证性因子分析(confirmatory factor analysis)。...A进行旋转变换,旋转变换是使初始因子载荷矩阵结构简化,关系明确,使得因子变量更具有可解释性,如果初始因子不相关,可以用方差极大正交旋转,如果初始因子间相关,可以用斜交旋转,经过旋转后得到比较理想的新的因子载荷矩阵...import pandas as pd import numpy as np from pandas import DataFrame,Series from factor_analyzer import...=nlg.eig(C) #计算特征值和特征向量 eig=pd.DataFrame() #利用变量名和特征值建立一个数据框 eig['names']=data.columns#列名 eig['eig_value...T #行平方和 h[i]=a[0,0] #计算变量X共同度,描述全部公共因子F对变量X_i的总方差所做的贡献,及变量X_i方差中能够被全体因子解释的部分 D[i,i]=1-a[0,0]

    6.6K13

    数据可视化(11)-Seaborn系列 | 小提琴图violinplot()

    long-form DataFrame wide-form DataFrame 在大多数情况下,可以使用numpy或Python对象, 但推荐使用pandas对象,因为关联的名称将用于注释轴。...可选: x,y,hue:数据字段变量名(如上表,date,name,age,sex为数据字段变量名) 用于绘制数据的输入 data: DataFrame,数组或数组列表 用于绘图的数据集,如果x和y不存在...否则它被认为是 long-form order, hue_order:字符串列表 指定绘制分类级别,否则从数据对象推断级别 bw:{'scott','silverman',float} 计算内核带宽时使用的引用规则的名称或比例因子...实际内核大小将通过将比例因子乘以每个bin中数据的标准差来确定。 cut:float 以带宽大小为单位的距离,用于将密度扩展到超过极端数据点。...如果是区域,每个小提琴都会有相同的区域。 如果计数,小提琴的宽度将按照该箱中的观察次数进行缩放。

    13.4K10

    整理了25个Pandas实用技巧

    将DataFrame划分为两个随机的子集 假设你想要将一个DataFrame划分为两部分,随机地将75%的行给一个DataFrame,剩下的25%的行给另一个DataFrame。...注:该方法在机器学习或者深度学习中很有用,因为在模型训练前,我们往往需要将全部数据集按某个比例划分成训练集和测试集。该方法既简单又高效,值得学习和尝试。...这样,在DataFrame中只剩下Drame, Comdey, Action这三种类型的电影了。 处理缺失值 让我们来看一看UFO sightings这个DataFrame: ?...或者你想要舍弃那么缺失值占比超过10%的列,你可以给dropna()设置一个阈值: ? len(ufo)返回总行数,我们将它乘以0.9,以告诉pandas保留那些至少90%的值不是缺失值的列。...我们可以通过链式调用函数来应用更多的格式化: ? 我们现在隐藏了索引,将Close列中的最小值高亮成红色,将Close列中的最大值高亮成浅绿色。 这里有另一个DataFrame格式化的例子: ?

    2.8K40

    整理了25个Pandas实用技巧(下)

    将DataFrame划分为两个随机的子集 假设你想要将一个DataFrame划分为两部分,随机地将75%的行给一个DataFrame,剩下的25%的行给另一个DataFrame。...注:该方法在机器学习或者深度学习中很有用,因为在模型训练前,我们往往需要将全部数据集按某个比例划分成训练集和测试集。该方法既简单又高效,值得学习和尝试。...如果你想要舍弃那些包含了缺失值的列,你可以使用dropna()函数: 或者你想要舍弃那么缺失值占比超过10%的列,你可以给dropna()设置一个阈值: len(ufo)返回总行数,我们将它乘以0.9...,以告诉pandas保留那些至少90%的值不是缺失值的列。...我们可以通过链式调用函数来应用更多的格式化: 我们现在隐藏了索引,将Close列中的最小值高亮成红色,将Close列中的最大值高亮成浅绿色。

    2.4K10

    Pandas实现因子化

    Pandas因子化实现-factorize 在针对分类型数据的编码中,之前介绍过独热码get_dummies。本文介绍另一种方法:因子化。...因子化将pandas中object类型的数据映射称为一组数字,相同的标称型映射为相同的数字,在数据挖掘中常作为一种编码方式来应用。...因子化常用的方法: pandas.factorize() Series.factorize() Index.factorize() 函数说明 pandas.factorize( values,...# 待编码数据 sort=False, # 是否对数据中的唯一值排序 na_sentinel=- 1, # 缺失值编码为-1 size_hint=None # 哈希表可选大小...,整型 ) 返回值有两个: codes:因子化之后的编码列表,一般是ndarray uniques:原始数据中唯一值,一般是ndarray, Index, or Categorical 官网学习地址:

    16710

    统计系列(四)利用Python进行假设检验

    统计系列(四)利用Python进行假设检验 z检验 主要应用场景:在大样本量的总体比例检验 核心:两样本的总体比例差异 单样本比例检验 # 检验样本合格率与0.38是否有差异 import numpy...如检验性别(男、女)在薪资上的差异 单样本均值检验 # 检验样本均值与500是否有差异 import pandas as pd import numpy as np from scipy import...核心:一个多分类自变量与另一个多分类因变量。...如检验学历(低、中、高)在收入等级(低、中、高)上的差异 拟合优度检验检验 # 拟合优度检验 观察实验数据与期望数据是否有差异 import pandas as pd import numpy as np...chi2 = (n-1)*s2/s0 print(chi2) 171.94566597969543 双样本方差检验 # 检验两样本的波动是否一致 import pandas as pd import

    1.2K20

    整理了 25 个 Pandas 实用技巧,拿走不谢!

    我们以生成器表达式用read_csv()函数来读取每个文件,并将结果传递给concat()函数,这会将单个的DataFrame按行来组合: ? 不幸的是,索引值存在重复。...读者注:该方法在机器学习或者深度学习中很有用,因为在模型训练前,我们往往需要将全部数据集按某个比例划分成训练集和测试集。该方法既简单又高效,值得学习和尝试。 13....或者你想要舍弃那么缺失值占比超过10%的列,你可以给dropna()设置一个阈值: ? len(ufo)返回总行数,我们将它乘以0.9,以告诉pandas保留那些至少90%的值不是缺失值的列。...你可以看到,每个订单的总价格在每一行中显示出来了。 这样我们就能方便地甲酸每个订单的价格占该订单的总价格的百分比: ? 20. 选取行和列的切片 让我们看一眼另一个数据集: ?...我们现在隐藏了索引,将Close列中的最小值高亮成红色,将Close列中的最大值高亮成浅绿色。 这里有另一个DataFrame格式化的例子: ?

    3.2K10

    开启机器学习的第一课:用Pandas进行数据分析

    Pandas中的主要数据结构包括Series和DataFrame类。前者是针对一些特定数据类型的一种一维索引数组格式。...同样地,我们还可以很容易地查看数据中是否存在缺失值。由于每列包含3333个观测值,这与我们之前得到的数据的维度是一样的,因此这里不存在缺失数据。 我们还可以用astype()方法来改变数据的列类型。...你可以使用DataFrame ['Name']的结构来获得单个列,我们可以通过这个方法获得数据中用户流失率Churn所占的比例。...这种索引结果是获取DataFrame数据中对应列只满足P条件的行。 同样地,我们用这个方法可以获得以下问题的答案: 获得流失用户数值变量的平均值?...我们会假定“索引得到前三列中前五行的值,这种索引方式和Python切片方式是一样的,不会包含索引的最大值对应的项,代码如下: df.iloc[0:5, 0:3] 如果想索引DataFrame数据中的第一行和最后一行

    1.6K50

    【Python】这25个Pandas高频实用技巧,不得不服!

    将DataFrame划分为两个随机的子集 假设你想要将一个DataFrame划分为两部分,随机地将75%的行给一个DataFrame,剩下的25%的行给另一个DataFrame。...读者注:该方法在机器学习或者深度学习中很有用,因为在模型训练前,我们往往需要将全部数据集按某个比例划分成训练集和测试集。该方法既简单又高效,值得学习和尝试。 13....类似地,你可以通过mean()和isna()函数找出每一列中缺失值的百分比。...(thresh=len(ufo)*0.9, axis='columns').head() len(ufo)返回总行数,我们将它乘以0.9,以告诉pandas保留那些至少90%的值不是缺失值的列。...='red') .highlight_max('Close', color='lightgreen') ) 我们现在隐藏了索引,将Close列中的最小值高亮成红色,将Close列中的最大值高亮成浅绿色

    6.6K50

    单因子测试框架

    本框架回归模型中包含行业哑变量,能够排除行业差异影响,此外,回归采用加权最小二乘回归(WLS),权重为个股流通市值的平方根,排除小盘股的影响以及回归的异方差性。...在本测试中,不会对公司所属行业进行比例拆分,即股票只能属于一个特定的行业,在本行业上的暴露度为1,在其他所有行业的暴露度为0。...具体来说,就是在因子标准化处理之后,在每个截面期上用其做因变量对市值因子及行业因子等做线性回归,取残差作为因子值的一个替代,这种做法可以消除因子在行业、板块、市值等方面的偏离。...分组法下因子有效性的评估指标: - 策略胜率:多空组合收益大于零的比例。 - 策略月均收益:多空组合的月收益率均值。 - 策略月标准差:多空组合的月收益率标准差。...参数矩阵统一 数据数据规范化模块是将输入的股票价格矩阵(DataFrame)、行业字典(dict)、股票因子与流通市值矩阵(DataFrame)进行整合,方便后续函数的参数引用。

    2.5K51

    Using LDA for classification使用LDA线性判别分析来分类

    T1=流动资金/总资产,测量流动资产与公司大小的关系 T2=留存收益/总资产,测量收益性影响公司年龄和盈利能力 T3=息税前利润/总资产,测量经营效率除去税和杠杆因子。...Let's use a basket of auto stocks: 在这个分析中,我们通过pandas看一些从Yahoo中得来的金融数据。我们将通过一只股票6个月以来的数据,预测今天是否会增长。...f1-score parameter attempts to summarize the relationship between recall and precision . 1、对于准确率,给模型的预测值一个积极的值...,正确的比例 2、对于召回率,给出一个分类是真的状态,我们如何选择的部分,我说,选择是因为召回率在此类问题中是一个相同的矩阵,例如,这有一个基本的网页,事实上,他依靠查询期限,返回正确的比例。...LDA是确实像之前讲的聚类,我们用数据拟合一个基本模型,然后,当我们有了这个模型,我们尝试预测和比较每个给定类别数据的相似性,我们选择最相近的那个。

    76920

    20个能够有效提高 Pandas数据分析效率的常用函数,附带解释和例子

    上述代码中,我们通过指定采样数量 n 来进行随机选取。此外,也可以通过指定采样比例 frac 来随机选取数据。当 frac=0.5时,将随机返回一般的数据。...如果axis参数设置为1,nunique将返回每行中唯一值的数目。 13. Lookup 'lookup'可以用于根据行、列的标签在dataframe中查找指定值。假设我们有以下数据: ?...Merge Merge()根据共同列中的值组合dataframe。考虑以下两个数据: ? 我们可以基于列中的共同值合并它们。设置合并条件的参数是“on”参数。 ?...inner:仅在on参数指定的列中具有相同值的行(如果未指定其它方式,则默认为 inner 方式) outer:全部列数据 left:左一dataframe的所有列数据 right:右一dataframe...Replace 顾名思义,它允许替换dataframe中的值。第一个参数是要替换的值,第二个参数是新值。 df.replace('A', 'A_1') ? 我们也可以在同一个字典中多次替换。

    5.7K30

    自动化任务小工具的开发与应用实践

    以下是几种常见场景的适配策略:数据处理在数据分析中,开发者常需进行数据清洗、转换等操作。自动化工具可以集成常用的数据处理库,如Pandas。...data.columns: data['column'] = data['column'].apply(lambda x: x * 2) print("数据转换完成:'column'列的值已乘以...在这个示例中,我们假设有一列名为column,将其每个值乘以2。检查列存在性:如果指定的列不存在,则跳过转换,并打印相关信息。...运行代码的效果当你运行这个代码时,它将执行以下操作:从指定的data.csv文件中读取数据。对数据进行清洗,去除空值和重复项。将名为column的列中的每个值乘以2。...QA环节在开发过程中,开发者可能会遇到以下问题:如何选择合适的库?根据任务需求选择相关的开源库,如Requests用于API调用,Pandas用于数据处理。如何处理错误?

    15332

    8 个 Python 高效数据分析的技巧

    一行代码定义List 定义某种列表时,写For 循环过于麻烦,幸运的是,Python有一种内置的方法可以在一行代码中解决这个问题。 ? 下面是使用For循环创建列表和用一行代码创建列表的对比。...具体来说,map通过对列表中每个元素执行某种操作并将其转换为新列表。在本例中,它遍历每个元素并乘以2,构成新列表。请注意,list()函数只是将输出转换为列表类型。...在Pandas中,删除一列或在NumPy矩阵中求和值时,可能会遇到Axis。...回想一下Pandas中的shape df.shape (# of Rows, # of Columns) 从Pandas DataFrame中调用shape属性返回一个元组,第一个值代表行数,第二个值代表列数...Join,和Merge一样,合并了两个DataFrame。但它不按某个指定的主键合并,而是根据相同的列名或行名合并。 ? Pandas Apply pply是为Pandas Series而设计的。

    2.7K20
    领券