峰度与偏度以及相关系数简介

举报
鲤鱼君 发表于 2022/02/07 10:56:10 2022/02/07
【摘要】 偏度skewness定义:峰度定义:python使用pandas来计算偏度和峰度import pandas as pdx = [53, 61, 49, 66, 78, 47]s = pd.Series(x)print(s.skew())print(s.kurt())它是用上面的G1来计算偏度 G2来计算峰度,结果如下:0.7826325504212567-0.263165544103846...

偏度skewness
定义:
image.png
image.png
image.png

image.png
image.png
image.png
image.png

峰度定义:
image.png
python使用pandas来计算偏度和峰度
import pandas as pd
x = [53, 61, 49, 66, 78, 47]
s = pd.Series(x)
print(s.skew())
print(s.kurt())
它是用上面的G1来计算偏度 G2来计算峰度,结果如下:

0.7826325504212567
-0.2631655441038463
Spearman相关系数:
Spearman相关系数考虑的是无参数的等级相关(a nonparametric measure of rank correlation (statistical dependence between the rankings of two variables)),不像Pearson相关,Spearman相关不假设两组数据取样于正态分布。Spearman相关的取值也是 [-1, 1] 。Spearman相关系数用 image.png

表示,对于两组大小为 n的数据 X和 Y,将其转换为等级(也就是这个rank)数据
image.png
image.png 分别表示 image.png 的平均值
,相关系数 可表示为:
image.png
按照升序排列后

image.png
上列表处按照 image.png
升序的方式排序,出现了两个 image.png
,故对应的等级排列要取平均值,为 image.png
。而当所有等级值都为整数时,可以用更简单的方式算得 image.png
。用 image.png
表示两个相应变量的等级差值:image.png

image.png
对于上面两组数据 image.png
,按照如下步骤计算出 image.png

重新排列两组数据,有四种形式,Xi升序, Yi 升序, Xi降序, Yi 降序,示例中选择以 Xi升序形式重新排列两组数据,并给每个Xi和Yi分配等级值 1,2,3,… n得到两组等级值数据 image.png

计算每个 image.png
[公式] 。
计算每个 [公式] 。
代入(2)式算出
image.png
image.png
Python检验
在python中对应的是scipy.stats.spearmanr函数,这个函数是用(1)式算的。
from scipy import stats
import numpy as np
x = [106, 86, 100, 101, 99, 103, 97, 113, 112, 110]
y = [7, 0, 27, 50, 28, 29, 20, 12, 6, 17]
print(stats.spearmanr(x, y))
结果为:
SpearmanrResult(correlation=-0.17575757575757575, pvalue=0.6271883447764844)
顺便验证了下(1)和(2)式结果是否相等,可以发现,当转化为等级值后,就是求简单的皮尔森相关系数(Pearson correlation coefficient)
x1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
y1 = np.array([1, 6, 8, 7, 10, 9, 3, 5, 2, 4])
n = 10
rho = 1 - 6 * sum((y1 - x1)2) / n / (n2 - 1)
print(stats.pearsonr(x1, y1))
print(‘rho=’, rho)
结果为:
(-0.17575757575757575, 0.6271883447764837)
rho= -0.17575757575757578
从下面的代码结果可以看出在等级值不都是整数时,(1)式,(2)式的结果是不同的

x2 = np.array([1, 2, 3.5, 3.5, 5])
y2 = np.array([4, 5, 3, 2, 1])
n=5
rho = 1 - 6 * sum((y2 - x2)2) / n / (n2 - 1)
print(‘rho=’, rho)
print(stats.spearmanr(x2, y2))
print(stats.pearsonr(x2, y2))
结果为:

rho= -0.825

SpearmanrResult(correlation=-0.8720815992723809, pvalue=0.05385421772754211)

(-0.872081599272381, 0.053854217727542106)

所以由此可看出spearmanr函数确实是用(1)式算的,无误!
image.png
1、Normal IC
IC(Information coefficient 信息系数)的定义:t期的因子载荷(因子值)和t+1期的因子收益之间的相关系数。
举个例子:
因子:Variance20 20日收益方差
股票池:000001.XSHE(平安银行)、000002.XSHE(万科A)、000060.XSHE(中金岭南)、000063.XSHE(中兴通讯)、000069.XSHE(华侨城A)
日期:2018年1月2日
股票代妈 因子值 下期股票收益
000001.XSHE 0.120140 -0.0267
000002.XSHE 0.105666 -0.0070
000060.XSHE 0.07945 -0.0547
000063.XSHE 0.237343 0.0269
000069.XSHE 0.134598 0.0057
(注:下期股票收益为股票下一交易日的涨幅)
可以求IC得两个必要条件就是求到因子值和下一期的股票收益,我们对这两列求相关系数就可以得到该因子在当前股票池范围内的IC值,值为0.85(由于上表中的股票池极少,导致了求得的IC值比较高)。当IC值均值大于0.03,可以说该因子是有效因子。
注:当样本股票过少时,IC是没有统计意义的,在对因子做有效性分析时,要保证至少有100只股票,IC才有意义。
2、Rank IC
rank IC和IC唯一的不同点就是在求相关系数时,换成秩相关系数,即:
rank IC: t 期的因子载荷(因子值)的排序值和 t+1 期的因子收益的排序值之间的相关系数。

举个例子:

股票代妈 因子值 因子值排名 下期股票收益 下期股票收益排名
000001.XSHE 0.120140 3 -0.0267 2
000002.XSHE 0.105666 2 -0.0070 3
000060.XSHE 0.07945 1 -0.0547 1
000063.XSHE 0.237343 5 0.0269 5
000069.XSHE 0.134598 4 0.0057 4
(注:下期股票收益为股票下一交易日的涨幅)

IC值是对因子值和下期股票收益求相关系数,而rank IC值是对因子值排名和下期股票收益排名求相关系数,值为0.8999。

现在更多的人选择用rank IC来代替普通的IC,这是因为普通的IC求相关系数有一个前提条件,就是数据要服从正态分布,但金融类数据往往并不如此,所以现在更多人采用秩相关系数也就是rank IC来判断因子的有效性
为什么最小二乘法估计β1等于总体的协方差除以x的方差?
普通最小二乘法的推导证明

我们先以一元线性模型为例来说明。

假设有一组数据 image.png
,我们希望求出对应的一元线性模型来拟合这一组数据

image.png

既然要拟合,总要有一个拟合程度高低的判断标准,上文说到,最小二乘法中使用的就是误差平方和方法,所以,这时候损失函数,或者说我们的目标函数就是:
image.png

有了这个目标函数,我们要做的就是求出 image.png
使得 image.png
最小,在这里就是极小值。
求极值的一个很好的方法就是求导,在这里因为有多个参数,所以,我们要分别对 image.png
求偏导:
image.png

image.png

image.png
image.png
image.png
image.png
image.png
image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。