Получение Котировок Акций С Помощью Python

Привет, Хабр! Представляю вашему вниманию перевод статьи «Исторические данные о ценах на акции в Python» Ишан Шах.

Статья о том, как получить ежедневные исторические данные по акциям с помощью yfinance и минутные данные с помощью Alpha vantage.

Получение котировок акций с помощью Python

Как вы знаете, акции являются очень волатильными инструментами, и очень важно тщательно анализировать поведение цены, прежде чем принимать какие-либо торговые решения.

Что ж, сначала вам нужно получить данные, и в этом может помочь Python. Данные о запасах можно загрузить с помощью различных пакетов.

В этой статье речь пойдет о Yahoo Finance и Alpha Vantage.



Yahoo Финансы

Для начала давайте попробуем пакет yfianance. Его можно установить с помощью команды pip install yfinance. В приведенном ниже коде показано, как получить данные по AAPL за период с 2016 по 2019 год и отобразить скорректированную цену закрытия (скорректированную цену закрытия для дивидендов и дроблений) на графике.

  
  
   

# Import the yfinance. If you get module not found error the run !pip install yfianance from your Jupyter notebook import yfinance as yf # Get the data for the stock AAPL data = yf.download('AAPL','2016-01-01','2019-08-01') # Import the plotting library import matplotlib.pyplot as plt %matplotlib inline # Plot the close price of the AAPL data['Adj Close'].

plot() plt.show()



Получение котировок акций с помощью Python

Ну а если вам нужно получить несколько долей, то нужно внести небольшое дополнение в код. DataFrame используется для хранения значений.

Используя пакет matplotlib и полученные данные, вы можете построить график дневной доходности.



# Define the ticker list import pandas as pd tickers_list = ['AAPL', 'WMT', 'IBM', 'MU', 'BA', 'AXP'] # Import pandas data = pd.DataFrame(columns=tickers_list) # Fetch the data for ticker in tickers_list: data[ticker] = yf.download(ticker,'2016-01-01','2019-08-01')['Adj Close'] # Print first 5 rows of the data data.head()



Получение котировок акций с помощью Python



# Plot all the close prices ((data.pct_change()+1).

cumprod()).

plot(figsize=(10, 7)) # Show the legend plt.legend() # Define the label for the title of the figure plt.title("Adjusted Close Price", fontsize=16) # Define the labels for x-axis and y-axis plt.ylabel('Price', fontsize=14) plt.xlabel('Year', fontsize=14) # Plot the grid lines plt.grid(which="major", color='k', linestyle='-.

', linewidth=0.5) plt.show()



Получение котировок акций с помощью Python

В стоимости российских акций есть небольшая тонкость.

К названию акции добавляется точка и МЕ заглавными буквами.

Спасибо специалистам SmartLab за советы.



Получение котировок акций с помощью Python



Получение минутных данных с помощью Alpha vantage

К сожалению, бесплатная версия Yahoo Finance не позволяет получать данные с частотой реже, чем ежедневно.

Для этого вы можете использовать пакет Alpha vantage, который позволяет получать такие интервалы, как 1 минута, 5 минут, 15 минут, 30 минут, 60 минут.

Получение котировок акций с помощью Python

Эти данные позже можно проанализировать, создать торговую стратегию и оценить эффективность с помощью пакета pyfolio. Он позволяет оценить коэффициент Шарпа, коэффициент Сортино, максимальную просадку и многие другие необходимые показатели.

надеюсь мой перевод оригинальный статьи будет вам полезен.

Код проверен и все работает. Но пока для меня остается вопрос о возможности использования Alpha vantage для российского рынка.

Теги: #Машинное обучение #python #Финансы в ИТ #python торговля на фондовой бирже инвестиции

Вместе с данным постом часто просматривают: