get_ohlcv_by_codes_for_period#

pyqqq.data.daily.get_ohlcv_by_codes_for_period(codes: List[str], start_date: date, end_date: date | None = None, adjusted: bool = True, ascending: bool = False, exchange: str | DataExchange = 'KRX') Dict[str, DataFrame][source]#

지정된 코드 리스트와 기간에 대한 OHLCV 데이터를 조회합니다.

이 함수는 하나 이상의 주식 코드와 시작 날짜, 선택적으로 종료 날짜를 지정하여 해당 기간 동안의 OHLCV 데이터를 API를 통해 요청합니다. 반환된 데이터는 각 주식 코드별로 시가, 고가, 저가, 종가, 거래량을 포함하는 pandas DataFrame 객체들로 구성된 딕셔너리 형태로 제공됩니다. 각 DataFrame은 해당 주식의 날짜를 기반으로 역순으로 정렬됩니다.

KRX: 2018년 1월 1일 데이터 부터 조회 가능합니다. NXT: 2025년 3월 4일 데이터 부터 조회 가능합니다.

Parameters:
  • codes (List[str]) – 조회할 주식 코드들의 리스트.

  • start_date (datetime.date) – 조회할 기간의 시작 날짜.

  • end_date (Optional[datetime.date]) – 조회할 기간의 종료 날짜. 지정하지 않으면 최근 거래일 까지 조회됩니다.

  • adjusted (bool) – 수정주가 여부. 기본값은 True.

  • ascending (bool) – 날짜 오름차순 여부. 기본값은 False.

  • exchange (Union[str, DataExchange]) – 거래소. 기본값은 KRX.

Returns:

주식 코드를 키로 하고, 해당 코드의 OHLCV 데이터를 포함하는 DataFrame을 값으로 하는 딕셔너리.

DataFrame의 컬럼은 다음과 같습니다.

  • open (int): 시가.

  • high (int): 고가.

  • low (int): 저가.

  • close (int): 종가.

  • volume (int): 거래량.

  • value (int): 거래대금.

Return type:

dict

Raises:

HTTPError – API 요청이 실패했을 때 발생.

Examples

>>> dfs = get_ohlcv_by_codes_for_period(['005930', '319640'], datetime.date(2025, 7, 28), datetime.date(2025, 7, 30))
>>> print(dfs)
{'319640':              open   high    low  close  volume      value
            date
            2025-07-30  20860  20930  20840  20870   47431  990834244
            2025-07-29  20795  20850  20765  20810   39627  824529926
            2025-07-28  20900  20985  20880  20965   26610  556764707,
'005930':              open   high    low  close    volume          value
            date
            2025-07-30  71000  73700  70600  72600  34761444  2521446314798
            2025-07-29  70800  70800  68800  70600  28190940  1977721049950
            2025-07-28  68200  70400  67200  70400  35332500  2431396606750}