freq = sys.argv[2] print('# Starting Factor - {}_{} ({})'.format(mapping, fileName, freq)) import numpy as np import pandas as pd import datetime as dt import time import re from functools import reduce from batch_utils.utils_dateSeq import batch_sequence from batch_utils.common import firstCheck_duplicates, secondCheck_columns from batch_utils.common import check_mapping_df, save_batch # Date Sequence to be made by this batch bkfil, rtvStart, seq_DT = batch_sequence(option, freq) dir_ = 'save_total' if bkfil else 'save_batch' DF_IBES_EPS = pd.read_pickle('{}/IBES_refIBES_EPS.p'.format(dir_)) DF_IBES_EPS = DF_IBES_EPS[DF_IBES_EPS['Px0'] != 0] DF_IBES_DPS = pd.read_pickle('{}/IBES_refIBES_DPS.p'.format(dir_)) DF_IBES_DPS = DF_IBES_DPS[DF_IBES_DPS['Px0'] != 0] DF_IBES_ROE = pd.read_pickle('{}/IBES_refIBES_ROE.p'.format(dir_)) DF_SustG_tot = pd.read_pickle('{}/comb_SustG.p'.format(dir_)) # PEf12m cols = [ 'BASE_DT', 'TMSRS_CD', 'Code', 'RGN_TP_CD', 'Px0', 'EPS_fy1', 'PE_f12m' ] DF_PEf12m = DF_IBES_EPS[cols].copy() DF_PEf12m['Value_'] = DF_PEf12m.apply(lambda x: x['Px0'] / x['EPS_fy1']
import re from functools import reduce from batch_utils.utils_dateSeq import batch_sequence from batch_utils.utils_mapping import get_Mapping, getUnique_TMSRS_CD from batch_utils.utils_mapping_orig import get_Mapping_orig from batch_utils.ItemInfo import IBESItem_lst from batch_utils.common import chunker, chunker_count, chg_to_type, add_mapped_tick from batch_utils.common import firstCheck_duplicates, secondCheck_columns, chk_dateFormat from batch_utils.common import check_mapping_df, save_batch, monthdelta from batch_utils.common import batch_monitor_msg, batch_finish_msg from batch_utils import IBES_year_fy1est from batch_utils import IBES_year2, IBES_year_Ratio2, IBES_resample # Date Sequence to be made by this batch bkfil, _, seq_DT = batch_sequence(option, freq, rtvDays=400) _tmp = dt.datetime.strptime(seq_DT.min(), '%Y%m%d').date() _ovrd_startDT = dt.date(monthdelta(_tmp, -1).year, monthdelta(_tmp, -1).month, 1) _ovrd_startDT = _ovrd_startDT.strftime('%Y%m%d') # Needs to Find Monthly since IBES summary comes in month-freq _, rtvStart, seq_DT_calc = batch_sequence( option, 'M', batch_n=8, rtvDays=400, ovrd_startDT=_ovrd_startDT) dt_map = pd.DataFrame( {'EstDate': seq_DT_calc, 'EstDate_prev': seq_DT_calc.shift(3)} ).dropna() # Getting the Universe in TMSRS_CD ~ Code Map allSec = getUnique_TMSRS_CD() codeMap = get_Mapping_orig(mapping) trim_codeMap = codeMap[codeMap['TMSRS_CD'].isin(allSec)].copy()
import numpy as np import pandas as pd import datetime as dt import time import re from batch_utils.utils_db_alch2 import connectDB from batch_utils.utils_sql import create_table, update_table, create_typeStr from batch_utils.utils_dateSeq import batch_sequence from batch_utils.common import list2sqlstr, _conv2strCol, rm_backward, chunker from batch_utils import WS_currVal bkfil, rtvStart, seq_DT = batch_sequence('backfill', 'M') Table = 'WSPITCmpIssFData' Code = ['6751'] Item = '9802' # beta cal_dt_ = seq_DT.rename('marketdate') S0 = pd.Series({'marketdate': 'datetime'}) primary = 'marketdate' typeStr = create_typeStr(S0, primary=primary) conn = connectDB(ODBC_NAME="MSSQL_QAD") create_table(conn, '#Calendar', typeStr, primary=primary) update_table(conn, '#Calendar', cal_dt_, typeStr, verbose=False) Sql_S = """ Select convert(varchar(8),mm.marketdate,112) as marketdate, dt.Code, dt.Item, convert(varchar(8), dt.StartDate,112) as StartDate, convert(varchar(8), dt.EndDate,112) as EndDate, dt.Value_
import sys import os option = sys.argv[1] freq = sys.argv[2] print('# Initiating Process Preparation - {} ({})'.format(option, freq)) from batch_utils.utils_dateSeq import batch_sequence from batch_utils.utils_mapping_orig import get_Mapping_orig bkfil, _, _ = batch_sequence(option, freq, rtvDays=60) for mapping in ['IBES', 'worldscope']: codeMap = get_Mapping_orig(mapping) if bkfil: folder = 'save_total' else: folder = 'save_batch' if os.path.exists(folder) & os.path.isdir(folder): file_lst = os.listdir(folder) if len(file_lst) > 0: for file in file_lst: file_path = os.path.join(folder, file) try: if os.path.isfile(file_path): os.unlink(file_path) except Exception as e: print(e) print('# Process Prep is Ready!')