def re_calc_qfq_and_overwrite(code, start, end): start = MIN_START_DATE end = date_time_utils.Date().as_str() stock_data = SECURITY_DATA_READ_SERVICE.read_security_data_for_single( code, start, end) qfq_data = stock_to_qfq(stock_data) DB_CLIENT.replace_data_by_codes(qfq_data, DAY_QFQ_REPO)
def _read_bm_data(self, bm_code): return SECURITY_DATA_READ_SERVICE.read_security_data_for_single( bm_code, self.account.start_date, self.account.end_date, typ=SeType.Index ).reset_index().\ drop(columns=['code', 'open', 'high', 'low', 'vol', 'amount', 'up_count', 'down_count']).\ set_index('date')
def read_data_and_calc_indicators(self, code, start, end): if self.freq.is_minutes(): data = SECURITY_DATA_READ_SERVICE.read_security_data_for_single( code, start, end, freq=self.freq, typ=SeType.Stock) else: data = SECURITY_DATA_READ_SERVICE.read_qfq_security_data_for_single( code, start, end) if data is None or data.shape[0] < 10: return data = self.indicator_func(data) if data is None or len(data) < 1: return None else: return self.pre_save(data)
def calc_qfq_and_update(code, start, end): stock_data = SECURITY_DATA_READ_SERVICE.read_security_data_for_single( code, start, end) if stock_data is not None and len(stock_data) > 0: qfq_data = stock_to_qfq(stock_data) DB_CLIENT.update_data_append_newer(qfq_data, DAY_QFQ_REPO)
def copy_stock_day_directly(code, start, end): stock_data = SECURITY_DATA_READ_SERVICE.read_security_data_for_single( code, start, end) DB_CLIENT.update_data_append_newer(stock_data, DAY_QFQ_REPO)
def _read_bm_data(self): self.bm_data = SECURITY_DATA_READ_SERVICE.read_security_data_for_single( self.bm_code, self.account.start_date, self.account.end_date, typ=SeType.Index)