def save(gid, df): fmt_columns = ['ra_fund_ratio'] fmt_precision = 4 if not df.empty: df['ra_fund_type'] = df['ra_fund_type'].astype(int) df = database.number_format(df, fmt_columns, fmt_precision) # # 保存择时结果到数据库 # db = database.connection('asset') t2 = Table('ra_portfolio_pos', MetaData(bind=db), autoload=True) columns = [literal_column(c) for c in (df.index.names + list(df.columns))] s = select(columns, (t2.c.ra_portfolio_id == gid)) df_old = pd.read_sql( s, db, index_col=['ra_portfolio_id', 'ra_date', 'ra_pool_id', 'ra_fund_id'], parse_dates=['ra_date']) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) # 更新数据库 # print df_new.head() # print df_old.head() database.batch(db, t2, df, df_old, timestamp=True)
def save(gid, criteria_id, df): fmt_columns = ['is_value'] fmt_precision = 6 if not df.empty: df = database.number_format(df, fmt_columns, fmt_precision) # # 保存择时结果到数据库 # db = database.connection('asset') t2 = Table('is_investor_criteria', MetaData(bind=db), autoload=True) columns = [literal_column(c) for c in (df.index.names + list(df.columns))] s = select( columns, (t2.c.is_investor_id == gid)).where(t2.c.is_criteria_id == criteria_id) df_old = pd.read_sql( s, db, index_col=['is_investor_id', 'is_criteria_id', 'is_date'], parse_dates=['is_date']) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) # 更新数据库 # print df_new.head() # print df_old.head() database.batch(db, t2, df, df_old, timestamp=False)
def save(gid, xtype, df): fmt_columns = ['on_return_value'] fmt_precision = 8 if not df.empty: df = database.number_format(df, fmt_columns, fmt_precision) # # 保存择时结果到数据库 # db = database.connection('asset') t2 = Table('on_online_contrib', MetaData(bind=db), autoload=True) columns = [literal_column(c) for c in (df.index.names + list(df.columns))] s = select(columns, (t2.c.on_online_id == gid)).where(t2.c.on_type == xtype) df_old = pd.read_sql(s, db, index_col=[ 'on_online_id', 'on_type', 'on_date', 'on_fund_id', 'on_return_type' ], parse_dates=['on_date']) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) # 更新数据库 # print df_new.head() # print df_old.head() # pdb.set_trace() database.batch(db, t2, df, df_old, timestamp=True)
def batch(df_new, df_old): t = Table('wechat_keywords', metadata, autoload=True) fmt_columns = [] fmt_precision = 4 if not df_new.empty: df_new = database.number_format(df_new, fmt_columns, fmt_precision) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) database.batch(db, t, df_new, df_old)
def batch(df_new, df_old): t = Table('rpt_srrc', metadata, autoload=True) fmt_columns = ['rp_amount_firstsub', 'rp_amount_resub', \ 'rp_amount_redeem', 'rp_amount_aum'] fmt_precision = 2 if not df_new.empty: df_new = database.number_format(df_new, fmt_columns, fmt_precision) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) database.batch(db, t, df_new, df_old)
def batch(df_new, df_old): t = Table('rpt_srrc_rolling', metadata, autoload=True) fmt_columns = ['rp_user_redeem_ratio', 'rp_user_resub_ratio', \ 'rp_amount_redeem_ratio', 'rp_amount_resub_ratio'] fmt_precision = 4 if not df_new.empty: df_new = database.number_format(df_new, fmt_columns, fmt_precision) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) database.batch(db, t, df_new, df_old)
def save(_id, df): fmt_columns = ['var_2d', 'var_3d', 'var_5d'] fmt_precision = 6 if not df.empty: df = database.number_format(df, fmt_columns, fmt_precision) db = database.connection('asset') t2 = Table('rm_riskmgr_vars', MetaData(bind=db), autoload=True) columns = [literal_column(c) for c in (df.index.names + list(df.columns))] s = select(columns, (t2.c.index_id == _id)) df_old = pd.read_sql(s, db, index_col=['index_id', 'ix_date'], parse_dates=['ix_date']) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) database.batch(db, t2, df, df_old, timestamp=True)
def save(gid, df): fmt_columns = ['mz_risk'] fmt_precision = 2 if not df.empty: df = database.number_format(df, fmt_columns, fmt_precision) # # 保存择时结果到数据库 # db = database.connection('asset') t2 = Table('mz_highlow_alloc', MetaData(bind=db), autoload=True) columns = [literal_column(c) for c in (df.index.names + list(df.columns))] s = select(columns, (t2.c.mz_highlow_id == gid)) df_old = pd.read_sql(s, db, index_col=['globalid']) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) # 更新数据库 # print df_new.head() # print df_old.head() database.batch(db, t2, df, df_old, timestamp=True)
def save(gids, df): fmt_columns = ['mz_upper_limit', 'mz_lower_limit', 'mz_sum1_limit', 'mz_sum2_limit'] fmt_precision = 4 if not df.empty: df = database.number_format(df, fmt_columns, fmt_precision) # # 保存择时结果到数据库 # db = database.connection('asset') t2 = Table('mz_markowitz_asset', MetaData(bind=db), autoload=True) columns = [literal_column(c) for c in (df.index.names + list(df.columns))] s = select(columns, (t2.c.mz_markowitz_id.in_(gids))) df_old = pd.read_sql(s, db, index_col=['mz_markowitz_id', 'mz_markowitz_asset_id']) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) # 更新数据库 # print df_new.head() # print df_old.head() database.batch(db, t2, df, df_old, timestamp=True)
def save(gid, df): fmt_columns = ['mz_return', 'mz_risk', 'mz_sharpe'] fmt_precision = 6 if not df.empty: df = database.number_format(df, fmt_columns, fmt_precision) # # 保存择时结果到数据库 # db = database.connection('asset') t2 = Table('mz_markowitz_sharpe', MetaData(bind=db), autoload=True) columns = [literal_column(c) for c in (df.index.names + list(df.columns))] s = select(columns, (t2.c.mz_markowitz_id == gid)) df_old = pd.read_sql(s, db, index_col=['mz_markowitz_id', 'mz_date'], parse_dates=['mz_date']) if not df_old.empty: df_old = database.number_format(df_old, fmt_columns, fmt_precision) # 更新数据库 # print df_new.head() # print df_old.head() database.batch(db, t2, df, df_old, timestamp=False)