# data_process **Repository Path**: stock-group_2/data_process ## Basic Information - **Project Name**: data_process - **Description**: 开发通用数据清洗管道 - 实现模块化特征工程组件,支持滑动窗口统计、技术指标计算等15+功能 - 封装可视化模板库,快速生成时序数据诊断报告 - 优化内存占用:通过分块处理支持GB级数据在8GB内存设备运行 - pytorch并行化实现百万级tensor在8GB显存运算 - 技术栈:Python, Pandas, NumPy, Matplotlib, Pytorch - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-17 - **Last Updated**: 2025-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 因子评估与时间序列分析项目 ## 项目简介 本项目旨在提供一套完整的因子评估与时间序列分析工具,适用于金融数据分析场景。主要功能包括: - 因子有效性评估(IC值、Rank IC、IR比率等) - 时间序列分解与预测模型(ARIMA、白噪声检验等) - 并行计算支持(支持多因子、多时间段并行处理) - 数据预处理与标准化工具(缺失值处理、归一化、数据格式转换等) - 因子分组与绩效分析(Brinson模型等) 适用于量化金融研究者、算法交易开发者及因子投资分析人员。 ## 目录结构 - `evaluation`: 核心评估模块,包括因子评估、IC值计算、SHAP值分析等功能。 - `parellel`: 并行处理模块,支持分时、分代码、函数级并行计算。 - `util`: 工具类模块,涵盖数据处理、日志配置、文件操作、时间序列操作等功能。 - 包含配置文件`.env`和`.gitignore`。 ## 主要功能模块说明 ### 1. `evaluation/factor_evaluation.py` 提供因子评估的核心指标计算功能,包括: - 静态与动态IC值计算 - 滚动IC值(Rolling IC) - 分组IC与绩效评估 - VIF共线性分析、SHAP值解释性分析 - 支持AUC、KNN互信息等机器学习评估指标 ### 2. `evaluation/time_series_factor_analyse.py` 提供时间序列分析工具,包括: - 自相关(ACF)、偏自相关(PACF)分析 - 单位根检验(ADF) - KPSS平稳性检验 - ARIMA模型识别与残差检验 - 白噪声检验与季节性分解 ### 3. `parellel/data_pare.py` 实现基于Python的并行计算框架,支持: - 按时间、代码或函数并行处理 - 适用于多因子评估、滚动窗口计算等场景 ### 4. `parellel/pytorch_pare.py` 提供PyTorch相关的并行处理函数,包括: - CUDA流式处理 - 自动批处理大小控制 ### 5. `util/data_process.py` 涵盖数据处理常用工具,如: - 数据对齐与缺失处理 - 数据标准化、归一化 - 收益率计算与逆向还原 - 多因子组合与三维数据转换 ### 6. `util/operator_class.py` 提供通用操作类`OperatorClass`,支持: - 函数装饰与参数处理 - 多因子并行运行接口 - 因子结果获取与源数据管理 ### 7. `util/transInfo.py` 数据结构管理模块,包含: - `TransInfo`类:用于因子、收益、交易信号等信息的统一管理与对齐 - `DataEngine`类:用于统一调度与处理各类数据源 ## 安装说明 请确保已安装以下依赖: ```bash pip install pandas numpy numba scikit-learn lightgbm statsmodels torch ``` ## 使用示例 ### 因子评估 ```python from evaluation.factor_evaluation import FactorEvaluation # 初始化因子与收益数据 factor = ... # 因子数据,pd.Series或np.ndarray格式 price = ... # 价格数据 # 创建评估对象并计算滚动IC eva = FactorEvaluation(factor, price) ic_result = eva.evaluate("ic_evaluation_frame_roll") print(ic_result) ``` ### 时间序列分析 ```python from evaluation.time_series_factor_analyse import acf, decompose_time_series # 分解时间序列并查看自相关性 decomposed = decompose_time_series(factor_data, period=20) acf_result = acf(factor_data, lags=20) ``` ### 并行处理 ```python from parellel.data_pare import parallel_by_time # 按时间并行计算 results = parallel_by_time(factor_data, process_single_time_step) ``` ## 贡献指南 欢迎提交Issue与Pull Request。请遵循以下格式: - Issue请描述具体功能缺失或Bug - 新功能请提交PR并附上测试用例 - 代码请遵循PEP8风格 ## 许可证 本项目遵循MIT许可证。详情请查看LICENSE文件。 ## 联系方式 如需技术支持,请联系项目维护者或提交Issue。 ## 更新日志 请查看`CHANGELOG.md`文件。