feat(market): Phase 1 扩展 — 更多 symbol + Bollinger/Vegas + 衍生品信号

- collector.symbols 与 supportedSymbols 加 SOL/BNB/DOGE,env-default 与 README 同步
- entity 追加 TechnicalStructure.Intervals(每周期 Bollinger + Vegas,omitempty 不破坏既有字段)与 DerivativesBundle.Signal
- 新增纯解析 usecase derivatives_signal.go:fundingBias 绝对阈值、oiSignal 用 P20 baseline + 价格方向(OI up + 价格 up/down → long/short_building,funding 不参与方向)、lsrRegime 绝对阈值;signal 数据不足走 warnings 进 DataQuality
- indicator.go 加 sma/stddev/ema/bollinger/vegas + computeIntervalTechnicals;IndicatorComputer 签名收 klines map
- harness 同步:G12 扩入 derivatives_signal.go(含 Makefile G12.5/6 + ADR-0002 适用范围 + project-map / harness-health 更新)
This commit is contained in:
dela
2026-05-24 23:19:57 +08:00
parent 622ff1d317
commit fa769331c2
16 changed files with 912 additions and 66 deletions

View File

@@ -66,12 +66,11 @@ make migrate-up
第一次启动时 DB 是空的,直接调 `/v1/market/context` 会触发回源 Binance。建议先回填
```bash
make backfill ARGS="--symbol BTCUSDT --interval 15m --limit 500"
make backfill ARGS="--symbol BTCUSDT --interval 1h --limit 500"
make backfill ARGS="--symbol BTCUSDT --interval 4h --limit 500"
make backfill ARGS="--symbol BTCUSDT --interval 1d --limit 500"
make backfill ARGS="--symbol BTCUSDT --interval 1w --limit 500"
# ETHUSDT 同上
for s in BTCUSDT ETHUSDT SOLUSDT BNBUSDT DOGEUSDT; do
for i in 15m 1h 4h 1d 1w; do
make backfill ARGS="--symbol $s --interval $i --limit 500"
done
done
```
也可以指定起止时间做大段回填:
@@ -168,8 +167,9 @@ docker compose logs -f postgres
启动后 DB 是空的;调用 `/v1/market/context` 会 fallback 到 Binance带 warnings。要立刻获得满载历史进容器跑 backfill
```bash
docker compose exec app /app/backfill --symbol BTCUSDT --interval 1h --limit 500
docker compose exec app /app/backfill --symbol ETHUSDT --interval 1h --limit 500
for s in BTCUSDT ETHUSDT SOLUSDT BNBUSDT DOGEUSDT; do
docker compose exec app /app/backfill --symbol $s --interval 1h --limit 500
done
# 其它 interval 同理
```
@@ -222,7 +222,7 @@ postgres:
collector:
enabled: true # 设为 false 可只跑只读 API不开 cron
symbols: [BTCUSDT, ETHUSDT]
symbols: [BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, DOGEUSDT]
intervals: [15m, 1h, 4h, 1d, 1w]
default_limit: 500
```