0% encontró este documento útil (0 votos)
25 vistas2 páginas

Análisis de acciones con Yahoo Finance

Este documento presenta un programa que consulta la variación de precios de acciones populares en diferentes períodos de tiempo. Carga bibliotecas para consultar datos financieros y traducir textos. Solicita al usuario el período deseado, extrae datos de precios de acciones populares, calcula la variación porcentual, y traduce la descripción de la empresa.

Cargado por

dannis
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas2 páginas

Análisis de acciones con Yahoo Finance

Este documento presenta un programa que consulta la variación de precios de acciones populares en diferentes períodos de tiempo. Carga bibliotecas para consultar datos financieros y traducir textos. Solicita al usuario el período deseado, extrae datos de precios de acciones populares, calcula la variación porcentual, y traduce la descripción de la empresa.

Cargado por

dannis
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

# Instalamos las biblioteca que emplearemos (Yahoo Finance, Google Translator)

!pip install itranslate yfinance -q

# Cargamos la bibliotecas que emplearemos en este programa


from itranslate import itranslate as itrans
from PIL import Image
import requests
import yfinance as yf

def add_linebreaks (s, col_width = 120):


"""
Formatea una cadena de texto añadiendo saltos de línea cada
cierto número de caracteres. Además, garantiza que el salto
siempre se produzca en un espacio (para evitar cortar palabras)
:param s: la cadena que se desea formatear.
:param col_width: el ancho deseado de columna.
:return: la cadena formateada.
"""
s_out = ""
break_at_next_space = False
for i in range(len(s)):
if (i+1) % col_width == 0:
break_at_next_space = True
if break_at_next_space and s[i] == ' ':
s_out += "\n"
break_at_next_space = False
else:
s_out += s[i]
return s_out

# Solicita al usuario el periodo de consulta


print("Introduzca el periodo para el que quiere consultar la variación.")
print("Las opciones válidas son 'Y' (año), 'M' (mes), 'D' (día): ")
valid_options = {
'Y': ('y', 'año'),
'M': ('mo', 'mes'),
'D': ('d', 'día')
}
option = input()
while [Link]() not in valid_options.keys():
print("La opción introducida no es válida.")
option = input("Las opciones válidas son 'Y' (año), 'M' (mes), 'D' (día): ")

# Extraemos algunos de los tickers más populares


tickers = [Link]("AAPL MSFT AMZN TSLA")

# Recorremos los tickers


for ticker in [Link]():
# Descarga y muestra el logotipo de la empresa
im = [Link]([Link]([Link]['logo_url'], stream=True).raw)
display(im)

# Imprime el nombre completo de la empresa y el exchange


print(f"{[Link]['longName']} ({[Link]['exchange']})")

# Traduce la descripción de la empresa al español


summary = itrans([Link]['longBusinessSummary'], to_lang='es')
summary = add_linebreaks(summary)
print(summary)
print()

# Extrae el histórico de valores de la compañía


# El intervalo es de un minuto para variación intradía,
# o de un día para variación mensual o anual.
period_code, period_name = valid_options[[Link]()]
if period_code == 'd':
interval = '1m'
else:
interval = '1d'
values = [Link](period=f"1{period_code}", interval=interval).Close

# Calculamos la tasa de variación


pct = 100 * (values[-1] - values[0]) / values[0]

# El precio actual es mayor que al inicio del periodo: la acción ha subido


if pct > 0:
print(f"El precio de la acción ha subido un {pct:.2f}% en el último
{period_name}.")

# El precio actual es menor que al inicio del periodo: la acción ha bajado


elif pct < 0:
print(f"El precio de la acción ha bajado un {-pct:.2f}% en el último
{period_name}.")

# El precio no ha variado.
else:
print(f"El precio de la acción se ha mantenido en el último {period_name}")

# Imprime un par de líneas en blanco antes de pasar al siguiente ticker


print("\n\n")

También podría gustarte