def update_carteraAFP_govt(cartera_date): filename = str(cartera_date.year) + str('{:02}'.format( cartera_date.month)) + str('{:02}'.format(cartera_date.day)) print(filename) wb = fs.open_workbook(".\\" + filename + ".xlsx", True, True) array_columns = [ "clase_activo", "tipo_RA", "tipo_instrumento", "moneda", "emisor", "nemo" ] fs.paste_val_xl(wb, "Sheet0", 1, 1, array_columns) cartera_govt = fs.get_frame_xl(wb, "Sheet0", 1, 1, [5]) cartera_govt = cartera_govt[[ "tipo_instrumento", "moneda", "% Fondo", "% Familia Activo", "Duración" ]] cartera_govt.rename(columns={'Duración': 'duration'}, inplace=True) types = ["BCP", "BTP", "BCU", "BTU"] cartera_govt = cartera_govt.loc[cartera_govt["tipo_instrumento"].isin( types)] cartera_govt = get_buckets_soberanos(cartera_govt) cartera_govt["date"] = cartera_date cartera_govt = cartera_govt.reset_index() cartera_govt.set_index(['date'], inplace=True) tuples = cartera_govt.to_records().tolist() print(cartera_govt) upload_data(tuples) return cartera_govt
def generar_excel(df_retorno_fondos, df_retorno_instrumentos, df_nacional, df_internacional, rezagados, name): #PARCHE, saco de los dataframes el fondo liquidez, se comsulta en muchos lados asi que es más fácil sacarlo por aca df_nacional = df_nacional.loc[df_nacional["codigo_fdo"] != "LIQUIDEZ"] rezagados = rezagados.loc[rezagados["codigo_fdo"] != "LIQUIDEZ"] wb = fs.open_workbook("rentabilidad.xlsx", True, True) fs.clear_sheet_xl(wb, "Resumen_fondos") fs.clear_sheet_xl(wb, "Instrumentos") fs.clear_sheet_xl(wb, "Nacional_Market") fs.clear_sheet_xl(wb, "International_Market") fs.clear_sheet_xl(wb, "rezagados") fs.paste_val_xl(wb, "Resumen_fondos", 1, 1, df_retorno_fondos) fs.paste_val_xl(wb, "Instrumentos", 1, 1, df_retorno_instrumentos) fs.paste_val_xl(wb, "Nacional_Market", 1, 1, df_nacional) fs.paste_val_xl(wb, "International_market", 1, 1, df_internacional) fs.paste_val_xl(wb, "rezagados", 1, 1, rezagados) wb.save() wb.close()
def indice_camara(date, index_term=5): date = pd.Timestamp(fs.convert_string_to_date(date)) fechas = get_fechas_habiles(date, index_term) wb = fs.open_workbook(".\\calculo.xlsx", True, True) # Obtenemos los paths de politica monetaria path_scenario = fs.get_frame_xl(wb, "path", 1, 1, [0]) path_scenario = utiles.fs.get_frame_xl(wb, "path", 1, 1, [0]) fechas= fechas.set_index(['Fecha']) path_scenario = path_scenario_date_mapping(path_scenario, fechas) indice_camara = fechas.merge(path_scenario, how='left', left_index=True, right_index=True) indice_camara = indice_camara.fillna(method='ffill').reset_index() print(indice_camara) indice_camara['dias_dif'] = (indice_camara['Fecha'] - indice_camara['anterior']) / np.timedelta64(1, 'D') indice_camara = add_tpm_and_icp(date,indice_camara) indice_camara['retorno_icp_dove'] = (1+indice_camara['dove']*indice_camara['dias_dif']/36000) indice_camara['retorno_icp_central'] = (1+indice_camara['central']*indice_camara['dias_dif']/36000) indice_camara['retorno_icp_hawk'] = (1+indice_camara['hawk']*indice_camara['dias_dif']/36000) indice_camara.loc[0,'retorno_icp_dove'] = 0 indice_camara.loc[0,'retorno_icp_central'] = 0 indice_camara.loc[0,'retorno_icp_hawk'] = 0 indice_camara = get_index_values(date, indice_camara) indice_camara['indice_dove'] = 100*indice_camara['icp_dove']/indice_camara.loc[0,'icp_dove'] indice_camara['indice_central'] = 100*indice_camara['icp_dove']/indice_camara.loc[0,'icp_central'] indice_camara['indice_hawk'] = 100*indice_camara['icp_dove']/indice_camara.loc[0,'icp_hawk'] wb = fs.open_workbook("calculo.xlsx", True, True) fs.clear_sheet_xl(wb, "indice") fs.paste_val_xl(wb, "indice", 1, 1, indice_camara) return indice_camara
def write_excel(df_risk_internacional): wb = fs.open_workbook("data_riskamerica_internacional.xlsx", True, True) fs.clear_sheet_xl(wb, "data") fs.paste_val_xl(wb, "data", 1, 1, df_risk_internacional)
def genera_excel(df_retorno_fondos, df_rentorno_ins, df_forwards, df_rezagados, df_risk, df_monedas): df_rentorno_ins = df_rentorno_ins.set_index('codigo_fdo') conditions = [ df_rentorno_ins["tipo_SVC"] == 'Nacional', df_rentorno_ins["tipo_SVC"] == 'Internacional' ] values_spot = [ df_rentorno_ins["tasa_spot"], df_rentorno_ins["precio_spot"] ] values_anterior = [ df_rentorno_ins["tasa_anterior"], df_rentorno_ins["precio_anterior"] ] df_rentorno_ins['tasa/precio_spot'] = np.select(conditions, values_spot, default=None) df_rentorno_ins['tasa/precio_anterior'] = np.select(conditions, values_anterior, default=None) df_rentorno_ins = df_rentorno_ins.loc[:, [ 'codigo_ins', 'tipo_SVC', 'tipo_instrumento', 'Moneda', 'weight_adj', 'dur_mod', 'tasa/precio_spot', 'tasa/precio_anterior', 'CTR_Ins', 'r_ins', 'devengo', 'r_moneda' ]] df_forwards = df_forwards[[ 'moneda_compra', 'moneda_venta', 'parity', 'r_moneda', 'monto_compra', 'monto_venta', 'weight_adj', 'CTR_Forwards' ]] df_rezagados = df_rezagados[[ 'codigo_fdo', 'codigo_ins', 'tipo_instrumento', 'Moneda', 'weight' ]] df_rezagados.set_index('codigo_fdo', inplace=True) df_monedas = df_monedas.set_index(['currency', 'paridad']) wb = fs.open_workbook("output.xlsx", True, True) fs.clear_sheet_xl(wb, "fondos") fs.clear_sheet_xl(wb, "instrumentos") fs.clear_sheet_xl(wb, "forwards") fs.clear_sheet_xl(wb, "rezagados") fs.clear_sheet_xl(wb, "info_fondos") fs.clear_sheet_xl(wb, "paridades") fs.paste_val_xl(wb, "fondos", 1, 1, df_retorno_fondos) fs.paste_val_xl(wb, "instrumentos", 1, 1, df_rentorno_ins) fs.paste_val_xl(wb, "forwards", 1, 1, df_forwards) fs.paste_val_xl(wb, "rezagados", 1, 1, df_rezagados) fs.paste_val_xl(wb, "info_fondos", 1, 1, df_risk) fs.paste_val_xl(wb, "paridades", 1, 1, df_monedas) wb.save() wb.close()