(四)单一因子简单分析

案例数据:https://cloud.189.cn/t/aYbUv2JbEzUn

一、数据特征分析

1.1 集中趋势:均值、中位数、众数、分位数

均值所有数据的平均值
中位数数值从小到大排列,位于中间的那个
众数数据集中出现最频繁的值
四分位数所有值从小到大排列,第一个分割点是下四分位数,第二个分割点是中位数,第三个分割点是上四分位数

1.1 离中趋势:数据离散程度的衡量

标准差衡量数据偏离均值的程度,值越大数据越离散,越小越聚拢
方差标准差的平方

二、数据分布:偏态与峰态

2.1 偏度(平均值的偏):统计数据分布偏斜方向程度

正态

正偏

负偏

2.2 峰度:反映尖锐度或平坦度 ,以正态分布为零作为标准,正峰度表示相对尖锐的分布,负峰度表示相对平坦的分布

三、常用方法

方法功能
mean()算数平均数
sum()计算样本总和
var()计算样本方差
std()计算样本标准差
corr()计算样本Spearman(Pearson)相关系数矩阵
skew()计算样本偏度(三阶矩)
kurt()计算样本峰度(四阶矩)
describe()样本基本描述
median()计算中位数
quantile()求分位数,q=0.25/0.5/0.75
mode()求众数

四、单一列数值分析

# 导入包
import  pandas as pd
import seaborn as  sns

# 读取数据
df=pd.read_csv("./data/HR.csv")

# 拿到 satisfaction_level 数据
s = df["satisfaction_level"]

# 查看null异常值
s[s.isnull()]


# 查看异常值具体行信息
df[df['satisfaction_level'].isnull()]


# 删除空值
s = s.dropna()
# 填充空值
# s = s.fillna()

s.describe()

# ----------------------
# 拿到 last_evaluation 数据
s2 = df["last_evaluation"]

# 查看描述
s2.describe()

# 正偏:大部分数据比平均数小;负偏:大部分数据比平均数大
s2.skew()

# 正值:比正太分布陡峭;负值:比正太分布平坦
s2.kurt()

# 去除异常值
s2 = s2[s2<1]
s2

# ---------------------

# 或者用四分位数去除离群值
s3 = df['last_evaluation']


q_low = s3.quantile(q=0.25)
q_high = s3.quantile(q=0.75)
q_interval = q_high-q_low
k = 1.5

s3 = s3[s3<q_high+k*q_interval][s3>q_low-k*q_interval]
s3.describe()

# -------------------
# 得到 number_project 数据
s4 = df["number_project"]

# 查看详情
s4.describe()

# 偏度、峰度查看
print("skew",s4.skew())
print("kurt",s4.kurt())

# 统计   参数:normalize=True:出现次数构成比例
s4.value_counts(normalize=True).sort_index()

# 得到 average_monthly_hours
s5 = df["average_monthly_hours"]
s5.describe()

# --------------------------------
# 剔除异常值
s5 = s5[s5<s5.quantile(0.75)+1.5*(s5.quantile(0.75)-s5.quantile(0.25))][s5>s5.quantile(0.25)-1.5*(s5.quantile(0.75)-s5.quantile(0.25))]
s5.describe()

# 某个区间内出现多少次
np.histogram(s5.values,bins=10)

# 自定义间隔
np.histogram(s5,bins=np.arange(s5.min(),s5.max()+10,10))

# ------------------------------
# 对比分析
df.loc[:,["last_evaluation","department"]].groupby("department").mean()

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
因子选股是一种投资策略,它使用多个因子来选择股票。每个因子都是一种衡量股票价值或价格的方法,例如市盈率、市净率、股息收益率等。多因子选股策略的目标是通过选择具有良好基本面的股票来实现稳定的长期收益。 多因子选股策略通常包括以下步骤: 1. 确定因子:选择一组有意义的因子,并为每个因子定义一个具体的计算方法。这些因子可以是基本面因子、技术分析因子或其他类型的因子。 2. 数据获取:从可靠的数据源获取股票数据,并计算每个因子的值。这可能需要使用一些计算工具和技术。 3. 因子排名:对每个因子进行排名,并将每个股票的排名得分组合成一个总得分。这可以通过简单地将每个因子的排名百分比加权相加来实现。 4. 股票选择:根据总得分选择排名前若干的股票,构成投资组合。 5. 投资组合管理:定期监控投资组合中的股票,并根据需要进行调整。这可以包括增加新的股票、减少原有的股票或重新分配权重。 多因子选股策略的优点是可以减少单一因子选股策略的风险,增加投资组合的稳定性。同时,通过组合多个因子,多因子选股策略可以更全面地评估股票的价值和价格,提高选股的准确性。 当然,多因子选股策略也有一些挑战,例如如何选择最优的因子组合、如何处理数据和计算误差、如何消除市场噪音和极端值等。因此,多因子选股策略需要仔细的研究和测试,以确保其有效性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值