# Local Data Service (REST + WebSocket) 一键部署、跨平台的本地行情数据服务。默认抓取 Binance 永续合约 `BTC/USDT:USDT, ETH/USDT:USDT` 的 `1m/5m/15m/1h` K 线,增量写入本地 Parquet 并通过 WebSocket 推送。 ## 快速开始(方式B:已安装 Docker) ```bash cd user_data/Chan/datasvc docker compose up -d ``` - REST: http://localhost:9000/api/candles?symbol=BTC/USDT:USDT&tf=1m - WS: ws://localhost:9000/ws?symbol=BTC/USDT:USDT&tf=1m&since=1690000000000 - Swagger: http://localhost:9000/docs ## 环境变量(docker-compose.yml) - EXCHANGE: 交易所,默认 binance - SYMBOLS: 逗号分隔交易对 - TIMEFRAMES: 逗号分隔周期 - START_DAYS: 首次启动回补最近 N 天 - POLL_FACTOR: 轮询因子,间隔=周期毫秒*factor - DATA_DIR: 容器内数据目录(已映射到 `./data`) ## 数据位置 - 本地缓存:`user_data/Chan/datasvc/data/{timeframe}/{symbol}.parquet` ## 常用命令 ```bash docker compose logs -f docker compose down ``` ## 接口说明 - GET /api/candles - 参数:symbol, tf, start(ms), end(ms) - 返回:[{timestamp, open, high, low, close, volume}] - WS /ws - 参数:symbol, tf, since(ms) - 消息: - snapshot: 初始快照数组 - upsert: 单根K线增量(尾部修正) ## 注意 - 默认未带交易所 API Key,仅公共行情。 - 如需更多交易对/周期,修改 `docker-compose.yml` 后重启。