Introducción
El artículo tiene como objetivo capacitarlo para crear sus proyectos aprendiendo cómo crear su marco de datos y recopilar datos sobre el mercado de valores y el mercado de cifrado de Internet y luego basar su código en él. Esto le permitirá crear sus modelos de AA y experimentar con datos del mundo real.
En este artículo, demostraré dos métodos y ambos utilizan Yahoo Finance como fuente de datosUna "fuente de datos" se refiere a cualquier lugar o medio donde se puede obtener información. Estas fuentes pueden ser tanto primarias, como encuestas y experimentos, como secundarias, como bases de datos, artículos académicos o informes estadísticos. La elección adecuada de una fuente de datos es crucial para garantizar la validez y la fiabilidad de la información en investigaciones y análisis...., ya que es gratuito y no es necesario registrarse. Puede utilizar cualquier otra fuente de datos como Quandi, Tiingo, IEX Cloud y más.

Preparándose
En el primer enfoque, consideraremos el módulo de finanzas en Python y es un módulo muy fácil de trabajar. El otro módulo del que hablaremos es yahoofinancials, que requiere un esfuerzo adicional pero devuelve una gran cantidad de información adicional a cambio. Discutiremos eso más adelante y ahora comenzaremos importando los módulos requeridos en nuestro código.
Configuración inicial:
Necesitamos cargar las siguientes bibliotecas:
import pandas as pd import yfinance as yf from yahoofinancials import YahooFinancials
Si no tiene estas bibliotecas, puede instalarlas a través de pip.
!pip install yfinance !pip install yahoofinancials
Primer método: cómo usar yfinance
Anteriormente se conocía como ‘fix_yahoo_finance’, pero luego se transformó en un módulo propio, pero Yahoo no es oficial. El módulo ‘yfinance’ es ahora una biblioteca muy popular que es muy compatible con Python y se puede usar como un parche para pandas_datareader o una biblioteca independiente en sí misma. Tiene muchos usos potenciales y muchas personas lo usan para descargar los precios de las acciones y también los precios de las criptomonedas. Sin más demora, ejecutemos el siguiente código. Empezaremos descargando el precio de las acciones de ‘Apple’
Codigo:
aapl_df = yf.download('AAPL', start="2019-01-01", end='2021-06-12', progress=False, ) aapl_df.head()
Producción :
El intervalo de datos se establece en 1 día, pero el interno se puede especificar externamente con valores como 1 m, 5 m, 15 m, 30 m, 60 m, 1h, 1d, 1 semana, 1 mes y más. El comando anterior para descargar los datos muestra una fecha de inicio y finalización, pero también puede simplemente descargar los datos con el código que se proporciona a continuación:
Codigo:
aapl_df = yf.download('AAPL')
Producción :
Hay muchos parámetrosLos "parámetros" son variables o criterios que se utilizan para definir, medir o evaluar un fenómeno o sistema. En diversos campos como la estadística, la informática y la investigación científica, los parámetros son fundamentales para establecer normas y estándares que guían el análisis y la interpretación de datos. Su adecuada selección y manejo son cruciales para obtener resultados precisos y relevantes en cualquier estudio o proyecto.... de la función de descarga que puede encontrar en la documentación y el inicio y el final son algunos de los más comunes para ser utilizados. Dado que los datos eran pequeños, la barra de progreso se estableció en falso y mostrar que no tiene sentido y debe usarse para grandes volúmenes o datos.
También podemos descargar varios precios de acciones de más de un activo a la vez. Proporcionando una lista de nombres de empresas en formato de lista (p. Ej. [‘FB’,’ MSFT’,’AAPL’] ) como el argumento de los tickers. También podemos proporcionar un argumento adicional que es autoajuste = Verdadero, de modo que todos los precios actuales se ajustan para posibles acciones corporativas como divisiones.
Además de la función yf.download, también podemos usar el módulo ticker y puede ejecutar el siguiente código para descargar los últimos 5 años de precios de las acciones de Apple.
Codigo:
ticker = yf.Ticker('AAPL') aapl_df = ticker.history(period="5y") aapl_df['Close'].plot(title="APPLE's stock price")
Producción :
La única ventaja de utilizar un módulo ticker es que se pueden aprovechar los múltiples métodos que están conectados a él. Los métodos disponibles que podemos utilizar son:
-
info – Este método imprime una salida del formateador JSONJSON, o JavaScript Object Notation, es un formato ligero de intercambio de datos que es fácil de leer y escribir para los humanos, y fácil de analizar y generar para las máquinas. Se utiliza comúnmente en aplicaciones web para enviar y recibir información entre un servidor y un cliente. Su estructura se basa en pares de clave-valor, lo que lo hace versátil y ampliamente adoptado en el desarrollo de software... que contiene mucha información sobre la empresa, comenzando por el nombre completo de la empresa, el resumen, la industria, los intercambios enumerados con el país y la zona horaria, y más. También viene equipado con el beta coeficiente.
-
recomendaciones – Este método contiene una lista histórica de recomendaciones hechas por diferentes analistas con respecto a la acción y si comprar, vender o dar sugerencias sobre ella.
-
calendario – Esta función muestra todos los eventos entrantes, como las ganancias, e incluso puede agregar esto a su calendario de Google a través del código. Básicamente, muestra las fechas de dividendos importantes para una empresa.
Si aún desea explorar más sobre el funcionamiento de las funciones, puede consultar este GitHub repositorio de yfinance.
Segundo método: ¿Cómo usar yahoofinancials?
El segundo método es utilizar el módulo de yahoofinancials, que es un poco más difícil de trabajar, pero proporciona mucha más información que yfinance. Comenzaremos descargando los precios de las acciones de Apple.
Para hacer esto, primero pasaremos un objeto de YahooFinancials sin pasar por el nombre de Apply ticker y luego usaremos una variedad de información importante para obtener los datos requeridos. Aquí, los datos devueltos están en formato JSON y, por lo tanto, les realizamos un poco de embellecimiento para que puedan transformarse en un DataFrame para mostrarlos correctamente.
Codigo:
yahoo_financials = YahooFinancials('AAPL') data = yahoo_financials.get_historical_price_data(start_date="2019-01-01", end_date="2019-12-31", time_interval="weekly") aapl_df = pd.DataFrame(data['AAPL']['prices']) aapl_df = aapl_df.drop('date', axis=1).set_index('formatted_date') aapl_df.head()
Producción :
A nivel técnico, el proceso de obtener un precio histórico de las acciones es un poco más largo que el caso de yfinance, pero eso se debe principalmente al enorme volumen de datos. Ahora pasamos a algunas de las funciones importantes de yahoofinancials.
-
get_stock_quote_type_data () – Este método devuelve mucha información genérica sobre una acción que es similar a la función yfinance info (). La salida es algo como esto.
-
get_summary_data () – Este método devuelve un resumen de toda la empresa junto con datos útiles como el valor beta, el precio al valor contable y más.
-
get_stock_earnings_data () – Este método devuelve la información sobre las ganancias trimestrales y anuales de la empresa junto con la próxima fecha en la que la empresa reportará sus ganancias.
-
get_financial_stmts () – Este es otro método útil para recuperar los estados financieros de una empresa que es útil para el análisis de una acción.
-
get_historical_price_data () – Este es un método similar a la función download () o Ticker () para obtener los precios de las acciones con start_date, end_date y rangos de intervalo.
El módulo anterior también se puede usar para descargar datos de la empresa a la vez, como yfinance y los datos de criptomonedas también se pueden descargar como se muestra en el siguiente código.
Codigo:
yahoo_financials = YahooFinancials('BTC-USD') data=yahoo_financials.get_historical_price_data("2019-07-10", "2021-05-30", "monthly") btc_df = pd.DataFrame(data['BTC-USD']['prices']) btc_df = btc_df.drop('date', axis=1).set_index('formatted_date') btc_df.head()
Producción :
Para obtener más detalles sobre el módulo, puede consultar su GitHub Repositorio.
EndNotes
La información completa se obtiene en última instancia de Yahoo Finanzas y ahora sabe cómo importar cualquier conjunto de datos de precios e información de acciones o criptomonedas en su código y comenzar a explorar y experimentar con ellos. Buena suerte con tus aventuras y no dudes en compartir tu código conmigo en LinkedIn o no dude en comunicarse conmigo en caso de dudas o errores.
Gracias por leer hasta el final. Espero que esté bien y que se mantenga a salvo y que se vacune pronto o que ya lo esté.
Sobre el Autor :
Arnab Mondal
Ingeniero de datos y desarrollador de Python | Escritor técnico independiente
Enlace a mis otros artículos
Relacionado
Posts Relacionados:
- Conjuntos de Python | Operaciones de conjunto de Python
- Web Scraping con Python | Web Scraping con Python en ciencia de datos
- Cómo realizar un análisis de texto básico sin un conjunto de datos de entrenamiento
- Análisis del árbol de decisiones y la agrupación en clústeres de K-medias mediante el conjunto de datos Iris.