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