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.

109 lines
2.6 KiB

# 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**:与天勤量化服务交互
- **异步处理**:提高并发性能
- **错误处理**:确保服务稳定性