Skip to content

ADDICTOR/StockTraining

Repository files navigation

股票投资组合策略回测

这个项目用于验证以下投资组合策略的有效性:

  • 35% 中证500
  • 15% 标普500
  • 10% 红利
  • 10% 黄金
  • 15% 消费
  • 15% 科创50

同时,项目还会测试当资产配置偏离目标20%时进行再平衡是否能提高收益。

环境要求

  • Python 3.6+
  • 依赖包:akshare, pandas, numpy, matplotlib

安装

  1. 创建虚拟环境:
python3 -m venv venv
  1. 激活虚拟环境:
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
  1. 安装依赖:
pip install akshare pandas numpy matplotlib

使用方法

运行主程序:

python stock_strategy.py

程序会自动:

  1. 尝试获取真实的历史数据(目前只有黄金数据可靠获取)
  2. 对于无法获取的数据,使用模拟数据进行补充(仅用于演示策略)
  3. 运行不再平衡的回测
  4. 运行20%阈值再平衡的回测
  5. 比较两种策略的结果
  6. 生成结果图表保存在results目录下

数据说明

由于akshare接口的限制或变更,目前只能可靠获取黄金数据。为了演示策略的有效性,程序会:

  1. 获取真实的黄金价格数据
  2. 为其他资产生成模拟数据(基于随机游走模型,但添加了一定的趋势)
  3. 自动调整资产配置比例,确保总权重为100%

注意:模拟数据仅用于演示策略,不代表真实市场表现。在实际投资中,应使用真实历史数据进行回测。

结果解释

程序会输出以下指标的比较:

  • 年化收益率
  • 最大回撤
  • 夏普比率
  • 再平衡次数

同时会计算再平衡策略相对于不再平衡策略的改进百分比。

注意事项

  • 由于数据获取限制,大部分指数使用模拟数据代替
  • 程序运行时间可能较长,取决于网络状况和数据量
  • 结果仅供参考,不构成投资建议

A股量化选股策略集合

本项目还实现了多种A股量化选股策略,包括价值型、成长型、质量型、动量型和多因子选股策略,使用akshare获取实际数据进行选股。

选股策略文件结构

  • value_strategy_basic.py: 双低双高价值选股策略(低PE、低PB、高ROE、高股息)
  • growth_strategy.py: 成长型选股策略(高净利润增长率、高营收增长率、高ROE增长率、高EPS增长率)
  • quality_strategy.py: 质量型选股策略(高ROE、高毛利率、低负债率、高现金流质量)
  • momentum_strategy.py: 动量型选股策略(基于过去3个月、6个月和12个月的价格动量)
  • multi_factor_strategy.py: 多因子选股策略(综合价值、成长、质量和动量因子)
  • run_all_strategies.py: 运行所有策略并比较结果

额外依赖

选股策略部分需要额外安装:

pip install scikit-learn

选股策略使用方法

运行单个策略

每个策略文件都可以单独运行,例如:

python value_strategy_basic.py  # 运行双低双高价值选股策略
python growth_strategy.py       # 运行成长型选股策略
python quality_strategy.py      # 运行质量型选股策略
python momentum_strategy.py     # 运行动量型选股策略
python multi_factor_strategy.py # 运行多因子选股策略

运行所有策略并比较结果

python run_all_strategies.py

这将运行所有策略,并分析各策略之间的重叠股票,找出被多个策略共同选中的股票。

策略说明

1. 双低双高价值选股策略

选股条件:

  • PE < 15
  • PB < 1.5
  • ROE > 10%
  • 股息率 > 2%

2. 成长型选股策略

选股条件:

  • 净利润增长率 > 20%
  • 营收增长率 > 15%
  • ROE增长率 > 5%
  • EPS增长率 > 15%

3. 质量型选股策略

选股条件:

  • ROE > 15%
  • 毛利率 > 30%
  • 资产负债率 < 50%
  • 现金流质量(经营现金流/净利润)> 1.0

4. 动量型选股策略

基于过去不同时间段的价格动量,权重分配:

  • 3个月动量权重 = 0.5
  • 6个月动量权重 = 0.3
  • 12个月动量权重 = 0.2

5. 多因子选股策略

综合考虑价值、成长、质量和动量因子,权重均为0.25。

选股结果输出

所有策略的选股结果将保存在results目录下,包括:

  • 各个策略的选股结果CSV文件
  • 所有策略的综合结果CSV文件

选股策略注意事项

  • 由于akshare接口限制,获取数据可能需要较长时间
  • 动量策略和多因子策略中的动量计算为了演示只处理了部分股票
  • 选股结果仅供参考,不构成投资建议
  • 实际投资决策应结合更多因素综合考虑

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages