| config | ||
| data | ||
| src | ||
| web | ||
| .gitignore | ||
| generate_test_data.py | ||
| main.py | ||
| quick_test.py | ||
| README_DATABASE.md | ||
| README.md | ||
| requirements.txt | ||
| start_web.py | ||
| STRATEGY_USAGE.md | ||
| test_all_a_shares.py | ||
| test_cache_optimization.py | ||
| test_database_integration.py | ||
| test_dingtalk.py | ||
| test_pullback_feature.py | ||
| test_sentiment.py | ||
| test_simple_integration.py | ||
| test_strategy.py | ||
A股量化交易系统
一个基于Python的A股市场监控和选股量化程序,使用adata数据源。
功能特性
- 📈 实时数据获取: 使用adata获取A股实时行情数据
- 🔍 舆情分析: 北向资金、融资融券、热点股票、龙虎榜数据分析
- 📊 股票筛选: 基于技术指标和基本面的智能选股
- 💰 市场监控: 实时监控价格变动、成交量异常、资金流向
- 💹 策略回测: 历史数据验证交易策略效果
- ⚙️ 灵活配置: 支持通过配置文件自定义参数
项目结构
TradingAI/
├── main.py # 程序入口
├── requirements.txt # 依赖包列表
├── config/
│ └── config.yaml # 配置文件
├── src/ # 源代码
│ ├── data/ # 数据获取模块
│ │ ├── __init__.py
│ │ ├── data_fetcher.py # 行情数据获取
│ │ └── sentiment_fetcher.py # 舆情数据获取
│ ├── strategy/ # 策略模块
│ ├── monitor/ # 监控模块
│ └── utils/ # 工具模块
│ ├── __init__.py
│ └── config_loader.py
├── tests/ # 测试文件
├── 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.data_fetcher import ADataFetcher
fetcher = ADataFetcher()
# 获取单只股票实时数据
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界面
- 报警通知系统
注意事项
- 首次使用需要确保网络连接正常,adata需要从网络获取数据
- 请合理使用数据接口,避免频繁请求
- 舆情数据仅供参考,投资需谨慎
- 本系统仅供学习和研究使用,不构成投资建议
- 实盘交易请谨慎,注意风险控制
许可证
MIT License
贡献
欢迎提交Issue和Pull Request!