def read_signals(cls, model_from=None, field=None, **kw): """ query signals from DB :param model_from: :param field:属性域 :return: """ try: sql = dict() if model_from is not None: sql = {"model_from": model_from} sql = dict(sql, **kw) cursor = MODEL_TABLE(cls.location, cls.dbname, 'signals').query(sql, field) if cursor.count(): data = pd.DataFrame(list(cursor)) # data['date'] = pd.to_datetime(data.date) # data = cls.merge_time(data) data = data.sort_values(['open_date'], ascending=False) data = data.reset_index(drop=True) # data.drop(['_id', 'classtype'], axis=1, inplace=True) # data = data.drop_duplicates(['stock_code', 'date', 'time']) # data.stock_code.astype('int') cursor.close() return data else: cursor.close() return pd.DataFrame([]) except Exception: raise MongoIOError('query signals from db raise a error')
def read_client_info(cls, model_from, field=None, **kw): """ :param model_from: :return: """ try: sql = {'model_from': model_from} sql = dict(sql, **kw) cursor = MODEL_TABLE(cls.location, cls.dbname, 'clients').query(sql, field) if cursor.count(): clis = pd.DataFrame(list(cursor)) cursor.close() return clis cursor.close() return pd.DataFrame() except Exception as e: ExceptionInfo(e) return pd.DataFrame()
def read_account_info(cls, model_from, field=None, **kw): """ 读取现有的账户信息 :return: """ try: sql = {'model_from': model_from} sql = dict(sql, **kw) cursor = MODEL_TABLE(cls.location, cls.dbname, 'asset').query(sql, field) if cursor.count(): ai = pd.DataFrame(list(cursor)) ai.drop(['classtype'], axis=1, inplace=True) ai = ai.sort_values(['date'], ascending=False) ai = ai.drop_duplicates(['client_no'], keep='first') cursor.close() return ai cursor.close() return pd.DataFrame() except Exception as e: ExceptionInfo(e) return pd.DataFrame()