Нежное введение в Alpha Vantage API (с кодом Python)

Как мы знаем, точные данные жизненно важны для лучшего понимания фондового рынка, особенно если вы профессиональный трейдер или разработчик машинного обучения. Хотя получение данных из финансов Google или Yahoo стало более обременительным, появилось отличное решение - API AlphaVantage.

Alpha Vantage предоставляет в реальном времени и исторические (до 20 лет назад) данные о глобальном капитале, Forex и Cryptocurrencies. Кроме того, также представлены отраслевые показатели.

Я приветствую усилия пользователя Github RomelTorress по созданию отличного модуля для извлечения данных из Alpha Alpha Vantage. В этой статье мы реализуем его работу на Python для получения данных.

Вам необходимо получить бесплатный ключ API с сайта http://www.alphavantage.co/support/#api-key. Затем введите следующую строку в командной строке, чтобы установить оболочку Python для RomelTorress:

pip install alpha_vantage

Используя оболочку AlphaVantage, мы можем создать класс Python для запроса желаемых данных. В моем случае я создал класс с несколькими функциями для получения цены закрытия, MACD, полос Боллинджера, RSI и SMA 30 (30-дневная простая скользящая средняя). соответственно. Эти данные - лишь малая часть из множества типов данных, которые мы действительно можем получить от AlphaVantage, и вам предстоит провести гораздо больше исследований.

from alpha_vantage.techindicators import TechIndicators
import matplotlib.pyplot as plt
from click._compat import raw_input
from alpha_vantage.timeseries import TimeSeries
import pandas as pd
class TechnicalIndicators:
    def __init__(self):
        self.api_key= 'KMOA5YH5JT2Z2A1B'
        self.stock_name=self.question()
        self.macd_data=self.macd()
        self.rsi_data=self.rsi()
        self.bbands_data=self.bbands()
        self.close_data=self.close()
        self.sma_data=self.sma()
    def question(self):
        stock_name=raw_input("Enter stock name:")
        return stock_name
    def macd(self):
        a = TechIndicators(key=self.api_key, output_format='pandas')
        data, meta_data=a.get_macd(symbol=self.stock_name,interval='daily')
        return data
    def rsi(self):
        b=TechIndicators(key=self.api_key,output_format='pandas')
        data,meta_data = b.get_rsi(symbol=self.stock_name,interval='daily',time_period=14)
        return data
    def bbands (self):
        c=TechIndicators(key=self.api_key,output_format='pandas')
        data,meta_data=c.get_bbands(symbol=self.stock_name)
        return data
    def sma(self):
        d= TechIndicators(key=self.api_key, output_format='pandas')
        data, meta_data = d.get_sma(symbol=self.stock_name,time_period=30)
        return data
    def close(self):
        d=TimeSeries(key=self.api_key,output_format='pandas')
        data,meta_data=d.get_daily(symbol=self.stock_name,outputsize='full')
        return data

Хорошо, я признаю, что отступы были ужасными. В любом случае этот код доступен в моем репозитории Github: https://github.com/joeng03/LSTM-Stock-Price-Prediction-Example в файле AlphaVantageExample.py.

Следующий код извлекает данные MACD для акции и строит их с помощью Matplotlib. Просто введите символ акции (пример: TSLA), когда появится строка «Введите название акции:».

if __name__ == "__main__":
    TI=TechnicalIndicators()
    macd_data = TI.macd_data
    plt.plot(macd_data)
    plt.show()

Не стесняйтесь оставлять свои мнения или предложения ниже, а также давать аплодисменты для этой статьи. Большое спасибо!

Ссылка на Github Ромела: https://github.com/RomelTorres/alpha_vantage