Skip to main content

Extracción de series de tiempo de las principales instituciones económicas para el Perú

Project description

Econdata

Econdata es una librería para la extracción de series de tiempo de las principales instituciones económicas para el Perú. En la versión actual se cuenta con las siguientes instituciones:

  1. Banco Central de Reserva del Perú (BCRP)
  2. Banco Mundial (WB)
  3. Federal Reserve Economic Data (FRED)
  4. Fondo Monetario Internacional (IMF)
  5. Organización para la Cooperación y el Desarrollo Económicos (OECD)
  6. Yahoo! Finance (YFinance)

El anuncio fue realizado en LinkedIn, y está disponible aquí.

Tabla de contenido

Instalación

Para instalar la versión más reciente de econdata desde PyPI:

pip install econdata

La librería requiere de las siguientes dependencias:

  • pandas
  • numpy
  • yfinance
  • requests
  • warnings
  • itertools

Métodos

Para cada institución se tiene dos métodos comunes. El primero sirve para extraer las series dado un rango de peridos:

get_data()

La segunda sirve para conseguir la metadata:

search()

El resultado incluye los nombres, códigos y fechas que servirán como complemento con la función anterior: get_data().

Getting started

Ejemplo: Extracción de datos del BCRP

Iniciaremos con la consulta del PBI real en variaciones anuales:

from econdata import BCRP

BCRP.search(
    consulta=['PBI'],
    grupo=['Producto', 'variaciones'],
    frecuencia='Trimestral'
)
                                                    Grupo de serie  \
Código de serie                                                      
PN02507AQ        Producto bruto interno (variaciones porcentuales)   
PN02526AQ        Producto bruto interno por tipo de gasto (vari...   

                Nombre de serie  Frecuencia Fecha de inicio Fecha de fin  
Código de serie                                                           
PN02507AQ            PBI Global  Trimestral         T1-1980      T4-2022  
PN02526AQ                   PBI  Trimestral         T1-1980      T4-2022

Tras obtener el código de la serie (PN02526AQ), se puede solicitar la data para un rango de periodos:

df = BCRP.get_data(
    series={'PN02526AQ':'PBI'},
    fechaini='2000Q1',
    fechafin='2023Q2'
)

df
             PBI
2001Q1 -5.330526
2001Q2  0.301282
2001Q3  2.742307
2001Q4  4.782608
2002Q1  6.525020
         ...
2022Q2  3.370007
2022Q3  1.956069
2022Q4  1.661968
2023Q1 -0.408395
2023Q2 -0.495679

[90 rows x 1 columns]

Ejemplo: Extracción de datos de Banco Mundial

Iniciaremos con la consulta del PBI per cápita en PPP constantes (US$ 2017) para Perú, Chile y Colombia:

from econdata import WB

WB.search(
    consulta=['gdp', 'per', 'capita']
)
                                                               title
id                                                                  
NY.GDP.PCAP.CD                          GDP per capita (current US$)
NY.GDP.PCAP.CN                          GDP per capita (current LCU)
NY.GDP.PCAP.KD                    GDP per capita (constant 2015 US$)
NY.GDP.PCAP.KD.ZG                   GDP per capita growth (annual %)
NY.GDP.PCAP.KN                         GDP per capita (constant LCU)
NY.GDP.PCAP.PP.CD      GDP per capita, PPP (current international $)
NY.GDP.PCAP.PP.KD  GDP per capita, PPP (constant 2017 internation...
PA.NUS.PPP         PPP can be used to convert national accounts d...
SE.XPD.PRIM.PC.ZS  Government expenditure per student, primary (%...
SE.XPD.SECO.PC.ZS  Government expenditure per student, secondary ...
SE.XPD.TERT.PC.ZS  Government expenditure per student, tertiary (...

Tras obtener el código de la serie (NY.GDP.PCAP.PP.KD), se puede solicitar la data para un rango de periodos:

df = WB.get_data(
    countries = {
        'CO': 'Colombia',
        'CL': 'Chile',
        'PE': 'Perú'
    },
    indicators = {
        'NY.GDP.PCAP.PP.KD': 'Real GDP per capita'
    },
    fechaini = '2012',
    fechafin = '2022'
)

df
                Colombia               Chile                Perú
     Real GDP per capita Real GDP per capita Real GDP per capita
time                                                            
2012        12934.965752        23467.978726        11084.873937
2013        13465.075044        24011.591014        11620.644447
2014        13938.231517        24197.183280        11773.944135
2015        14215.688252        24464.745662        12015.187156
2016        14358.168218        24599.374633        12321.318154
2017        14334.914608        24546.912421        12442.746462
2018        14426.434382        25071.990069        12696.236289
2019        14616.135124        24809.860974        12735.168278
2020        13358.298083        22970.550435        11187.343790
2021        14661.213244        25412.752073        12533.841417
2022        15651.582058        25886.121356        12743.942391

Ejemplo: Extracción de datos de Yahoo! Finance

Iniciaremos con la consulta de la cotización de Apple y Microsoft:

from econdata import YFinance

YFinance.search(
    consulta=['Microsoft']
)
                                      Name        Country  IPO Year  \
Symbol                                                                
MSFT    Microsoft Corporation Common Stock  United States      1986   

            Sector                                 Industry  
Symbol                                                       
MSFT    Technology  Computer Software: Prepackaged Software

Tras obtener el Ticker de las series (AAPL y MSFT), se puede solicitar la data para un rango de periodos:

df = YFinance.get_data(
    {
        'AAPL': 'Apple',
        'MSFT': 'Microsoft'
    },
    fechaini = '2018-01-01',
    fechafin = '2023-10-15'
)

df
                 Apple   Microsoft
Date                              
2018-01-02   40.776524   80.391853
2018-01-03   40.769421   80.765976
2018-01-04   40.958794   81.476830
2018-01-05   41.425129   82.487007
2018-01-08   41.271259   82.571159
               ...         ...
2023-10-09  178.990005  329.820007
2023-10-10  178.389999  328.390015
2023-10-11  179.800003  332.420013
2023-10-12  180.710007  331.160004
2023-10-13  178.850006  327.730011

[1456 rows x 2 columns]

Contenido adicional

Para más información revisar los siguientes links:

  • Más códigos de test están disponibles aquí.
  • El video del anuncio de la librería y la demo está disponible aquí.
  • Proyecto: creación de modelo de Nowcasting de forecast del PBI real peruano, disponible aquí.
  • Proyecto: creación de un dashboard de indicadores peruanos elaborado con la librería, disponible aquí.

Créditos

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

econdata-1.0.17.tar.gz (12.9 kB view hashes)

Uploaded Source

Built Distribution

econdata-1.0.17-py3-none-any.whl (13.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page