# alpha-model **Repository Path**: jollylog/alpha-model ## Basic Information - **Project Name**: alpha-model - **Description**: 私人实现的多因子选股回测框架,欢迎交流 - **Primary Language**: Python - **License**: MulanPSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2023-10-31 - **Last Updated**: 2023-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AlphaModel ## 介绍 基于A股市场的多因子回测框架 ## 框架 ### 1. AlphaFactor 多因子回测框架的主要架构 #### 1.1 test.py 导入AlphaFactor类,对类中的功能进行测试 #### 1.2 AlphaFactor.py 核心文件:多因子回测类的搭建 (1)因子、股票数据的初始化(构造函数) *注:如果使用本地数据进行测试,则在import部分调用dataExtract2包;如果调用mysql数据库的接口,则在import部分调用dataExtract包* (2)单个因子的效果分析:run_single_indicator_analysis (3)因子合成及分析:run_multi_indicators_analysis (4)因子选股:select_stocks_by_model (5)选股的基础上加权:add_weight_to_stock_choose (6)参数修改: - 更新模型参数:set_model_para - 更新因子分析的参数:set_analysis_config - 更新行业数据:set_groupby - 更新因子选股的方式:set_model_type - 更新因子合成的方式:set_combine_type (7)参数查看: - 查看模型参数:get_model_para - 查看因子分析的参数:get_analysis_config #### 1.3 stock_choosed.csv 选股结果存入该文件 #### 1.4 Backtest_multiFactors.ipynb 根据stock_choosed文件的组合结果进行回测 #### 1.5 lib 函数库 1.5.1 dataExtract.py 提取mySQL数据,用于实际选股。 1.5.2 dataExtract2.py 提取位于data文件夹中的本地数据,主要用于测试 1.5.3 DataIO.py 用于连接mysql数据库接口的文件,主要接受dataExtract的调用 1.5.4 IOFile.py 用于读取与保存本地json数据的文件,主要接受dataExtract2的调用 1.5.5 multimodel.py 多因子函数库,内置函数用于因子合成,以及因子选股 1.5.6 performance.py 与计算因子相关表现的函数库(收益率等),来源于RAWperformance以及后期维护 1.5.7 utils.py 与前期数据处理相关的函数库(收益率等),来源于RAWutils以及后期维护 1.5.8 variable_template.py 变量模板 1.5.9 参考文档(不接受调用) 文档来源于Alphalens的主要核心文档,可从里面提取函数直接使用 - RAWperformance.py - RAWplotting.py - RAWtears.py - RAWutils.py #### 1.6 data 本地维护的数据文件夹,用于测试代码 1.6.1 extract_indicator_stock_data_from_wind.py 从wind提取因子数据以及股票数据的代码 1.6.2 extract_industry_weight_data_from_wind.py 从wind提取行业数据以及行业权重的代码 1.6.3 index_components_000905SH.json 从wind提取的行业数据以及行业权重 1.6.4 stockPrice_000905SH.json 从wind提取的股票数据 1.6.5 从wind提取的因子数据 - indi1.json - indi2.json - indi3.json - indi4.json - indi5.json ### 2. otherFile 其余文件(用于架构搭建的参考) ### 3. 待实现功能.txt 接下来需要修改的功能