Esempio n. 1
0
        'FiscalPrd', 'FiscalPrd2', 'CalPrdEndDate', 'Value_', 'FILLyr'
    ]
    cf_qtr_samp = WS_resample(seq_DT, cf_qtr, fill_cols=fill_cols)
    ni_qtr_samp = WS_resample(seq_DT, ni_qtr, fill_cols=fill_cols)
    rev_qtr_samp = WS_resample(seq_DT, rev_qtr, fill_cols=fill_cols)
    aa_qtr_samp = WS_resample(seq_DT, aa_qtr, fill_cols=fill_cols)

    cols = ['BASE_DT', 'Code', 'FiscalPrd', 'Value_']
    _acc_qtr_samp = align_subtract(cf_qtr_samp, ni_qtr_samp)
    accruals_qtr_samp = align_div(_acc_qtr_samp[cols], aa_qtr_samp)
    accrualsS_qtr_samp = align_div(_acc_qtr_samp[cols], rev_qtr_samp)

    DF_accruals_qtr = DF_accruals_qtr.append(accruals_qtr_samp, sort=False)
    DF_accrualsS_qtr = DF_accrualsS_qtr.append(accrualsS_qtr_samp, sort=False)

    batch_monitor_msg(i, tot_n, st_time)
batch_finish_msg(tot_n, st_time)

DF_accruals_tot = substitute_Value(DF_accruals_yr, DF_accruals_qtr)
DF_accrualsS_tot = substitute_Value(DF_accrualsS_yr, DF_accrualsS_qtr)
#*------------
firstCheck_duplicates(DF_accruals_tot, DF_accrualsS_tot)
#*------------
# Map Code -> TMSRS_CD
# Should customize columns by needed ones.
# MUST HAVE 'BASE_DT', 'TMSRS_CD', 'Code', 'Value_', 'RGN_TP_CD', 'freq'
cols = [
    'BASE_DT', 'TMSRS_CD', 'Code', 'Value_yr', 'Value_qtr', 'Value_',
    'RGN_TP_CD', 'freq', 'ref'
]
DF_accruals_tot = add_mapped_tick(DF_accruals_tot, trim_codeMap)[cols]
    DF.reset_index(drop=False, inplace=True)
    DF['BASE_DT'] = handle_ax.requestDate
    DF['Sedol'] = DF['SEDOL'].str[:6]

    DFmelt = DF.melt(id_vars=['BASE_DT', 'SEDOL', 'Sedol'],
                     value_vars=['ShortTermMomentum', 'MediumTermMomentum'],
                     var_name='StyleName',
                     value_name='Value_')
    DFmelt.dropna(axis=0, subset=['SEDOL'], inplace=True)

    DF_ = add_mapped_tick(DFmelt, trim_codeMap, on=['Sedol'])
    DF_['freq'] = 'D'
    DF_.rename(columns={'mstrCtry': 'ref'}, inplace=True)
    DF_Momentum = DF_Momentum.append(DF_)

    batch_monitor_msg(i, tot_n, st_time, add_msg=dt_)
batch_finish_msg(tot_n, st_time)

DF_Momentum.rename(columns={'SEDOL': 'Code'}, inplace=True)
cols = [
    'BASE_DT', 'TMSRS_CD', 'Code', 'Sedol', 'RGN_TP_CD', 'Value_', 'freq',
    'ref', 'StyleName'
]
DF_Momentum = DF_Momentum[cols].copy()

# check1
DF_Momentum.loc[DF_Momentum.duplicated(
    subset=['BASE_DT', 'TMSRS_CD', 'StyleName']),
                ['BASE_DT', 'TMSRS_CD', 'StyleName']]

DF_Momentum.drop_duplicates(subset=['BASE_DT', 'TMSRS_CD', 'StyleName'],