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.
fin_data_unify_plat/AMAZINGDATA_INTEGRATION_TAS...

145 lines
3.4 KiB

# amazingData SDK 集成任务
**项目**: 期货股票数据统一平台 (20260330_kline_system)
**创建时间**: 2026-04-03
**协调者**: coordinator
**优先级**: 🔴 高
---
## 📋 任务概述
将银河证券星耀数智量化平台 SDK (amazingData) 集成到项目中,实现真实的期货/股票数据接入。
---
## 🔐 账号配置信息
| 配置项 | 值 |
|--------|-----|
| 账号 | 11200008169 |
| 密码 | 11200008169@2026 |
| Host | 140.206.44.234 |
| 端口 | 8600 |
| 环境 | production |
**配置文件已更新**:
- `.env` - 环境变量
- `backend/app/config.py` - 应用配置
---
## 📁 SDK 位置
**SDK 目录**: `/app/share_data/xysz/`
**核心文件**:
- `AmazingData/` - SDK 主目录
- `amazing_data_adapter.py` - 数据适配器封装
- `amazing_data_examples.py` - 使用示例
- `tgw-1.0.8.5-py3-none-any.whl` - SDK wheel 包
**参考文档**:
- `AmazingData_SDK 接口调用说明.md`
- `AmazingData 开发手册.md`
- `接口文档.md`
---
## ✅ 集成任务清单
### 1. SDK 安装与导入
- [ ] 安装 SDK: `pip install /app/share_data/xysz/tgw-1.0.8.5-py3-none-any.whl`
- [ ] 复制 adapter 到项目:`backend/app/services/amazing_data_adapter.py`
- [ ] 更新 requirements.txt
### 2. 数据服务层开发
- [ ] 创建 `backend/app/services/amazing_data_service.py`
- [ ] 登录/登出管理(⚠️ 必须调用 logout 避免连接数超限)
- [ ] K 线数据获取(股票/期货)
- [ ] 实时行情订阅
- [ ] 交易日历查询
- [ ] 证券代码列表
### 3. API 接口对接
- [ ] 更新 `backend/app/api/kline.py` - 接入真实数据源
- [ ] 更新 `backend/app/api/realtime.py` - 接入实时行情
- [ ] 新增 `backend/app/api/market.py` - 市场数据接口
### 4. 数据同步任务
- [ ] 创建 `backend/app/tasks/sync_kline_data.py`
- [ ] 定时同步 K 线数据
- [ ] 缓存到 TimescaleDB
- [ ] 错误重试机制
### 5. 前端对接
- [ ] 更新前端 API 调用
- [ ] 测试真实数据显示
### 6. 测试与验证
- [ ] 单元测试
- [ ] 连接测试
- [ ] 数据准确性验证
---
## 🔧 SDK 使用示例
```python
from AmazingData import login, logout, BaseData, MarketData
# 登录
ret = login(
username='11200008169',
password='11200008169@2026',
host='140.206.44.234',
port=8600
)
if ret:
# 获取数据
base = BaseData()
codes = base.get_code_list('EXTRA_FUTURE') # 期货代码列表
# 获取 K 线数据
market = MarketData()
kline = market.get_kline_data(
code_list=['AG2605.SHF'],
period='min5',
start_time=20260326090000,
end_time=20260326150000
)
# ⚠️ 重要:必须登出
logout('11200008169')
```
---
## ⚠️ 注意事项
1. **必须调用 logout()** - 否则会导致 -98 连接数超限错误
2. **连接管理** - 使用连接池或单例模式管理连接
3. **错误处理** - 处理网络异常、登录失败等情况
4. **数据缓存** - 建议缓存到 TimescaleDB 减少 API 调用
5. **限流** - 注意 API 调用频率限制
---
## 📊 验收标准
- [ ] SDK 正常登录/登出
- [ ] K 线数据可正常获取
- [ ] 实时行情可正常订阅
- [ ] 数据存入 TimescaleDB
- [ ] 前端可显示真实数据
- [ ] 单元测试通过率 100%
---
## 📝 完成后的操作
1. 更新此文件,标记完成状态
2. 通知协调者进行验证测试
3. 更新项目文档