Análisis de precios de acciones con Python

Contenidos

¡Hola lectores! Todos sabemos cómo funciona la Bolsa de Valores. Una acción es la pequeña parte de la propiedad de la empresa. El precio de las acciones de la empresa refleja la evaluación neta de la empresa y también da una pequeña idea de su desempeño. Estas acciones se cotizan en bolsas y sus precios cambian constantemente debido a su demanda y oferta en el mercado. Si una acción tiene alta demanda y poca oferta, es decir, más gente quiere comprarla y menos gente está dispuesta a venderla, entonces el precio de la acción aumentará y de manera similar si la acción tiene poca demanda y alta oferta, lo que significa gente más gente está dispuesta a venderlo, pero menos gente está dispuesta a comprarlo y sus precios bajan.

El aumento repentino de la demanda de acciones puede deberse a varias razones, incluidas noticias positivas sobre la empresa o un anuncio de la empresa. Después de un período de tiempo en el que la demanda de las acciones desaparece, sus precios bajan lentamente a medida que el inversor pierde interés en ellas. Estos precios de las acciones que suben y bajan es un proceso iterativo y repetido. Esta volatilidad de las acciones pone nerviosos a los inversores al invertir en una empresa. Entonces, para comprender el riesgo asociado con él, debe haber un análisis adecuado de las acciones antes de comprarlas. En este artículo, intentaríamos explorar solo la punta del iceberg para el análisis del mercado de valores, ya que el análisis técnico del valor es un campo vasto. Este blog puede resultarle el punto de partida en esta industria.

La herramienta no es importante para el análisis, se puede realizar en cualquier software estadístico como Python, R o Excel, pero por el bien de este artículo, estamos demostrando el análisis en Python.

Contenido

  • Bibliotecas utilizadas
  • Descripción de datos
  • Análisis exploratorio
  • Matriz de parcela dispersa
  • Promedios móviles
  • Aumento porcentual del valor de las acciones
  • Conclusión

Bibliotecas utilizadas

Las siguientes son las bibliotecas que se deben instalar de antemano y que se pueden descargar fácilmente con la ayuda de la función pip. A continuación se proporciona una breve descripción del nombre de la biblioteca y su aplicación.

BibliotecaSolicitud
Yahoo FinanzasPara descargar datos de stock
PandasPara manejar marcos de datos en Python
NumpyPython numérico
MatplotlibTrazar gráficos
import pandas as pd

import datetime

import numpy as np

import matplotlib.pyplot as plt

from pandas.plotting import scatter_matrix

!pip install yfinance

import yfinance as yf

%matplotlib inline

Descripción de datos:

Hemos descargado los datos diarios de los precios de las acciones utilizando la funcionalidad API de finanzas de Yahoo. Es una captura de datos de cinco años de apertura, máximo, mínimo, cierre y volumen.

  • Abierto: El precio de la acción cuando el mercado abre por la mañana.
  • Cierre: el precio de la acción cuando el mercado cerró por la noche.
  • Alto: precio más alto que alcanzó la acción durante ese día
  • Bajo: precio más bajo en el que se negocia la acción ese día
  • Volumen: la cantidad total de acciones negociadas ese día.

Aquí, tomaremos el ejemplo de tres empresas, TCS, Infosys y Wipro, que son líderes de la industria en la prestación de servicios de TI.

start = "2014-01-01"
end = '2019-1-01'
tcs = yf.download('TCS',start,end)
infy = yf.download('INFY',start,end)
wipro = yf.download('WIPRO.NS',start,end)

Análisis exploratorio

tcs['Open'].plot(label="TCS", figsize = (15,7))
infy['Open'].plot(label = "Infosys")
wipro['Open'].plot(label="Wipro")
plt.title('Stock Prices of TCS, Infosys and Wipro')
391811-8640852

El gráfico anterior es la representación de los precios de las acciones abiertas para estas tres empresas a través de un gráfico de líneas aprovechando la biblioteca matplotlib en Python. El gráfico muestra claramente que los precios de Wipro son más al compararlo con otras dos empresas, pero no estamos interesados ​​en los precios absolutos de estas empresas, pero queríamos entender cómo estas acciones fluctúan con el tiempo.

