3.4 KiB
3.4 KiB
A股量化交易策略系统
项目简介
本项目是一个模块化的A股量化交易策略执行系统,支持定时执行多种策略任务,主要包括:
- 📊 数据获取: 基于TuShare的股票数据获取
- 🎯 股票池管理: 多种股票筛选规则(热榜、龙头股等)
- 📈 策略分析: K线形态识别等技术分析策略
- ⏰ 任务调度: 灵活的定时任务执行
- 📱 结果通知: 多种通知方式支持
快速开始
启动策略测试系统
python main.py
基本命令
# 分析单只股票
scan 000001.SZ
# 扫描热门股票(默认20只)
market 30
# 查看可用股票池规则
pools
# 执行策略任务
task tushare_hot 15
# 查看定时任务示例
schedule
# 显示帮助
help
# 退出程序
quit
系统架构
数据层: TushareFetcher + StockPoolManager
策略层: BaseStrategy + KLinePatternStrategy
执行层: TaskScheduler + StrategyExecutor
通知层: NotificationManager
核心组件
- TushareFetcher: TuShare API数据获取器
- StockPoolManager: 股票池管理器,支持多种筛选规则
- KLinePatternStrategy: K线形态识别策略
- StrategyExecutor: 策略执行协调器
- TaskScheduler: 定时任务调度器
股票池规则
tushare_hot: 同花顺热榜combined_hot: 合并热门(同花顺+东财)leading_stocks: 龙头牛股- 支持自定义股票列表
策略功能
K线形态策略
- 识别"两阳线+阴线+阳线"突破形态
- 创新高回踩确认机制
- 多时间周期分析支持
- 回踩监控功能
配置文件
主要配置文件位于 config/config.yaml:
# TuShare配置
tushare:
token: "your_token_here"
# 策略配置
strategy:
kline_pattern:
min_entity_ratio: 0.55
final_yang_min_ratio: 0.40
max_turnover_ratio: 40.0
timeframes: ["daily"]
# 通知配置
notification:
dingtalk:
enabled: true
webhook_url: "your_webhook_url"
定时任务示例
查看 examples/ 目录下的配置示例:
examples/new_architecture_example.py: 完整架构演示examples/task_config_examples.py: 常见任务配置
使用示例
1. 分析单只股票
> scan 000001.SZ
🔍 分析股票: 000001.SZ
----------------------------------------
📊 DAILY: 发现 1 个信号
1. 2024-01-15 | 两阳+阴+阳突破 | 价格: 12.50元
📈 总计: 1 个信号
2. 扫描市场热门股票
> market 20
🌍 扫描市场热门股票 (前20只)
--------------------------------------------------
📊 扫描结果:
股票池: 同花顺热榜
总扫描: 20 只
有信号: 3 只
信号数: 5 个
耗时: 15.23 秒
3. 执行策略任务
> task leading_stocks 10
⚡ 执行策略任务
股票池规则: leading_stocks
最大股票数: 10
----------------------------------------
✅ 任务完成:
任务ID: manual_leading_stocks_10
成功: 是
耗时: 8.45 秒
信号数: 2 个
开发指南
添加新策略
- 继承
BaseStrategy基类 - 实现
analyze_stock()方法 - 注册到
StrategyExecutor
添加新股票池规则
- 继承
StockPoolRule基类 - 实现
get_stocks()方法 - 注册到
StockPoolManager
注意事项
- 确保配置文件中的TuShare token有效
- 策略分析需要足够的历史数据
- 定时任务需要稳定的网络连接
- 建议在交易时间外进行大量数据扫描
许可证
MIT License