본문 바로가기
시스템트레이딩

KRX 수정주가 조회 및 계산방법

by 오늘밤날다 2023. 3. 25.

 

분명히 예전에는 KRX 정보데이터 시스템에서 종목들의 일일 주가를 조회할 때 수정주가가 적용되지 않았는데 오랜만에 한국거래소 사이트에 들어갔더니 [12003] 개별종목 시세 추이에 수정주가 적용이 기본으로 설정되어 있는 걸 발견했다.

 

http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020103# 

 

KRX 정보데이터시스템

증권·파생상품의 시장정보(Marketdata), 공매도정보, 투자분석정보(SMILE) 등 한국거래소의 정보데이터를 통합하여 제공 서비스

data.krx.co.kr

 

 

 

 

 

현재 만들어놓은 데이터베이스는 [12001] 전종목 시세를 매일 크롤링해서 업데이트하는 방식인데 당연한 것이겠지만 이 화면에서 과거 데이터를 조회하면 그 시점의 수정전 주가로 표시된다. 이 때문에 내 데이터베이스에 저장된 종목들의 일별 데이터를 가져올 때는 수정주가로 다시 변환하는 작업이 필요한데, 이 수정주가를 계산하는 방법이 포털사이트들이나 HTS 모두 제각각이었다. 

 

 

KRX에서 직접 조회되는 방식이니 공개되지 않은 다른 정보들까지 활용하는 방법일지도 모를 거라 생각했는데 결론은 약간 실망스러웠는데 조회 데이터 중에서 대비 컬럼을 활용해서 계산되는 방식인 듯하다. 이 방법을 사용할 경우에도 모든 주가 변동 이벤트들을 적시에 반영하는 것은 어려운데 예를 들면 거래정지 기간 동안 여러 가지 수정주가 이벤트들이 순차적으로 발생되는 경우 등 몇몇 사례에서 완벽하지 못한 경우들을 발견했다.

 

 

어찌 됐든 KRX의 계산방법은 이렇다. 삼성전자의 액면분할 경우를 살펴보면 아래와 같이 주가가 2,650,000원에서 51,900원으로 바뀌더라도 2018년 5월 4일의 대비 컬럼은 여전히 1,100원으로 표시된다. 이를 활용해서 수정주가 비율을 계산하고 이전 모든 일자들의 가격에 적용해 주면 수정주가로 바뀐다.

 

 

개별종목 시세추이 - 삼성전자 액면분할

 

 

 

 

삼성전자 수정주가 계산 예시

 

2018년 4월 27일을 기준으로 보면 전일의 종가(51,900)와 대비(-1,100)를 활용해서 기준가격(53,000)을 계산하고 이 가격과 당일의 종가 2,650,000을 비교했을 때 일치하지 않는다면 당일부터는 수정비율을 적용해야 한다. 이 경우 당일종가를 기준가격으로 나눈 값을 그 당일부터 거꾸로 과거의 모든 기간에 적용하면 된다.