Yfinance es un paquete de python que nos permite obtener datos de mercado históricos de la API de finanzas de Yahoo de forma python. Se vuelve tan fácil para todos los desarrolladores de Python obtener datos con la ayuda de yfinance.
Podemos descargar fácilmente datos históricos de acciones de yfinance, pero el problema es que lleva mucho tiempo. Por lo tanto, usamos subprocesos múltiples para encubrir el tiempo. Los subprocesos múltiples nos permiten descargar grandes cantidades de datos mediante la ejecución de varios subprocesos al mismo tiempo.
Instalación
Este módulo no viene integrado con Python. Para instalarlo, escriba el siguiente comando en la terminal.
pip install yfinance
Veamos el proceso paso a paso que se explica a continuación con la implementación:
Paso 1: Obtenga todos los módulos requeridos
Python3
import yfinance as yf
Paso 2: obtener datos del historial de acciones
Python
# Get the stocks info import yfinance as yf # Ticker is a function responsible # for fetching the data MSFT is # representing info about Microsoft # Corporation msft = yf.Ticker('MSFT') # msft.info will return all information # about microsoft corporation data = msft.history() # printing the data print(data)
Producción:
Estos son los datos bursátiles de Microsoft Corporation de un año reciente. Tenga en cuenta que si usamos data = msft.history(period=’max’) devolverá todos los datos hasta ahora.
Paso 3: Descarga de los datos
Python3
# pip install yfinance import yfinance as yf # Here we use yf.download function data = yf.download( # tickers has value of company # shortname tickers='MSFT', ) # printing the data print(data)
Producción:
Por lo tanto, se completa 1 de 1 descarga. Son todos los datos de principio a fin hasta ahora de una sola empresa.
Paso 4: Descarga los datos de varias empresas
Este es un código para descargar los datos de empresas como IBM, Apple (AAPL), Amazon (AMZN), Microsoft (MSFT), etc.
Python3
# pip install yfinance import yfinance as yf ticker_list = ['IBM', 'MSFT', 'AAPL', 'AMZN'] # Here we use yf.download function data = yf.download( # passes the ticker tickers=ticker_list, # used for access data[ticker] group_by='ticker', ) # used for making transpose data = data.T for t in ticker_list: # printing name print(t) print('\n') # used data.loc as it takes only index # labels and returns dataframe print(data.loc[t]) print('\n')
Producción:
Paso 5: Cálculo del tiempo de ejecución y uso de subprocesos múltiples
As yfinance utiliza su propia técnica integrada de subprocesos para la descarga masiva. Para hacer esto, necesitamos asignar un nuevo parámetro en un archivo yf.download.
datos = yf.descargar(
teletipos=lista_de teletipos,
hilos = Verdadero, # Establecer el valor del hilo en verdadero
group_by=’ticker’,
)
Programa para calcular el tiempo, usamos el módulo de tiempo.
Python
# pip install yfinance import yfinance as yf import time # Time starts from here start = time.time() ticker_list = ['IBM', 'MSFT', 'AAPL', 'AMZN'] # Here we use yf.download function data = yf.download( tickers=ticker_list, threads=True, group_by='ticker', ) # used for making transpose data = data.T for t in ticker_list: print(t) # used data.loc as it takes only index # labels and returns dataframe print(data.loc[t]) # Total time calculated print('The program takes ', time.time()-start, 'seconds.')
Antes del hilo:
Después del hilo:
Publicación traducida automáticamente
Artículo escrito por shiv_ka_ansh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA