trading.ai/README.md
aaron 283901df18 Initial commit: A股量化交易系统
主要功能:
- K线形态策略: 两阳+阴+阳突破形态识别
- 信号时间修复: 使用K线时间而非发送时间
- 换手率约束: 最后阳线换手率不超过40%
- 汇总通知: 钉钉webhook单次发送所有信号
- 数据获取: 支持AKShare数据源
- 舆情分析: 北向资金、热门股票等

技术特性:
- 支持日线/周线/月线多时间周期
- EMA20趋势确认
- 实体比例验证
- 突破价格确认
- 流动性约束检查

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 15:59:48 +08:00

182 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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. 克隆项目
```bash
git clone <your-repo-url>
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.data_fetcher import ADataFetcher
fetcher = ADataFetcher()
# 获取单只股票实时数据
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界面
- [ ] 报警通知系统
## 注意事项
1. 首次使用需要确保网络连接正常adata需要从网络获取数据
2. 请合理使用数据接口,避免频繁请求
3. 舆情数据仅供参考,投资需谨慎
4. 本系统仅供学习和研究使用,不构成投资建议
5. 实盘交易请谨慎,注意风险控制
## 许可证
MIT License
## 贡献
欢迎提交Issue和Pull Request