Skip to content

OddMiss/Stock-Machine-Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stock-Machine-Learning

中文 | English

项目简介

本仓库聚焦股票量价因子与机器学习建模,包含 MLP/GBDT/GRU/AGRU 等模型训练、集成与回测的完整实验记录。代码以沪深 300/中证 500/中证 1000 为主要标的池,支持滚动训练、分层/多空回测、行业分布分析,并输出净值曲线与持仓结果。

主要内容

  • 模型实验:MLP、GBDT、GRU、AGRU 以及模型集成(IC/ICIR 权重)
  • 回测模块:分层回测、多空组合、周频调仓与回撤分析
  • 滚动训练:HS300 滚动训练与回测流程
  • 行业分析:持仓行业分布统计与可视化
  • 结果输出:净值图、回测图、持仓记录

目录结构

  • 20231025_*.ipynb:模型训练、集成与回测的主要实验 Notebook
  • HS300_Rolling/:滚动训练与回测脚本/Notebook
  • HS300_Single/:单期因子分析与教程
  • HS300_Industry/:行业分布统计与可视化
  • backtest/:通用回测脚本(简单/周频)
  • images/:结果图与净值曲线
  • positions/:生成的持仓记录
  • materials/:资料与笔记

数据与环境

本仓库不包含原始数据。脚本中常见的数据路径为本地路径(如 D:\AI_data_analysis\CY\ 或脚本所在目录),使用前需调整各脚本开头的 path 配置。

常见数据依赖示例:

  • price_return_backtest.csv
  • HS_300_backtest.csv / CS_500_backtest.csv / CS_1000_backtest.csv
  • SWClass_all.csv / SwClassCode_2021.xls
  • 价格/因子数据需包含如 OPEN_processedHIGH_processedVWAP_processedLabel_processed 等字段

建议环境依赖(按脚本与 Notebook 实际使用):

  • Python 3.x
  • pandas, numpy, scikit-learn
  • tensorflow, xgboost
  • matplotlib, plotly
  • tqdm, psutil

使用方式

  1. Notebook 实验
    使用 Jupyter 打开并按顺序运行,例如:

    • 20231025_MLP.ipynb
    • 20231025_GBDT.ipynb
    • 20231025_GRU_AGRU.ipynb
    • 20231025_Ensemble*.ipynb
  2. 滚动训练与回测

    • 脚本:HS300_Rolling/HS300_Rolling.py
    • Notebook:HS300_Rolling/HS300_Rolling_Backtest.ipynb
  3. 通用回测

    • backtest/Backtest_Simple.py
    • backtest/Backtest_Weekly.py
  4. 行业分布分析

    • HS300_Industry/Position_Industry_*.py
    • HS300_Industry/Position_Industry*.ipynb

输出结果

  • 净值曲线与指标图:images/
  • 持仓记录:positions/

示例图:

Ensemble Equity Industry Distribution

免责声明

本仓库仅用于研究与学习,不构成任何投资建议或交易信号。

About

Stock factor research and machine learning modeling / 股票量价因子与机器学习建模

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors