def get_market_ohlcv_by_date(fromdate, todate, ticker): """일자별 OHLCV :param fromdate: 조회 시작 일자 (YYYYMMDD) :param todate : 조회 마지막 일자 (YYYYMMDD) :param isin : 조회 종목의 ticker :return : OHLCV DataFrame 시가 고가 저가 종가 거래량 20180208 97200 99700 97100 99300 813467 20180207 98000 100500 96000 96500 1082264 20180206 94900 96700 93400 96100 1094871 20180205 99400 99600 97200 97700 745562 """ isin = get_stock_ticker_isin(ticker) df = MKD30040().fetch(fromdate, todate, isin) df = df[[ 'trd_dd', 'tdd_opnprc', 'tdd_hgprc', 'tdd_lwprc', 'tdd_clsprc', 'acc_trdvol' ]] df.columns = ['날짜', '시가', '고가', '저가', '종가', '거래량'] df = df.replace('/', '', regex=True) df = df.replace(',', '', regex=True) df = df.set_index('날짜') df = df.astype(np.int32) df.index = pd.to_datetime(df.index, format='%Y%m%d') return df.sort_index()
def get_market_cap_by_date(fromdate, todate, ticker): """일자별 OHLCV :param fromdate: 조회 시작 일자 (YYYYMMDD) :param todate : 조회 마지막 일자 (YYYYMMDD) :param isin : 조회 종목의 ticker :return : 시가총액 DataFrame 시가총액 상장주식수 날짜 2015-07-20 187806655 147299337 2015-07-21 186039063 147299337 2015-07-22 184566069 147299337 2015-07-23 181767382 147299337 2015-07-24 181030885 147299337 """ isin = get_stock_ticker_isin(ticker) df = MKD30040().fetch(fromdate, todate, isin) df = df[['trd_dd', 'mktcap', 'acc_trdvol', 'acc_trdval', 'list_shrs']] df.columns = ['날짜', '시가총액', '거래량', '거래대금', '상장주식수'] df = df.replace('/', '', regex=True) df = df.replace(',', '', regex=True) df = df.set_index('날짜') df = df.astype(np.int64) df.index = pd.to_datetime(df.index, format='%Y%m%d') return df.sort_index()
def get_market_ohlcv_by_date_extend(fromdate, todate, ticker): isin = get_stock_ticker_isin(ticker) # '005930'-> 'KR7005930003'반환 df = MKD30040().read(fromdate, todate, isin) # df empty일시 dataframe_empty_handler가 처리 df = df[[ 'trd_dd', 'tdd_opnprc', 'tdd_hgprc', 'tdd_lwprc', 'tdd_clsprc', 'acc_trdvol', 'mktcap', 'list_shrs' ]] df.columns = ['날짜', '시가', '고가', '저가', '종가', '거래량', '시가총액', '주식수'] df = df.replace('/', '', regex=True) df = df.replace(',', '', regex=True) df = df.set_index('날짜') df = df.astype(np.int64) # 자료형 개선 필요 df.reset_index(inplace=True) df['날짜'] = pd.to_datetime(df['날짜'], format='%Y%m%d').astype(np.str) df['종목코드'] = 'A' + ticker # 종목코드 앞에 A추가 df = df[['날짜', '종목코드', '시가', '고가', '저가', '종가', '거래량', '시가총액', '주식수']] print('krx', ticker, df.shape) return df