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: ¿Cómo transformar ISIN, WKN o RIC en el símbolo de cotización de Yahoo?

Basándonos en esta publicación aquí, tengo la posibilidad de transformar el ISIN a alguna forma de símbolo de ticker con la ayuda de la biblioteca investpy. Esta transformación es correcta para la mayoría de las acciones de Estados Unidos.

Sin embargo, este símbolo en sí mismo no es, en ningún caso, el mismo que el símbolo de ticker que necesito para llamar al dataframe de pandas. Creo más exactamente que se ajusta al símbolo RIC (por ejemplo, mira aquí).

Por ejemplo, si intento la siguiente llamada:

import investpy

df = investpy.stocks.search_stocks(by='isin', value='DE0006048432')
print(df)

Mi resultado es:

       country        name  ... currency     symbol
0      germany  Henkel VZO  ...      EUR     HNKG_p
1        italy  Henkel VZO  ...      EUR     HNKG_p
2  switzerland  Henkel VZO  ...      EUR  HNKG_pEUR

pero

from pandas_datareader import data as pdr

stock = pdr.DataReader('HNKG_p', data_source="yahoo", start="2021-01-01", end="2021-10-30")

me devuelve un error.

La llamada correcta que necesito es:

stock = pdr.DataReader('HEN3.DE', data_source="yahoo", start="2021-01-01", end="2021-10-30")

Entonces mi pregunta es:

  • ¿Existe alguna forma de transformar un ISIN, tal vez WKN o también RIC, al símbolo de ticker que Yahoo necesita para la llamada a DataReader?

O más en general:

  • ¿Existe alguna manera de obtener datos históricos de acciones con el conocimiento del ISIN, tal vez WKN o RIC?
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Respuesta del experto de TI

    Sí, existen formas de transformar el código ISIN, WKN o RIC al símbolo de ticker que pandas_datareader necesita para la llamada de DataReader. Aquí hay algunas formas:

    Utilizando la biblioteca investpy

    Puedes utilizar la biblioteca investpy para buscar el símbolo de ticker basado en el código ISIN o WKN. La biblioteca investpy proporciona una función llamada search_stocks() para buscar acciones basadas en diferentes criterios, incluyendo el código ISIN y WKN. Una vez que tengas el símbolo de ticker, puedes utilizarlo para obtener datos históricos de acciones utilizando pandas_datareader.

    Aquí tienes un ejemplo de código:

    import investpy
    from pandas_datareader import data as pdr
    import yfinance as yf
    
    # Define las fechas de inicio y fin para los datos de acciones
    fecha_inicio = '2021-01-01'
    fecha_fin = '2021-10-30'
    
    # Busca acciones utilizando el código ISIN
    df = investpy.stocks.search_stocks(by='isin', value='DE0006048432')
    
    # Obtiene el símbolo de ticker de los resultados de la búsqueda
    ticker = df['symbol'].iloc[0]
    
    # Utiliza yfinance para establecer la fuente del símbolo de ticker y los puntos de inicio/fin del historial
    yf.pdr_override()
    accion = pdr.get_data_yahoo(ticker, start=fecha_inicio, end=fecha_fin)
    
    # Imprime los datos de acciones obtenidos
    print(accion)
    

    Utilizando símbolos RIC

    Los símbolos RIC se utilizan ampliamente en los mercados financieros y bolsas, y pueden utilizarse para obtener datos de acciones utilizando pandas_datareader. En muchos casos, el símbolo RIC se puede derivar del código ISIN o WKN.

    Aquí tienes un ejemplo de código:

    from pandas_datareader import data as pdr
    
    # Define las fechas de inicio y fin para los datos de acciones
    fecha_inicio = '2021-01-01'
    fecha_fin = '2021-10-30'
    
    # Define el código ISIN o WKN de la acción
    codigo_isin = 'DE0006048432'
    
    # Deriva el símbolo RIC a partir del código ISIN o WKN
    simbolo_ric = codigo_isin[0:2] + '.' + codigo_isin[2:6] + '-X'
    
    # Utiliza pandas_datareader para obtener los datos de acciones utilizando el símbolo RIC
    accion = pdr.DataReader(simbolo_ric, data_source='yahoo', start=fecha_inicio, end=fecha_fin)
    
    # Imprime los datos de acciones obtenidos
    print(accion)
    

    Utilizando sitios web de noticias financieras

    También puedes utilizar sitios web de noticias financieras como Yahoo Finance o Google Finance para buscar acciones utilizando los códigos ISIN o WKN, y obtener el símbolo de ticker de los resultados de búsqueda. Una vez que tengas el símbolo de ticker, puedes utilizarlo para obtener datos históricos de acciones utilizando pandas_datareader.

    Aquí tienes un ejemplo de código para utilizar Yahoo Finance:

    from pandas_datareader import data as pdr
    import yfinance as yf
    
    # Define las fechas de inicio y fin para los datos de acciones
    fecha_inicio = '2021-01-01'
    fecha_fin = '2021-10-30'
    
    # Define el código ISIN o WKN de la acción
    codigo_isin = 'DE0006048432'
    
    # Busca la acción utilizando Yahoo Finance
    resultados_busqueda = yf.Ticker('{}.X'.format(codigo_isin)).info
    
    # Obtiene el símbolo de ticker de los resultados de búsqueda
    ticker = resultados_busqueda['symbol']
    
    # Utiliza yfinance para establecer la fuente del símbolo de ticker y los puntos de inicio/fin del historial
    yf.pdr_override()
    accion = pdr.get_data_yahoo(ticker, start=fecha_inicio, end=fecha_fin)
    
    # Imprime los datos de acciones obtenidos
    print(accion)
    

    En resumen, existen varias formas de transformar los códigos ISIN, WKN o RIC en símbolos de ticker que se pueden utilizar para obtener datos históricos de acciones utilizando pandas_datareader. Puedes utilizar la biblioteca investpy para buscar el símbolo de ticker basado en el código ISIN o WKN, utilizar los símbolos RIC directamente, o utilizar sitios web de noticias financieras para buscar acciones y obtener los símbolos de ticker de los resultados de búsqueda.

Comments are closed.