示例#1
0
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()
示例#3
0
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_
示例#4
0
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!')