5.6 KiB
5.6 KiB
A股量化交易系统
一个基于Python的A股市场监控和选股量化程序,使用TuShare数据源。
功能特性
- 📈 实时数据获取: 使用TuShare获取A股实时行情数据
- 🔍 舆情分析: 北向资金、融资融券、热点股票、龙虎榜数据分析
- 📊 股票筛选: 基于技术指标和基本面的智能选股
- 💰 市场监控: 实时监控价格变动、成交量异常、资金流向
- 💹 策略回测: 历史数据验证交易策略效果
- ⚙️ 灵活配置: 支持通过配置文件自定义参数
项目结构
TradingAI/
├── main.py # 程序入口
├── requirements.txt # 依赖包列表
├── config/
│ └── config.yaml # 配置文件
├── src/ # 源代码
│ ├── data/ # 数据获取模块
│ │ ├── __init__.py
│ │ ├── tushare_fetcher.py # A股行情数据获取
│ │ ├── binance_fetcher.py # 加密货币数据获取
│ │ └── stock_pool_manager.py # 股票池管理
│ ├── strategy/ # 策略模块
│ │ ├── kline_pattern_strategy.py # K线形态策略
│ │ └── crypto_kline_pattern_strategy.py # 加密货币K线策略
│ ├── database/ # 数据库模块
│ │ └── mysql_database_manager.py
│ ├── execution/ # 执行模块
│ │ ├── strategy_executor.py # 策略执行器
│ │ └── task_scheduler.py # 任务调度器
│ └── utils/ # 工具模块
│ ├── __init__.py
│ ├── config_loader.py
│ └── notification.py
├── logs/ # 日志文件
└── data/ # 数据文件
环境要求
- Python 3.8+
- 依赖包见 requirements.txt
快速开始
1. 克隆项目
git clone <your-repo-url>
cd TradingAI
2. 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows
3. 安装依赖
pip install -r requirements.txt
4. 运行程序
python main.py
配置说明
配置文件位于 config/config.yaml,包含以下主要配置:
- trading: 交易相关配置(交易时间、风险控制等)
- data: 数据源配置(更新频率、存储格式等)
- strategy: 策略配置(技术指标参数、选股条件等)
- monitor: 监控配置(报警阈值等)
- logging: 日志配置
使用示例
获取实时行情
from src.data.tushare_fetcher import TushareFetcher
fetcher = TushareFetcher()
# 获取单只股票实时数据
data = fetcher.get_realtime_data("000001.SZ")
# 获取多只股票实时数据
data = fetcher.get_realtime_data(["000001.SZ", "000002.SZ"])
舆情分析
from src.data.sentiment_fetcher import SentimentFetcher
sentiment_fetcher = SentimentFetcher()
# 获取北向资金流向
north_flow = sentiment_fetcher.get_north_flow_current()
# 获取热门股票排行
hot_stocks = sentiment_fetcher.get_popular_stocks_east_100()
# 获取龙虎榜数据
dragon_tiger = sentiment_fetcher.get_dragon_tiger_list_daily()
# 分析单只股票舆情
analysis = sentiment_fetcher.analyze_stock_sentiment("000001.SZ")
搜索股票
# 搜索包含"平安"的股票
results = fetcher.search_stocks("平安")
获取历史数据
# 获取历史日线数据
hist_data = fetcher.get_historical_data(
stock_code="000001.SZ",
start_date="2023-01-01",
end_date="2023-12-31"
)
命令行界面
程序启动后提供交互式命令行界面:
help- 显示帮助信息status- 显示系统状态market- 显示市场概况search <关键词>- 搜索股票sentiment- 显示市场舆情综合概览hotstock- 显示热门股票排行northflow- 显示北向资金流向dragon- 显示龙虎榜数据analyze <股票代码>- 分析单只股票舆情quit- 退出程序
舆情分析功能
数据来源
- 北向资金: 沪深股通资金流向数据
- 融资融券: 两融余额和变化趋势
- 热点股票: 东方财富、同花顺人气排行
- 龙虎榜: 每日异动股票上榜数据
- 风险扫描: 个股风险评估
主要指标
- 资金流入流出情况
- 市场热度排名
- 机构席位动向
- 个股异动原因
开发计划
- 基础数据获取功能
- 舆情数据分析模块
- 技术指标计算模块
- 选股策略实现
- 实时监控功能
- 回测系统
- Web界面
- 报警通知系统
Docker部署
项目支持Docker容器化部署,包含Web界面和定时扫描功能:
启动服务
# 启动所有服务
docker-compose up -d
# 仅启动Web服务
docker-compose up -d trading-web
# 仅启动市场扫描服务
docker-compose up -d trading-market-scanner
服务说明
- trading-web: Web界面服务 (端口8080)
- trading-market-scanner: 定时市场扫描服务 (每晚8点执行)
查看日志
# 查看Web服务日志
docker-compose logs -f trading-web
# 查看扫描服务日志
docker-compose logs -f trading-market-scanner
注意事项
- 首次使用需要确保网络连接正常,TuShare需要从网络获取数据
- 请合理使用数据接口,避免频繁请求
- 本系统仅供学习和研究使用,不构成投资建议
- 实盘交易请谨慎,注意风险控制
- 确保配置文件中的TuShare Token和数据库连接信息正确
许可证
MIT License
贡献
欢迎提交Issue和Pull Request!