OHLCV 데이터 조회하기#

이 튜토리얼에서는 OHLCV(Open, High, Low, Close, Volume) 데이터에 대해서 알아보고, 기간을 지정하여 조회하는 방법을 알아봅니다.

OHLCV 데이터란?#

../../_images/ohlcv.webp

OHLCV는 금융 시장에서 자주 사용되는 데이터 포맷으로, 각 거래 시간 단위(예: 1분, 1시간, 1일 등)에 대해 특정 정보를 요약하여 제공합니다. 이는 주식, 암호화폐, 외환 등 다양한 자산에 대해 가격 변동과 거래량을 분석하는 데 매우 유용합니다.

다음과 같은 다섯 가지 요소로 구성되어 있습니다.

  • Open (시가): 해당 시간대의 첫 번째 거래 가격

  • High (고가): 해당 시간대의 최고 거래 가격

  • Low (저가): 해당 시간대의 최저 거래 가격

  • Close (종가): 해당 시간대의 마지막 거래 가격

  • Volume (거래량): 해당 시간대에 거래된 총 거래량

PyQQQ SDK를 활용하여 OHLCV 데이터를 조회해보도록 하겠습니다.

period.py#
import datetime as dtm
from pyqqq.data.daily import get_ohlcv_by_codes_for_period

start_date = dtm.date(2025, 1, 6)
end_date = dtm.date(2025, 1, 10)
codes = ["005930", "000660", "042700"]

ohlcv = get_ohlcv_by_codes_for_period(codes, start_date, end_date)
for code in ohlcv:
    print(f"code: {code}")
    print(ohlcv[code])

코드를 실행하면 삼성전자, SK하이닉스 그리고 한미반도체의 최근 5일 동안의 OHLCV 데이터를 확인할 수 있습니다.

...
Code: 000660
          open    high     low   close   volume          value   diff  diff_rate
date
2025-01-10  208000  212500  202500  203500  6149475  1275141940365  -1500      -0.73
2025-01-09  201000  206000  199800  205000  6692254  1359638086600  10300       5.29
2025-01-08  193100  198100  191000  194700  4275792   832264534297   -300      -0.15
2025-01-07  205000  206500  194800  195000  6075445  1208884342340  -4800      -2.40
2025-01-06  184400  199800  184400  199800  7320382  1415140958700  17900       9.84
...