Package: sbs-gob-pe-helper
sbs-gob-pe-helperNota : Te recomendamos revisar laNota legalantes de emplear la libreria.sbs-gob-pe-helperofrece una forma Pythonica de descargar datos de mercado de laSuperintendencia de Banca y Seguros del Perú, mediante web scraping (sbs web scraping).Ojo: Es recomendable ejecutar esta librería en un entorno local. Se ha observado que en plataformas como Google Colab puede generar conflictos.CaracterísticasA continuación se encuentran las características que aborda este paquete.Curva cupón cero:Extracción plazos y tasas de interés por tipo de curva de la SBS.Gráfica de curva.Interpolación lineal de la curva.Vector de precio de renta fija:Extracción de datos de vector de precio por fecha de procesamiento desde la SBS.Extracción de emisores disponibles del vector de precio.Extracción de datos históricos de precios por ISIN.Índice spread corporativo.Extracción de datos desde la SBS.InstalaciónInstalasbs-gob-pe-helperusandopip:$ pip install sbs-gob-pe-helperQuick StartEl modulo CuponCeroget_curva_cupon_ceroLa funciónget_curva_cupon_ceropermite acceder a los datos de cupón cero de la SBS por tipo de curva y fecha de procesamiento:ParametroDescripciónfechaProcesoFecha de procesamientotipoCurvaTipo de curvatipoCurvaDescripciònCBCRSCurva Cupon Cero CD BCRPCCSDFCurva Cupon Cero Dólares CPCSBCRDCurva Cupon Cero Dólares SinteticaCCINFSCurva Cupon Cero Inflacion Soles BCRPCCCLDCurva Cupon Cero Libor DolaresCCPEDSCurva Cupon Cero Peru Exterior Dolares - SoberanaCCPSSCurva Cupon Cero Peru Soles SoberanaCCPVSCurva Cupon Cero Peru Vac SoberanaEjemploimportsbs_gob_pe_helper.CuponCeroascctp_curva='CCPSS'fec_proceso='31/07/2023'#obtiene todos los datos de la curva de cupon cero de un determinado fecha de procesodf_cup=cc.get_curva_cupon_cero(tipoCurva=tp_curva,fechaProceso=fec_proceso)df_cup.head()plot_curvaSi deseas visualizar la gráfica de la curva de cupón cero, sigue estos pasos:cc.plot_curva(df_cup)get_curva_cupon_cero_historicoLa funciónget_curva_cupon_cero_historicopermite acceder a los datos de cupón cero de la SBS a partir de un rango de fechas de procesamiento y tipo de curva:ParametroDescripciónFechaInicioFecha de procesamientoFechaFinTipo de curvaTipoCurvaTipo de curvatipoCurvaDescripciònCBCRSCurva Cupon Cero CD BCRPCCSDFCurva Cupon Cero Dólares CPCSBCRDCurva Cupon Cero Dólares SinteticaCCINFSCurva Cupon Cero Inflacion Soles BCRPCCCLDCurva Cupon Cero Libor DolaresCCPEDSCurva Cupon Cero Peru Exterior Dolares - SoberanaCCPSSCurva Cupon Cero Peru Soles SoberanaCCPVSCurva Cupon Cero Peru Vac SoberanaEjemploimportsbs_gob_pe_helper.CuponCeroasccinicio="2023-08-01"fin="2023-08-26"tipoCurva='CCPSS'#obtiene todos los datos de la curva de cupon cero de un determinado fecha de procesodf_cup_hist=cc.get_curva_cupon_cero_historico(FechaInicio=inicio,FechaFin=fin,TipoCurva=tipoCurva)df_cup_hist.head()pivot_curva_cupon_cero_historicoAdicionalmente, se puede emplear la funcionpivot_curva_cupon_cero_historicoel cual recibe como parámetro el resultado de la funciónget_curva_cupon_cero_historicopara generar un pivot:importsbs_gob_pe_helper.CuponCeroasccdf_cup_hist_pivot=cc.pivot_curva_cupon_cero_historico(df_cup_hist)df_cup_hist_pivot.head()get_tasa_interes_por_diasLa funciónget_tasa_interes_por_diaspermite acceder interpolación lineal de las tasas de interés de plazos no disponible en las curvas de cupón cero de la SBS :#Si buscas obtener tasas para plazos no presentes en los datos de cupón cero, se llevará a cabo una interpolación utilizando los valores de plazos ya existentes.# En el siguiente ejemplo, se calcularán las tasas correspondientes para los períodos de 30, 60 y 120.data={"dias":[0,30,60,90,120],}df_test=pd.DataFrame(data)df_test['tasas']=df_test['dias'].apply(cc.get_tasa_interes_por_dias,args=(df_cup,))df_test.head()El modulo VectorPrecioRentaFijaget_vector_preciosLa funciónget_vector_preciospermite acceder al vector de precios de la SBS para una determinada fecha de proceso.ParametroDescripciónfechaProcesoFecha de procesamientocboEmisorEmisorcboMonedaTipo de MonedacboRatingRating EmisióncboEmisorDescripciòn1000GOB.CENTRAL2011ALICORP S.A.0087BANCO FALABELLA0088BCO RIPLEY0001BCRP0011CONTINENTAL0042CREDISCOTIA0003INTERBANK*Para conocer los emisores disponibles revisar la funciónget_df_emisores.cboMonedaDescripciòn1Soles2Soles VAC3DolarescboRatingAA+A-AAAA+AA-AAAB-BBCP-1CP-1+CP-1-CP-2CP-2+Ejemploimportsbs_gob_pe_helper.VectorPrecioRentaFijaasvpfechaProceso='21/07/2023'#Obtiene el vector de precios de instrumentos de renta fija disponibles en la SBS para una fecha de proceso específica:df_vector=vp.get_vector_precios(fechaProceso=fechaProceso)df_vector.columns.tolist()['Nemónico','ISIN/Identif.','Emisor','Moneda','P.Limpio(%)','TIR%','Origen(*)','Spreads','P.Limpio(monto)','P.Sucio(monto)','I.C.(monto)','F.Emisión','F.Vencimiento','Cupón(%)','MargenLibor(%)','TIR%S/Opc','RatingEmisión','Ult.Cupón','Prox.Cupón','Duración','VarPLimpio','VarPSucio','VarTir']#Exhibiendo los primeros 5 registros del vector de precios:df_vector.head()get_df_emisoresLa funciónget_df_emisorespermite obtener todos los emisores disponibles del vector de precios de la SBS.Ejemploimportsbs_gob_pe_helper.VectorPrecioRentaFijaasvp#Obtiene el historico de precios del asset con isin PEP21400M064df_emisores=vp.get_df_emisores()df_emisores.head()get_precios_by_isinLa funciónget_precios_by_isinpermite acceder a los datos históricos de precios para un determinado código ISIN.ParametroDescripciónisincódigo isin del assetEjemploimportsbs_gob_pe_helper.VectorPrecioRentaFijaasvpfechaProceso='21/07/2023'#Obtiene el historico de precios del asset con isin PEP21400M064df_precios=vp.get_precios_by_isin("PEP21400M064")df_precios.head()El modulo IndiceSpreadsCorporativoget_indice_spreads_corporativoLa funciónget_indice_spreads_corporativopermite acceder a los índices de spread  Índice spread corporativo de la SBS:ParametroDescripciónfechaInicialFecha inicialfechaFinalFecha finaltipoCurvaTipo de curvatipoCurvaDescripciònCBCRSCurva Cupon Cero CD BCRPCCSDFCurva Cupon Cero Dólares CPCSBCRDCurva Cupon Cero Dólares SinteticaCCINFSCurva Cupon Cero Inflacion Soles BCRPCCCLDCurva Cupon Cero Libor DolaresCCPEDSCurva Cupon Cero Peru Exterior Dolares - SoberanaCCPSSCurva Cupon Cero Peru Soles SoberanaCCPVSCurva Cupon Cero Peru Vac SoberanaEjemploimportsbs_gob_pe_helper.IndiceSpreadsCorporativoasisctpCurva='CCPSS'fInicial='04/08/2023'fFinal='04/08/2023'#Obtiene el vector de precios de instrumentos de renta fija disponibles en la SBS para una fecha de proceso específica:df_isc=isc.get_indice_spreads_corporativo(tipoCurva=tpCurva,fechaInicial=fInicial,fechaFinal=fFinal)df_isc.head()FeedbackLa mejor manera de enviar comentarios es crear un problema enhttps://github.com/ecandela/sbs-gob-pe-helper/issues.
Si estás proponiendo una característica:Explica detalladamente cómo funcionaría.Mantén el alcance lo más limitado posible para facilitar la implementación.Recuerda que este es un proyecto impulsado por voluntarios y que las contribuciones son bienvenidas :)