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:
GET /api/stocks/{stockCode}/priceGET /api/stocks/{stockCode}/prices?startDate=yyyyMMdd&endDate=yyyyMMdd
예정 API:
GET /api/stocks/{stockCode}/returnsPOST /api/backtests
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]./gradlew bootRun./gradlew test브라우저에서 접속
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에 병합
- 현재 모의투자 환경(Virtual Trading) 기준으로 개발 중
- KIS Open API 공식 문서