amazing-data-service统一数据服务平台,2026年4月11日创立
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.
 
 
 
 
 
 
Lxy 4db22a6f77
feat: 一键检测所有数据的缺失情况-支持指定任务ID参数;增加websocket传输实时进度
1 month ago
backend feat: 一键检测所有数据的缺失情况-支持指定任务ID参数;增加websocket传输实时进度 1 month ago
database feat: 增加初始代码;目前已正常连接sdk,可获取各周期股票数据 2 months ago
docker feat: 增加初始代码;目前已正常连接sdk,可获取各周期股票数据 2 months ago
docs fix: 增加导入模块 2 months ago
frontend feat: 一键检测所有数据的缺失情况-支持指定任务ID参数;增加websocket传输实时进度 1 month ago
.gitignore feat: 增加初始代码;目前已正常连接sdk,可获取各周期股票数据 2 months ago
PROJECT_DESIGN.md feat: 增加初始代码;目前已正常连接sdk,可获取各周期股票数据 2 months ago
README.md feat: 增加初始代码;目前已正常连接sdk,可获取各周期股票数据 2 months ago

README.md

This file contains ambiguous Unicode characters!

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.

AmazingData 金融数据服务平台

基于银河证券星耀数智量化平台SDK构建的金融数据服务系统提供历史数据缓存、实时数据订阅、批量数据管理等功能。

功能特性

  • 完整SDK接口封装 - 封装AmazingData所有接口
  • 智能数据缓存 - 优先本地缓存缺失自动从SDK补全
  • 实时数据订阅 - WebSocket实时推送股票/期货行情
  • 缺失数据检测 - 自动检测并提示缺失数据
  • 批量缓存管理 - 一键检测、一键缓存
  • 可视化K线图 - ECharts展示历史K线数据
  • 完整测试中心 - 所有接口一键测试
  • 配置管理 - SDK账号配置可视化维护

技术栈

层级 技术
后端 Python 3.10+, FastAPI, SQLAlchemy 2.0
数据库 PostgreSQL 15+
缓存 Redis 7+
前端 Vue3, TypeScript, Element Plus
图表 ECharts 5+
部署 Docker, Docker Compose

快速开始

1. 克隆项目

git clone <repository-url>
cd amazing-data-service

2. 安装AmazingData SDK

# 从银河证券获取 SDK wheel 文件
pip install AmazingData-1.0.24-py3-none-any.whl

3. 使用Docker启动

docker-compose up -d

服务将启动在:

4. 初始化数据库

# 数据库会自动执行 init.sql 初始化脚本
# 默认管理员账号: admin / admin123

5. 配置SDK连接

  1. 登录系统admin / admin123
  2. 进入"配置管理"页面
  3. 添加AmazingData SDK连接信息
  4. 点击"测试连接"验证

项目结构

amazing-data-service/
├── backend/           # FastAPI后端
├── frontend/          # Vue3前端
├── database/          # 数据库脚本
├── docker/            # Docker配置
├── docs/              # 文档
└── README.md

API接口文档

启动服务后访问:http://localhost:8000/docs

主要接口分类

  • /api/v1/auth/* - 认证接口
  • /api/v1/configs/* - 配置管理
  • /api/v1/stock/* - 股票数据
  • /api/v1/future/* - 期货数据
  • /api/v1/realtime/* - 实时数据
  • /api/v1/finance/* - 财务数据
  • /api/v1/cache/* - 缓存管理
  • /api/v1/test/* - 测试中心

核心功能说明

1. 数据缓存策略

系统采用"本地优先"策略:

  1. 查询请求首先检查本地数据库
  2. 检查数据完整性(与交易日历对比)
  3. 缺失数据自动从AmazingData SDK获取
  4. 新数据写入数据库时自动去重

2. 缺失数据检测

检测逻辑:

  • 按交易日查询数据条数
  • 与最近交易日数据对比
  • 偏差超过10%标记为缺失

3. 实时数据订阅

  • WebSocket连接ws://localhost:8000/api/v1/realtime/stream
  • 支持股票、期货、指数快照订阅
  • 数据自动保存7天后清理

4. 测试中心

提供所有接口的自动化测试:

  • 单个接口测试(参数调试)
  • 批量接口测试(回归测试)
  • 测试历史记录

数据库表结构

核心表

表名 说明
users 系统用户
sdk_configs SDK配置
stock_kline_daily 股票日线数据
stock_kline_min 股票分钟数据
future_kline_daily 期货日线数据
future_kline_min 期货分钟数据
realtime_snapshot 实时快照数据
cache_tasks 缓存任务
api_test_logs API测试日志

完整表结构见:database/init.sql

开发指南

后端开发

cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload

前端开发

cd frontend
npm install
npm run dev

配置说明

环境变量

变量名 说明 默认值
DATABASE_URL 数据库连接URL postgresql://postgres:postgres@localhost:5432/amazing_data
REDIS_URL Redis连接URL redis://localhost:6379/0
SECRET_KEY JWT密钥 your-secret-key
ACCESS_TOKEN_EXPIRE_HOURS Token过期时间 24

常见问题

Q: 如何添加新的SDK配置

A: 登录系统后,进入"配置管理"页面,点击"添加配置"填写AmazingData账号信息。

Q: 如何批量缓存历史数据?

A: 进入"缓存管理"页面,选择时间区间,点击"检测缺失数据",然后点击"一键缓存"。

Q: 实时数据如何订阅?

A: 在数据查询页面,输入代码后勾选"实时订阅"系统会自动建立WebSocket连接。

Q: 数据去重是如何工作的?

A: 系统比较open/high/low/close/volume五个核心字段如果差异小于0.0001则视为相同数据,跳过插入。

许可证

MIT License

联系支持

如有问题请联系项目维护者或提交Issue。


注意使用本系统需要AmazingData SDK授权请联系银河证券开通权限。