
이 글은 알파코에서 진행되는 [신한투자증권] 프로디지털아카데미 과정 중, 김송아 강사님과 함께하는 '파이널 프로젝트'를 기반으로 작성되었습니다
본격적인 백엔드 개발에 들어갔다!
필요한 지표값 정리
우리 프로젝트에서 다루게 될 주요 지표값들을 정리했다.
데이터는 한국투자증권 API를 활용하여 app key, app secret, token을 통해 가져왔다.
1분마다 필요한 데이터
- 현재가
- 누적 거래량
- 전날 종가 거래량 대비 백분율(%)
- 시가 대비 변동액(원)
- 시가 대비 변동액(%)
- 52주 최고가 대비 변동액(%)
- 52주 최저가 대비 변동액(%)
이 중에서 직접 계산이 필요한 항목(밑줄)을 제외하면, 현재가와 누적 거래량만 API로 주기적으로 가져오면 된다.
👉 사용 API:
/uapi/domestic-stock/v1/quotations/inquire-time-itemchartprice
KIS Developers
한국투자증권 Open API 포탈
apiportal.koreainvestment.com
응답 예시
{
"output1": {
"prdy_vrss": "0",
"prdy_vrss_sign": "3",
"prdy_ctrt": "0.00",
"stck_prdy_clpr": "83300",
"acml_vol": "0",
"acml_tr_pbmn": "0",
"hts_kor_isnm": "삼성전자",
"stck_prpr": "83300"
},
"output2": [
{
"stck_bsop_date": "20250926",
"stck_cntg_hour": "153000",
"stck_prpr": "83300",
"stck_oprc": "83300",
"stck_hgpr": "83300",
"stck_lwpr": "83300",
"cntg_vol": "1759055",
"acml_tr_pbmn": "1923337972550"
},
...
],
"rt_cd": "0",
"msg_cd": "MCA00000",
"msg1": "정상처리 되었습니다."
}
- output1.acml_vol → 누적 거래량
- output1.stck_prpr → 현재가
1일마다 가져올 데이터 (아침에 한 번 update)
- 전날 종가
- 전날 종가 거래량
- 오늘 시가
- 52주 최저가
- 52주 최고가
- 평균 거래량(20일)
- SMA(5일, 10일, 20일, 30일, 50일, 100일, 200일)
- RSI (14일 기준)
- 볼린저밴드(SMA20 기준, 표준편차 2기준)
이 중 직접 계산이 필요한 SMA, RSI, 볼린저밴드를 제외한 값들은 API로 바로 가져왔다.
👉 사용 API
/uapi/domestic-stock/v1/quotations/inquire-daily-itemchartprice
KIS Developers
한국투자증권 Open API 포탈
apiportal.koreainvestment.com
응답 예시
{
"output1": {
"prdy_vrss": "1600",
"prdy_vrss_sign": "2",
"prdy_ctrt": "1.92",
"stck_prdy_clpr": "83300",
"acml_vol": "3630883",
"acml_tr_pbmn": "305710569450",
"hts_kor_isnm": "삼성전자",
"stck_prpr": "84900",
"stck_shrn_iscd": "005930",
"prdy_vol": "24071192",
"stck_mxpr": "108200",
"stck_llam": "58400",
"stck_oprc": "83300",
"stck_hgpr": "85000",
"stck_lwpr": "83200",
"stck_prdy_oprc": "85000",
"stck_prdy_hgpr": "85300",
"stck_prdy_lwpr": "82400",
"askp": "84900",
"bidp": "84800",
"prdy_vrss_vol": "-20440309",
"vol_tnrt": "0.06",
"stck_fcam": "100",
"lstn_stcn": "5919637922",
"cpfn": "7780",
"hts_avls": "5025773",
"per": "17.15",
"eps": "4950.00",
"pbr": "1.47",
"itewhol_loan_rmnd_ratem name": "0.19"
},
"output2": [
],
"rt_cd": "0",
"msg_cd": "MCA00000",
"msg1": "정상처리 되었습니다."
}
- 전날 종가 → output1.stck_prdy_clpr
- 전날 종가 거래량 → output1.prdy_vol
- 오늘 시가 → output1.stck_oprc
- 52주 최저가 → output1.stck_llam
- 52주 최고가 → output1.stck_mxpr
적용

필요한 값들을 20개 종목에 대해 콘솔창으로 찍어보았다.
이제 이걸 게이트웨이를 통해서 Spring 서버 쪽으로 보내면 된다.
보안상 키 값과 토큰값은 .env 파일로 해서 Git에 올라가지 않도록 분리했다!
💭회고
한국투자증권API를 사용하다보니 1초에 10번 이상으로 요청을 보내게 되면 호출 제한 걸려서 막혔다.
비동기 처리로 빠르게 가져오려고 FastAPI를 쓴건데 많이 요청을 못받아서 아쉽다ㅠㅠ
'And - 실시간 조건 감지·자동매매 시스템' 카테고리의 다른 글
| [신투 프디아] 실시간성과 안정성의 균형 맞추기 (Redis, MySQL) (0) | 2025.10.17 |
|---|---|
| [신투 프디아] 조건 탐지의 시작 - 44개의 지표를 코드로 옮기다 (0) | 2025.10.17 |
| [신투 프디아] 파이널 프로젝트 - 백엔드 패키지 설계 의도(with. DDD) (4) | 2025.09.26 |
| [신투 프디아] 파이널 프로젝트 - MSA 인프라 설계 의도 회고 (5) | 2025.09.24 |
| [신투 프디아] 파이널 프로젝트 시작 - 서비스 기획하기 (8) | 2025.09.16 |