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) Dict[str, DataFrame][source]#

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

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

2018년 1월 1일 데이터 부터 조회 가능합니다.

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

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

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

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

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

Returns:

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

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

  • open (int): 시가.

  • high (int): 고가.

  • low (int): 저가.

  • close (int): 종가.

  • volume (int): 거래량.

  • value (int): 거래대금.

  • diff (int): 종가 대비 전일 종가의 차이.

  • diff_rate (float): 종가 대비 전일 종가의 변화율.

Return type:

dict

Raises:

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

Examples

>>> dfs = get_ohlcv_by_codes_for_period(['005930', '319640'], dtm.date(2024, 5, 7), dtm.date(2024, 5, 9))
>>> print(dfs)
{'319640':              open   high    low  close  volume      value  diff  diff_rate
            date
            2024-05-09  15380  15445  15365  15430   16200  249577480    -5      -0.03
            2024-05-08  15445  15460  15365  15435    6419   99007660    -5      -0.03
            2024-05-07  15355  15525  15355  15440   22318  345280470    85       0.55,
'005930':              open   high    low  close    volume          value  diff  diff_rate
            date
            2024-05-09  81100  81500  79700  79700  18700919  1504404274500 -1600  -1.97
            2024-05-08  80800  81400  80500  81300  12960682  1050108654400     0   0.00
            2024-05-07  79600  81300  79400  81300  26238868  2112619288066  3700   4.77}