Multi-module Spring Boot quant service:
quant-model: entities/dto/enums/constantsquant-persistence: mapper layerquant-market: market data sync servicesquant-factor: factor layer (scaffold)quant-backtest: backtest layer (scaffold)quant-app: Spring Boot entry module
Requirements:
- JDK 21
- Maven 3.9+
- Podman + podman-compose provider
Build:
mvn clean packageRun app only:
mvn -pl quant-app -am spring-boot:runmvn clean package
podman compose -f compose.yml up -d --buildStop:
podman compose -f compose.yml downRemote debug (JDWP, port 5005):
JAVA_TOOL_OPTIONS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005' \
podman compose -f compose.yml up -d --build appThen attach IDE remote debugger to localhost:5005.
AKShare HTTP (AKTools) service will be exposed on http://localhost:18080.
Quick check:
curl 'http://localhost:18080/api/public/stock_zh_a_hist?symbol=600519&period=daily&start_date=20260101&end_date=20260210&adjust='Sync all A-share stock codes from xueqiu (paged + throttled + retried):
curl -X POST 'http://localhost:8080/api/sync/stock-codes'Proxy AKShare daily quotes via this service:
curl 'http://localhost:8080/api/akshare/stock-zh-a-hist?symbol=600519&startDate=20260101&endDate=20260210&adjust='Sync config keys:
quant.sync.stock-code.page-sizequant.sync.stock-code.throttle-msquant.sync.stock-code.max-retriesquant.sync.stock-code.retry-backoff-msquant.sync.stock-code.max-pages