Hola Habr! Les presento la traducción del artículo "Datos históricos de precios de acciones en Python" de Ishan Shah.Un artículo sobre cómo obtener datos de existencias históricas diarias usando yfinance y datos de minutos usando alpha vantage.Como saben, las acciones son un instrumento muy volátil y es muy importante analizar cuidadosamente el comportamiento de los precios antes de tomar cualquier decisión comercial. Bueno, primero necesitas obtener los datos y Python puede ayudarte con esto.Los datos de intercambio se pueden descargar usando varios paquetes. Este artículo cubrirá las finanzas de Yahoo y Alpha Vantage.Yahoo Finanzas
Primero, prueba el paquete yfianance. Se puede instalar utilizando el comando pip install yfinance. El siguiente código muestra cómo obtener datos para AAPL de 2016 a 2019 y generar el precio de cierre ajustado (precio de cierre ajustado para dividendos y divisiones) en el gráfico.
import yfinance as yf
data = yf.download('AAPL','2016-01-01','2019-08-01')
import matplotlib.pyplot as plt
%matplotlib inline
data['Adj Close'].plot()
plt.show()
Bueno, si necesita obtener varios recursos compartidos, debe hacer una pequeña adición al código. Un DataFrame se usa para almacenar valores. Usando el paquete matplotlib y los datos recibidos, puede crear un gráfico de rentabilidad diaria.
import pandas as pd
tickers_list = ['AAPL', 'WMT', 'IBM', 'MU', 'BA', 'AXP']
data = pd.DataFrame(columns=tickers_list)
for ticker in tickers_list:
data[ticker] = yf.download(ticker,'2016-01-01','2019-08-01')['Adj Close']
data.head()
![imagen](https://habrastorage.org/webt/gf/13/qd/gf13qd9_nnioraenu_woxffv8zk.png)
((data.pct_change()+1).cumprod()).plot(figsize=(10, 7))
plt.legend()
plt.title("Adjusted Close Price", fontsize=16)
plt.ylabel('Price', fontsize=14)
plt.xlabel('Year', fontsize=14)
plt.grid(which="major", color='k', linestyle='-.', linewidth=0.5)
plt.show()
Para los valores de las acciones rusas, hay una leve sutileza. Se agregan un punto y letras mayúsculas ME al nombre de la acción. Gracias expertos en el smartlab solicitados.![imagen](https://habrastorage.org/webt/hn/zt/h_/hnzth_bw7zyhcq683akiefjzdyc.png)
Obtenga datos de minutos con Alpha vantage
Lamentablemente, la versión gratuita de Yahoo Finance no le permite recibir datos con una frecuencia inferior a la diaria. Para hacer esto, puede usar el paquete Alpha vantage, que le permite obtener intervalos tales como 1 min, 5 min, 15 min, 30 min, 60 min.
En el futuro, estos datos se pueden analizar, crear una estrategia comercial y evaluar la efectividad utilizando el paquete de cartera. En él, puede evaluar la relación de Sharpe, el coeficiente de Sortino, la reducción máxima y muchos otros indicadores necesarios.Espero que mi traducción del artículo original le sea útil. El código ha sido verificado y todo funciona. Pero por ahora, la pregunta para mí es la posibilidad de usar Alpha Vantage para el mercado ruso.