feture_cross_layering
- czsc.feture_cross_layering(df, x_col, **kwargs)[source]
对因子数据在时间截面上进行分层处理
函数计算逻辑:
首先从参数中获取分层数量 n,默认为10。
确保数据 df 包含 dt、symbol 和指定的因子列 x_col, 确保标的数量大于分层数量。
如果因子列的唯一值数量大于分层数量,使用 pd.qcut 函数将因子列进行分层,按照分位数进行分组。
如果因子列的唯一值数量小于等于分层数量,按照因子列的唯一值进行排序,并将每个因子值映射为对应的层级。
将分层结果转换为字符串形式,以表示层级。
- Parameters:
df –
因子数据,数据样例:
dt
symbol
factor01
factor02
factor03
2022-12-19 00:00:00
ZZUR9001
-0.0221211
0.034236
0.0793672
2022-12-20 00:00:00
ZZUR9001
-0.0278691
0.0275818
0.0735083
2022-12-21 00:00:00
ZZUR9001
-0.00617075
0.0512298
0.0990967
2022-12-22 00:00:00
ZZUR9001
-0.0222238
0.0320096
0.0792036
2022-12-23 00:00:00
ZZUR9001
-0.0375133
0.0129455
0.059491
x_col – 因子列名
kwargs –
n: 分层数量,默认为10
- Returns:
df, 添加了 x_col分层 列