def reconcile_position(**kwargs):

    abn_position = load_and_convert_abn_position_file(**kwargs)

    db_position = tpm.get_position_4portfolio(trade_date_to=cu.get_doubledate())

    db_position['generalized_ticker'] = [x.rstrip('0').rstrip('.') for x in db_position['generalized_ticker']]

    merged_data = pd.merge(abn_position,db_position,how='outer',on='generalized_ticker')
    merged_data['qty_diff'] = merged_data['qty_x'].astype('float64')-merged_data['qty_y'].astype('float64')
    return merged_data[merged_data['qty_diff']!=0]
def test_ib_reconciler():
    app = ib_reconciler()
    con = msu.get_my_sql_connection()
    app.con = con
    position_frame = tpm.get_position_4portfolio(
        trade_date_to=cu.get_doubledate())
    position_frame['con_id'] = np.nan
    position_frame['ib_position'] = np.nan
    position_frame['ib_symbol'] = ''
    position_frame.reset_index(drop=True, inplace=True)
    app.position_frame = position_frame
    app.connect(client_id=1)
    app.run()
示例#3
0
def reconcile_position(**kwargs):

    abn_position = load_and_convert_man_position_file(**kwargs)

    db_position = tpm.get_position_4portfolio(
        trade_date_to=cu.get_doubledate())

    db_position['generalized_ticker'] = [
        x.rstrip('0').rstrip('.') for x in db_position['generalized_ticker']
    ]

    merged_data = pd.merge(abn_position,
                           db_position,
                           how='outer',
                           on='generalized_ticker')
    merged_data['qty_diff'] = merged_data['qty_x'].astype(
        'float64') - merged_data['qty_y'].astype('float64')
    return merged_data[merged_data['qty_diff'] != 0]
def get_portfolio_expirations(**kwargs):

    con = msu.get_my_sql_connection(**kwargs)

    position_frame = tpm.get_position_4portfolio(trade_date_to=kwargs["report_date"])
    position_frame.reset_index(drop=True, inplace=True)
    futures_indx = position_frame["instrument"] == "F"
    position_frame.loc[futures_indx, "instrument"] = "futures"
    position_frame.loc[~futures_indx, "instrument"] = "options"
    position_frame["tr_dte"] = position_frame.apply(
        lambda x: exp.get_days2_expiration(
            ticker=x["ticker"], instrument=x["instrument"], date_to=kwargs["report_date"], con=con
        )["tr_dte"],
        axis=1,
    )

    position_frame["alias"] = "Portfolio"

    if "con" not in kwargs.keys():
        con.close()

    return position_frame
def get_portfolio_expirations(**kwargs):

    con = msu.get_my_sql_connection(**kwargs)

    position_frame = tpm.get_position_4portfolio(
        trade_date_to=kwargs['report_date'])
    position_frame.reset_index(drop=True, inplace=True)
    futures_indx = position_frame['instrument'] == 'F'
    position_frame.loc[futures_indx, 'instrument'] = 'futures'
    position_frame.loc[~futures_indx, 'instrument'] = 'options'
    position_frame['tr_days_2roll'] = position_frame.apply(
        lambda x: exp.get_days2_roll(ticker=x['ticker'],
                                     instrument=x['instrument'],
                                     date_to=kwargs['report_date'],
                                     con=con)['tr_days_2roll'],
        axis=1)

    position_frame['alias'] = 'Portfolio'

    if 'con' not in kwargs.keys():
        con.close()

    return position_frame