es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python: pandas_datareader importa datos históricos de acciones en euros.

Mi objetivo es obtener datos históricos de acciones de diferentes empresas de Europa y Estados Unidos. Con la función:

import pandas_datareader as web
print(web.DataReader('ALB', 'yahoo', '01.01.2020', '01.01.2021'))

Resultado:

                  High         Low  ...     Volume   Adj Close
Date                                ...                       
2020-01-02   73.879997   72.190002  ...  1620838.0   70.942619
2020-01-03   72.389999   71.220001  ...  1337602.0   69.926498
2020-01-06   72.169998   70.188698  ...  1330518.0   69.848328
2020-01-07   73.489998   71.130997  ...  1497506.0   70.766747
2020-01-08   71.500000   69.610001  ...  2029494.0   69.545456
...                ...         ...  ...        ...         ...
2021-12-06  252.690002  239.110001  ...  1035976.0  248.539993
2021-12-07  263.190887  253.259995  ...   888158.0  259.529999
2021-12-08  265.859985  258.690002  ...   832756.0  264.640015
2021-12-09  266.489990  257.299988  ...   535738.0  257.470001
2021-12-10  263.559998  257.220001  ...   598893.0  262.869995

este código devuelve los datos históricos de las acciones en USD.

De lo contrario:

print(web.DataReader('BMW.DE', 'yahoo', '01.01.2020', '01.01.2021'))

Resultado:

                 High        Low       Open      Close     Volume  Adj Close
Date                                                                        
2020-01-02  74.629997  73.059998  73.139999  74.220001  1232319.0  67.103531
2020-01-03  73.830002  72.330002  73.730003  73.320000  1153245.0  66.289818
2020-01-06  73.050003  72.040001  72.830002  73.050003  1039192.0  66.045715
2020-01-07  74.320000  73.339996  73.599998  74.220001  1302124.0  67.103531
2020-01-08  74.500000  73.750000  73.940002  74.410004   941807.0  67.275307
...               ...        ...        ...        ...        ...        ...
2021-12-06  88.800003  86.820000  88.029999  88.419998  1100120.0  88.419998
2021-12-07  88.419998  88.419998  88.419998  88.419998        0.0  88.419998
2021-12-08  91.209999  89.129997  90.849998  91.129997  1338471.0  91.129997
2021-12-09  91.870003  90.000000  91.489998  90.220001  1050166.0  90.220001
2021-12-10  90.190002  88.949997  89.529999  89.660004  1415043.0  89.660004

este código devuelve los datos históricos de las acciones en EUR.

¿Existe la posibilidad de unificar la moneda en ambos casos?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, existe la posibilidad de unificar la moneda en ambos casos. Puedes utilizar el paquete pandas-datareader-fxdata para convertir los datos de USD a EUR. Primero, necesitas instalar el paquete utilizando pip.

    !pip install pandas-datareader-fxdata
    

    Luego, puedes utilizar la función DataReader de pandas_datareader para obtener los datos de tipo de cambio entre USD y EUR, y utilizar la función FXRates de pandas_datareader_fxdata para convertir los datos históricos de las acciones de USD a EUR. Aquí tienes un ejemplo:

    import pandas_datareader as web
    from pandas_datareader_fxdata import FXRates
    
    # Obtén los datos de tipo de cambio entre USD y EUR
    fx = web.DataReader('USD/EUR', 'fred', '01/01/2020', '01/01/2021')
    
    # Convierte los datos históricos de las acciones de USD a EUR
    usd_data = web.DataReader('ALB', 'yahoo', '01/01/2020', '01/01/2021')
    eur_data = FXRates(fx).convert(usd_data)
    
    # Imprime los datos en EUR
    print(eur_data)
    
    # Repite el proceso para los datos de las acciones de BMW.DE
    usd_data = web.DataReader('BMW.DE', 'yahoo', '01/01/2020', '01/01/2021')
    eur_data = FXRates(fx).convert(usd_data)
    print(eur_data)
    

    Esto te brindará los datos históricos de las acciones en EUR para ambas acciones.

Comments are closed.