示例#1
0
def get_market_ohlcv_by_date(fromdate,
                             todate,
                             ticker,
                             freq='d',
                             adjusted=True):
    """
    :param fromdate: 조회 시작 일자 (YYYYMMDD)
    :param todate  : 조회 종료 일자 (YYYYMMDD)
    :param ticker  : 조회할 종목의 티커
    :param freq    : d - 일 / m - 월 / y - 년
    :param adjusted: 수정 종가 여부 (True/False)
    :return:
    """
    if isinstance(fromdate, datetime.datetime):
        fromdate = _datetime2string(fromdate)

    if isinstance(todate, datetime.datetime):
        todate = _datetime2string(todate)

    if adjusted:
        df = naver.get_market_ohlcv_by_date(fromdate, todate, ticker)
    else:
        df = krx.get_market_ohlcv_by_date(fromdate, todate, ticker)

    how = {'시가': 'first', '고가': 'max', '저가': 'min', '종가': 'last', '거래량': 'sum'}
    return resample_ohlcv(df, freq, how)
示例#2
0
文件: api.py 项目: teleib/pykrx
def __get_business_days_0(year: int, month: int):
    strt = f"{year}{month:02}01"
    if month == 12:
        last = f"{year+1}0101"
    else:
        last = f"{year}{month+1:02}01"
    df = krx.get_market_ohlcv_by_date(strt, last, "000020")
    cond = df.index.month[0] == df.index.month
    return df.index[cond].to_list()
示例#3
0
文件: api.py 项目: teleib/pykrx
def get_market_ohlcv_by_date(fromdate: str,
                             todate: str,
                             ticker: str,
                             freq: str = 'd',
                             adjusted: bool = True,
                             name_display: bool = False) -> DataFrame:
    """특정 종목의 일자별로 정렬된 OHLCV

    Args:
        fromdate     (str           ): 조회 시작 일자 (YYYYMMDD)
        todate       (str           ): 조회 종료 일자 (YYYYMMDD)
        ticker       (str           ): 조회할 종목의 티커
        freq         (str,  optional):  d - 일 / m - 월 / y - 년
        adjusted     (bool, optional): 수정 종가 여부 (True/False)
        name_display (bool, optional): columns의 이름 출력 여부 (True/False)

    Returns:
        DataFrame:
                         시가   고가   저가   종가   거래량
            날짜
            2019-02-25  77300  77600  74800  75400  2865712
            2019-02-26  75000  75900  74100  75200  2483512
            2019-02-27  75300  75700  73700  73700  2864044
            2019-02-28  72500  72600  69900  70000  7869451
    """
    if isinstance(fromdate, datetime.datetime):
        fromdate = _datetime2string(fromdate)

    if isinstance(todate, datetime.datetime):
        todate = _datetime2string(todate)

    if adjusted:
        df = naver.get_market_ohlcv_by_date(fromdate, todate, ticker)
    else:
        df = krx.get_market_ohlcv_by_date(fromdate, todate, ticker)

    if name_display:
        df.columns.name = get_market_ticker_name(ticker)

    how = {'시가': 'first', '고가': 'max', '저가': 'min', '종가': 'last', '거래량': 'sum'}

    return resample_ohlcv(df, freq, how)
示例#4
0
文件: api.py 项目: teleib/pykrx
def __get_business_days_1(strt: str, last: str):
    df = krx.get_market_ohlcv_by_date(strt, last, "000020")
    return df.index.to_list()