You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# Python TQAPI 服务
## 功能说明
Python TQAPI 服务是 AI 期货分析系统的一个组件, 负责与天勤量化( TQSDK) 进行交互, 为系统提供期货市场数据。
## 集成说明
### 自动启动
Python TQAPI 服务已集成到 Node.js 后端服务中,当满足以下条件时会自动启动:
1. 配置文件中 `defaultDataSource` 设置为 `tqsdk`
2. 或配置文件中 `tqsdk.enabled` 设置为 `true`
### 手动启动
如果需要手动启动 Python 服务,可以执行以下命令:
```bash
cd backend/python_service
python main.py
```
## 依赖安装
### Python 依赖
在 `backend/python_service` 目录下执行:
```bash
pip install -r requirements.txt
```
### 依赖包说明
- **tqsdk**:天勤量化 SDK, 用于获取期货市场数据
- **fastapi**:高性能的 Python Web 框架,用于提供 API 接口
- **uvicorn**: ASGI 服务器,用于运行 FastAPI 应用
- **pandas**:数据分析库,用于处理和分析数据
## API 端点
| 端点 | 方法 | 功能 |
|------|------|------|
| `/api/connect` | POST | 连接到天勤量化服务 |
| `/api/contracts` | GET | 获取合约列表 |
| `/api/contract/{symbol}` | GET | 获取单个合约详情 |
| `/api/klines/{symbol}` | GET | 获取K线数据 |
| `/api/tick/{symbol}` | GET | 获取Tick数据 |
| `/health` | GET | 健康检查 |
## 配置说明
### 天勤量化账号配置
在 `config.json` 文件中配置天勤量化账号:
```json
{
"dataSource" : {
"tqsdk" : {
"enabled" : true ,
"username" : "你的天勤账号" ,
"password" : "你的天勤密码"
}
}
}
```
### 服务端口配置
服务默认运行在端口 8000, 可以在 `main.py` 文件中修改:
```python
if __name__ == "__main__" :
uvicorn . run ( app , host = "0.0.0.0" , port = 8000 ) # 修改端口号
```
## 故障排查
### 常见问题
1. **Python 服务启动失败**
- 检查 Python 是否安装
- 检查依赖包是否安装完整
- 检查天勤量化账号是否正确
2. ** 连接天勤服务器失败**
- 检查网络连接
- 检查天勤量化账号密码是否正确
- 检查天勤量化服务是否正常
3. ** 数据获取失败**
- 检查合约代码是否正确
- 检查网络连接
- 检查天勤量化服务状态
### 日志查看
Python 服务的日志会输出到 Node.js 后端服务的控制台中,可以通过查看控制台日志来排查问题。
## 技术实现
- **FastAPI**:提供 RESTful API 接口
- **TqApi**:与天勤量化服务交互
- **异步处理**:提高并发性能
- **错误处理**:确保服务稳定性