def get_session_filename(self, corp_code): """저장할 세션의 파일명""" if self.params.is_all_corps_model: file_name = self.params.session_file_name else: file_name = DataUtils.to_string_corp_code(corp_code) return file_name
def get_stock_data(self, comp_code: str) -> pd.DataFrame: comp_code = DataUtils.to_string_corp_code(comp_code) file_path = os.path.join(self.DIR_STOCKS, comp_code + '.txt') if os.path.isfile(file_path): stock_data = pd.read_csv(file_path) if hasattr(self.params, 'check_stock_data' ) and self.params.check_stock_data == True: stock_data = stock_data.dropna() stock_data = stock_data[:-1] date_last = stock_data.tail(1)['date'].to_string(index=False) date_next = DateUtils.to_date(date_last) + datetime.timedelta( days=1) date_next = date_next.strftime("%Y.%m.%d") new_data = self.get_stock_web_data(comp_code, date_next) if len(new_data) > 0: stock_data = stock_data.append(new_data, ignore_index=True) stock_data = stock_data.dropna() stock_data.to_csv(file_path, index=False) else: stock_data = self.get_stock_web_data(comp_code, '') stock_data.to_csv(file_path, index=False) stock_data = stock_data.dropna() if hasattr(self.params, 'forcast_date') and self.params.forcast_date is not None: stock_data = stock_data.query("date<'{}'".format( self.params.forcast_date)) elif hasattr( self.params, 'remove_stock_days') and self.params.remove_stock_days > 0: stock_data = stock_data[:-self.params.remove_stock_days] return stock_data
def get_stock_data(self, comp_code): comp_code = DataUtils.to_string_corp_code(comp_code) file_path = './data/files/stocks/' + comp_code + '.csv' if os.path.isfile(file_path): stock_data = pd.read_csv(file_path) stock_data = stock_data[:-1] date_last = stock_data.tail(1)['date'].to_string(index=False) date_next = DateUtils.to_date(date_last) + datetime.timedelta( days=1) date_next = date_next.strftime("%Y-%m-%d") new_data = self._get_stock_naver_data(comp_code, date_next) if len(new_data) > 0: stock_data = stock_data.append(new_data, ignore_index=True) stock_data.to_csv(file_path, index=False) else: stock_data = self._get_stock_naver_data(comp_code, '') stock_data.to_csv(file_path, index=False) if self.params.remove_stock_days > 0: stock_data = stock_data[:-self.params.remove_stock_days] return stock_data