Exemplo n.º 1
0
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
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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()