主要功能: - K线形态策略: 两阳+阴+阳突破形态识别 - 信号时间修复: 使用K线时间而非发送时间 - 换手率约束: 最后阳线换手率不超过40% - 汇总通知: 钉钉webhook单次发送所有信号 - 数据获取: 支持AKShare数据源 - 舆情分析: 北向资金、热门股票等 技术特性: - 支持日线/周线/月线多时间周期 - EMA20趋势确认 - 实体比例验证 - 突破价格确认 - 流动性约束检查 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
182 lines
4.6 KiB
Markdown
182 lines
4.6 KiB
Markdown
# 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! |