# 期货统一数据平台 期货行情统一数据平台,对接多个数据源(Tushare/CTP等),提供统一的数据出口。 ## 功能 - **数据源管理**: 可配置启用/禁用的数据源,优先级管理 - **历史K线**: 日K/周K/60m/30m/15m/5m 数据存储与查询 - **合约管理**: 合约信息同步与查询 - **管理后台**: 数据源监控、接口测试、K线展示 - **RESTful API**: 统一的数据接口供其他系统调用 ## 快速开始 ### 1. 配置环境变量 ```bash cp .env.example .env # 编辑 .env,填入你的 Tushare Token ``` ### 2. Docker 启动 ```bash docker compose up -d --build ``` 启动后访问: - 管理后台: http://localhost:3000 - 后端API: http://localhost:8000 - API文档: http://localhost:8000/docs ### 3. 初始配置 1. 打开 http://localhost:3000 2. 进入"数据源监控"页面 3. 点击 tushare 行的"配置"按钮,填入你的 Tushare Token 4. 点击"测试连接"确认 5. 开启"启用"开关 ## 项目结构 ``` ├── backend/ # 后端 (FastAPI + SQLAlchemy) │ ├── app/ │ │ ├── main.py # 入口 & API路由 │ │ ├── config.py # 配置 │ │ ├── database.py # 数据库连接 │ │ ├── models/ # 数据库模型 │ │ ├── schemas/ # Pydantic 模型 │ │ ├── services/ # 业务逻辑 │ │ │ ├── datasource/ # 数据源适配器 │ │ │ ├── kline_service.py │ │ │ └── contract_service.py │ │ └── api/ │ └── requirements.txt ├── frontend/ # 前端 (Vue3 + Element Plus) │ ├── src/ │ │ ├── views/ # 页面 │ │ └── api/ # API调用 │ └── package.json ├── docker-compose.yml └── .env ``` ## API 接口 ### 合约 - `GET /api/v1/contracts` - 合约列表 - `GET /api/v1/contracts/{symbol}` - 合约详情 - `POST /api/v1/contracts/sync` - 同步合约 ### K线 - `GET /api/v1/kline?symbol=rb2401&period=daily&limit=100` - 查询K线 - `POST /api/v1/kline/sync` - 同步K线数据 ### 数据源 - `GET /api/v1/datasources` - 数据源列表 - `PUT /api/v1/datasources/{name}` - 更新配置 - `POST /api/v1/datasources/{name}/test` - 测试连接 ## 技术栈 | 层次 | 技术 | |------|------| | 后端 | Python / FastAPI / SQLAlchemy | | 数据库 | PostgreSQL + TimescaleDB | | 缓存 | Redis | | 前端 | Vue3 / Element Plus / ECharts | | 部署 | Docker Compose |