中信期货财务因题专题报告:财务因子之单因子测试之因子数据清理(异常值处理)
报告时间:2022-02-09
R语言 Python 量化选股 因子选股 pandas numpy plotly
文章目录
1.数据清理是什么?
异常值处理
数据清理
数据审查中,发现错误值、缺失值、异常值、可疑数据,需要用适当的方法进行清理。
2.缺失值处理
2.1.删除
因为本文的因子数据是截面数据,所以本文的因子缺失值直接剔除。
def nora_dropna(df, factor_list):
for factor in factor_list:
df[factor].dropna()
return df
3.异常值处理
3.1.缩尾法
异常值,缩尾法(winsorization),将小于 1%分位数和大于 99%分位数的样本点剔除。
def nora_filter_percentile(df, factor_list, lower,upper):
for factor in factor_list:
df[f'''{factor}分位数'''] = df.groupby(['交易日期'])[factor].rank(ascending=True, pct=True)
condition = (df[f'''交易日期'''].isna() == False)
for factor in factor_list:
condition &= (df[f'''{factor}分位数'''] >= lower)
condition &= (df[f'''{factor}分位数'''] <= upper)
# 综上所有因子的过滤条件
df = df[condition]
return df
4.实战
数据更新
1.每月中国进出口
1.1.进出口数据 20220531 时间序列 ARMA ARIMA SARIMA
链接: link
2.宏观数据集
2.1.图01:剔除价格波动后工业增加值同比增速较为平滑_金工狗_数据包
链接: link