项目简介
本项目是一个基于Python的股票推荐与量化分析系统,通过Tushare金融数据接口获取股票数据,结合CAPM Alpha分析和多种技术指标,实现股票筛选、因子计算和回测策略的功能。
【重要声明】:这个版本其实主要是工作之后,吃饱了没事干自己研究的,主要是想要通过比较简单的alpha选股来跑一下策略。如果有看到这篇文章的同学可以下载一下,代码其实很乱,而且这个版本基本上没用上AI vibe coding。
主要功能
1. 数据获取模块 (getData_Store_fun.py)
StockDataProcessor: 核心数据处理器类
company_download(): 下载股票列表数据company_load(): 加载指定行业的股票数据getCompanyList(): 获取股票分类列表getData(): 获取股票行情和技术指标数据- 批量数据获取功能,支持分批处理大量股票数据
2. Alpha分析模块
analysis_CAPM_alphaGet_fun.py
calculate_industry_alpha(): 计算指定行业的Alpha值batch_calculate_alpha(): 批量计算多个行业的Alphaget_top_stocks_by_alpha(): 根据Alpha值获取Top股票prepareData_test(): 准备测试数据
analysis_CAPM_alphaSort_fun.py
calculate_alpha(): 计算股票的Alpha值batch_calculate_alpha(): 批量计算Alphaget_top_stocks_by_alpha(): 获取Alpha排名靠前的股票get_recent_30_days(): 获取最近30个交易日数据
3. 技术因子计算模块 (data_initial_transform_tech_fun.py)
TechFactorCalculator: 技术因子计算器,支持:
calculate_MACD(): MACD指数平滑移动平均线calculate_ROCMA(): 变动率移动平均线calculate_VR(): 成交量变异率calculate_minReturn_enhanced(): 最小收益率增强计算- 行业数据处理与合并
4. 策略回测模块 (strategy_test_simple.py)
- MultiStockBuyAndHold: 多股票买入持有策略
- DynamicRebalancingStrategy: 动态再平衡策略
- 组合收益对比分析
- 最大回撤计算
安装依赖
bash 代码:pip install tushare pandas numpy backtrader matplotlib使用方法
1. 配置Tushare Token
在使用前需要设置Tushare API Token:
python 代码:import tushare as ts
ts.set_token('your_token_here')2. 数据获取
python 代码:from getData_Store_fun import StockDataProcessor
processor = StockDataProcessor()
# 获取银行行业股票数据
company_load('银行', save_path)3. Alpha分析
python 代码:from analysis_CAPM_alphaGet_fun import batch_calculate_alpha
alpha_data = batch_calculate_alpha(
['银行', '多元金融', '互联网'],
TUSHARE_TOKEN,
save_path0,
save_path2
)4. 技术因子计算
python 代码:from data_initial_transform_tech_fun import TechFactorCalculator
calculator = TechFactorCalculator(base_save_path)
calculator.process_multiple_industries(['银行', '证券'])5. 策略回测
python 代码:from strategy_test_simple import Testmain
Testmain(df0, dict0, initial_principal=20000)项目结构
text 代码:├── original_data/ # 原始数据存储
├── original_data_useful/ # 清洗后的有效数据
├── analysis_data/ # 分析结果数据
├── python_temp_place/ # Jupyter笔记本存放
├── python_workflow_stageOne/# 核心工作流代码
│ ├── getData_Store_fun.py # 数据获取模块
│ ├── analysis_CAPM_alphaGet_fun.py # Alpha计算模块
│ ├── analysis_CAPM_alphaSort_fun.py # Alpha排序模块
│ ├── data_initial_transform_tech_fun.py # 技术因子模块
│ └── strategy_test_simple.py # 策略回测模块
└── LICENSE数据说明
- 原始数据: 存放于
original_data/目录 - 分析结果: 输出至
analysis_data/目录 - 支持的行业分类:银行、多元金融、互联网等