Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)
Ejemplo n.º 5
0
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)
Ejemplo n.º 7
0
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)
Ejemplo n.º 9
0
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)