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í.

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
  • warn

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']
)
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...
PA.NUS.PRVT.PP     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(
    {
        'CO': 'Colombia',
        'CL': 'Chile',
        'PE': 'Perú'
    },
    indicator = 'NY.GDP.PCAP.PP.KD',
    fechaini = '2012',
    fechafin = '2022'
)

df
          Colombia         Chile          Perú
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í.
  • Revisar un proyecto de la 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.7.tar.gz (12.6 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.7-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: econdata-1.0.7.tar.gz
  • Upload date:
  • Size: 12.6 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.7.tar.gz
Algorithm Hash digest
SHA256 747de2e0c2f0d00bfc60710ac69f2c78fa9c904ec349a7beea84d471c628376f
MD5 fea5016929052ad282f2e589a26f1be8
BLAKE2b-256 4ce4aaebfd0bf16dd5b15201e40b4b49bf5031e7849fa7234c5a2fc46b46cbbe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: econdata-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 13.1 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d420946d03d75fc551cdf9a42606a85041eac8a7204f351c0b67645eb0c8a8f7
MD5 516cefe655966c205714f853a0136466
BLAKE2b-256 094ada28af4b2b3238ff102d5b77effa4b7546bbeb87232bf4c31081c4295435

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