Exemplo n.º 1
0
 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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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