# 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. 克隆项目 ```bash git clone cd TradingAI ``` ### 2. 创建虚拟环境 ```bash python -m venv venv source venv/bin/activate # Linux/Mac # or venv\Scripts\activate # Windows ``` ### 3. 安装依赖 ```bash pip install -r requirements.txt ``` ### 4. 运行程序 ```bash python main.py ``` ## 配置说明 配置文件位于 `config/config.yaml`,包含以下主要配置: - **trading**: 交易相关配置(交易时间、风险控制等) - **data**: 数据源配置(更新频率、存储格式等) - **strategy**: 策略配置(技术指标参数、选股条件等) - **monitor**: 监控配置(报警阈值等) - **logging**: 日志配置 ## 使用示例 ### 获取实时行情 ```python 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"]) ``` ### 舆情分析 ```python 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") ``` ### 搜索股票 ```python # 搜索包含"平安"的股票 results = fetcher.search_stocks("平安") ``` ### 获取历史数据 ```python # 获取历史日线数据 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` - 退出程序 ## 舆情分析功能 ### 数据来源 - **北向资金**: 沪深股通资金流向数据 - **融资融券**: 两融余额和变化趋势 - **热点股票**: 东方财富、同花顺人气排行 - **龙虎榜**: 每日异动股票上榜数据 - **风险扫描**: 个股风险评估 ### 主要指标 - 资金流入流出情况 - 市场热度排名 - 机构席位动向 - 个股异动原因 ## 开发计划 - [x] 基础数据获取功能 - [x] 舆情数据分析模块 - [ ] 技术指标计算模块 - [ ] 选股策略实现 - [ ] 实时监控功能 - [ ] 回测系统 - [ ] Web界面 - [ ] 报警通知系统 ## Docker部署 项目支持Docker容器化部署,包含Web界面和定时扫描功能: ### 启动服务 ```bash # 启动所有服务 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点执行) ### 查看日志 ```bash # 查看Web服务日志 docker-compose logs -f trading-web # 查看扫描服务日志 docker-compose logs -f trading-market-scanner ``` ## 注意事项 1. 首次使用需要确保网络连接正常,TuShare需要从网络获取数据 2. 请合理使用数据接口,避免频繁请求 3. 本系统仅供学习和研究使用,不构成投资建议 4. 实盘交易请谨慎,注意风险控制 5. 确保配置文件中的TuShare Token和数据库连接信息正确 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request!