tcs['Volume'].plot(label="TCS", figsize = (15,7))
infy['Volume'].plot(label = "Infosys")
wipro['Volume'].plot(label="Wipro")
plt.title('Volume of Stock traded')
plt.legend()
495472-2475622

El gráfico muestra el volumen negociado por estas empresas, lo que muestra claramente que las acciones de Infosys se negocian más en comparación con otras acciones de TI.

#Market Capitalisation
tcs['MarktCap'] = tcs['Open'] * tcs['Volume']
infy['MarktCap'] = infy['Open'] * infy['Volume']
wipro['MarktCap'] = wipro['Open'] * wipro['Volume']
tcs['MarktCap'].plot(label="TCS", figsize = (15,7))
infy['MarktCap'].plot(label="Infosys")
wipro['MarktCap'].plot(label="Wipro")
plt.title('Market Cap')
plt.legend()
216153-8908348

Solo el volumen o los precios de las acciones no proporcionan una comparación entre empresas. En este caso, hemos trazado un gráfico de Volumen * Precio de la acción para comparar mejor las empresas. Como podemos ver claramente en el gráfico, Wipro parece negociarse en un lado más alto.

Promedios móviles

Como sabemos, los precios de las acciones son muy volátiles y los precios cambian rápidamente con el tiempo. Para observar cualquier tendencia o patrón podemos tomar la ayuda de un promedio de 200 días de 50 días

tcs['MA50'] = tcs['Open'].rolling(50).mean()
tcs['MA200'] = tcs['Open'].rolling(200).mean()
tcs['Open'].plot(figsize = (15,7))
tcs['MA50'].plot()
tcs['MA200'].plot()
379674-8381622

Matriz de parcela dispersa

data = pd.concat([tcs['Open'],infy['Open'],wipro['Open']],axis = 1)
data.columns = ['TCSOpen','InfosysOpen','WiproOpen']
scatter_matrix(data, figsize = (8,8), hist_kwds= {'bins':250})
879025-8909122

El gráfico anterior es la combinación de histogramas para cada empresa y un diagrama de dispersión posterior que toma las acciones de dos empresas a la vez. A partir del gráfico, podemos deducir claramente que las acciones de Wipro muestran vagamente una correlación lineal con Infosys.

Aumento porcentual del valor de las acciones

Un aumento porcentual en el valor de las acciones es el cambio en las existencias en comparación con el día anterior. Cuanto mayor sea el valor, ya sea positivo o negativo, más volátil será la acción.

#Volatility
tcs['returns'] = (tcs['Close']/tcs['Close'].shift(1)) -1
infy['returns'] = (infy['Close']/infy['Close'].shift(1))-1
wipro['returns'] = (wipro['Close']/wipro['Close'].shift(1)) - 1
tcs['returns'].hist(bins = 100, label="TCS", alpha = 0.5, figsize = (15,7))
infy['returns'].hist(bins = 100, label="Infosysy", alpha = 0.5)
wipro['returns'].hist(bins = 100, label="Wipro", alpha = 0.5)
plt.legend()
292566-4706092

En el gráfico se desprende claramente que el porcentaje de aumento en el histograma del precio de las acciones de TCS es el más amplio, lo que indica que las acciones de TCS son las más volátiles entre las tres empresas comparadas.

Conclusión

El análisis anterior se puede utilizar para comprender el comportamiento a corto y largo plazo de una acción. Se puede crear un sistema de apoyo a la decisión de qué acciones elegir de la industria para obtener una ganancia baja de bajo riesgo o una ganancia alta de alto riesgo, dependiendo de la apatita de riesgo del inversor.

No dude en conectarse a través de Linkedin:

https://www.linkedin.com/in/fasih-ahmad-61491aa9/

Los medios que se muestran en este artículo no son propiedad de DataPeaker y se utilizan a discreción del autor.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.