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.11.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

econdata-1.0.11-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file econdata-1.0.11.tar.gz.

File metadata

  • Download URL: econdata-1.0.11.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for econdata-1.0.11.tar.gz
Algorithm Hash digest
SHA256 cbe80a4f93deedb2ce7400342035fec6db6b3c1728a1577efc9895c8ee0bb3d3
MD5 800696ff1c0a85283ac47e3dbd4b58cd
BLAKE2b-256 a67db55db3ada25077fe215e0d1a54da54479df439314aee302827070850d428

See more details on using hashes here.

File details

Details for the file econdata-1.0.11-py3-none-any.whl.

File metadata

  • Download URL: econdata-1.0.11-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for econdata-1.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 0475e2cbe0de94b613edb1f5cb50a2a9302c1d84c827d8ac46f698d896be2a37
MD5 e5655d9d9a472cf85a3d1584373a9e8d
BLAKE2b-256 b94dd0ae4a062009aa8083b195d56654f8bf612ae10a7ae521efc80ecea67051

See more details on using hashes here.

Supported by

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