Yahoo Finance - один из бесплатных источников для получения биржевых данных.Вы можете получить данные либо с помощью pandas datareader, либо с помощью библиотеки yfinance.Метод получения данных из библиотеки yfinance показан ниже.
# Import the yfinance. If you get module not found error the run !pip install yfiannce from your Jupyter notebook
import yfinance as yf
# Get the data of 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()
Quandl Wiki - это один из бесплатных источников, доступных на quandl для получения данных для 3000+ акций США.Это данные, поддерживаемые сообществом.Недавно его перестали обслуживать, но, тем не менее, это хороший бесплатный источник для тестирования ваших стратегий.Чтобы получить данные, вам нужно получить бесплатный ключ API от quandl и заменить в приведенном ниже коде свой ключ API.
# Import the quandl package
import quandl
# Get the data from quandl
data = quandl.get("WIKI/KO", start_date="2016-01-01", end_date="2018-01-01", api_key=<Your_API_Key>)
# Plot the close pr
import matplotlib.pyplot as plt
data.Close.plot()
# Show the plot
plt.show()
Примечание: для Quandl требуется NumPy (v1.8 или выше) и pandas(v0.14 или выше) для работы.Чтобы получить ключ API, зарегистрируйтесь на бесплатную учетную запись Quandl.Затем вы можете найти свой ключ API на странице настроек учетной записи Quandl.
Получить данные для нескольких акций
# 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
import yfinance as yf
for ticker in tickers_list:
data[ticker] = yf.download(ticker, ‘2015–1–1’, ‘2019–1–1’)[‘Adj Close’]
# Print first 5 rows of the data
data.head()
# 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()
Если вы просматриваете минутный уровень или фундаментальные данные, тогда это страница может быть полезна.