Skip to content

Latest commit

 

History

History
101 lines (72 loc) · 2.35 KB

File metadata and controls

101 lines (72 loc) · 2.35 KB

Quant Trade Terminal Backend

KIS(한국투자증권) Open API를 우선 활용해 국내주식 시세 데이터를 조회하고, 이후 수익률 계산, 백테스팅, AI 전략 감사 리포트로 확장하기 위한 백엔드 프로젝트

현재는 자동매매보다 전략 검증에 필요한 가격 데이터 기반을 안정적으로 만드는 데 집중한다.

기술 스택

  • Java 21
  • Spring Boot 4.x
  • Spring Web MVC
  • Spring WebFlux WebClient
  • PostgreSQL
  • springdoc-openapi (Swagger UI)

주요 기능

  • KIS OAuth 토큰 발급 및 캐싱
  • 국내주식 현재가 조회 API
  • 국내주식 일봉 가격 조회 API
  • 수익률 계산 API
  • 백테스팅 기초 엔진
  • AI 전략 감사 리포트
  • 프론트엔드 대시보드 연동

API

현재 제공 API:

  • GET /api/stocks/{stockCode}/price
  • GET /api/stocks/{stockCode}/prices?startDate=yyyyMMdd&endDate=yyyyMMdd

예정 API:

  • GET /api/stocks/{stockCode}/returns
  • POST /api/backtests

실행 방법

1. 환경 설정

src/main/resources/application-secret.yml 파일을 아래 형식으로 생성 (git에 포함되지 않음)

kis:
  appkey: [발급받은 appkey]
  appsecret: [발급받은 appsecret]
  base-url: https://openapivts.koreainvestment.com:29443

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/[db명]
    username: [username]
    password: [password]

2. 실행

./gradlew bootRun

3. 테스트

./gradlew test

4. API 문서 확인

브라우저에서 접속

http://localhost:8080/swagger-ui.html

프로젝트 구조

src/main/java/.../
├── client/          # KIS Open API 연동 클라이언트
├── config/          # WebClient, OpenAPI 설정
├── controller/      # REST API 엔드포인트
├── dto/
│   ├── kis/         # KIS API 응답 DTO
│   └── stock/       # 서비스 API 응답 DTO
├── property/        # 설정 프로퍼티
└── service/         # 비즈니스 흐름과 응답 변환

브랜치 전략

  • main: 안정 버전
  • feat/*: 기능 단위 개발 브랜치
  • refactor/*: 구조 개선 브랜치
  • PR을 통해 main에 병합

참고