Python - визуализация биржевых данных
Python - отличный язык для анализа и визуализации на основе данных. Также помогает то, что существует широкий спектр библиотек с открытым исходным кодом, которые можно использовать в готовом виде для некоторых замечательных функций.
Python Dash - это библиотека, которая позволяет создавать веб-панели мониторинга и визуализации данных без проблем, связанных со сложным интерфейсом HTML, CSS или JavaScript.
В этой статье мы научимся создавать панель управления данными акций с использованием Python Dash, Pandas и Yahoo Finance API.
Монтаж:
Установите последнюю версию Pandas Datareader
pip установить pandas_datareader
Установите последнюю версию Dash
pip install dash
Выполнение:
Импортируйте все необходимые библиотеки
# importing required libraries datetime import import pandas_datareader.data as web import dash import dash_core_components as dcc import dash_html_components as html from dash.dependencies import Input , Output |
Теперь давайте создадим пользовательский интерфейс с помощью тире. Мы собираемся создать простой, но функциональный пользовательский интерфейс, одним из которых будет простой заголовок и текстовое поле для ввода, чтобы пользователь мог ввести названия акций.
Текстовое поле ввода теперь представляет собой статическое текстовое поле. Чтобы получить входные данные, которые в данном случае являются названием компании, из пользовательского интерфейса, мы должны добавить обратные вызовы приложения. Считываемое название запаса ( input_data ) передается в качестве параметра методу update_value . Затем функция получает все биржевые данные из Yahoo Finance API с 1 января 2010 года до текущего дня и сохраняется во фрейме данных Pandas. Построен график, ось X - это индекс фрейма данных, который представляет собой время в годах, ось Y - цена акций на конец каждого дня, а имя графика - это название акции (input_data). Этот график возвращается в оболочку обратного вызова, которая затем отображает его в пользовательском интерфейсе.
Код:
def update_value(input_data): # Reads stock prices from 1st January 2010 start = datetime.datetime( 2010 , 1 , 1 ) end = datetime.datetime.now() # Read stock data from yahoo's finance API from start to end df = web.DataReader(input_data, 'yahoo' , start, end) return dcc.Graph( id = "example" , figure = { 'data' :[{ 'x' :df.index, 'y' :df.Close, 'type' : 'line' , 'name' :input_data}, ], 'layout' :{ 'title' :input_data } } ) |
Код: Наконец, запустите сервер.
if __name__ = = '__main__' : app.run_server() |
Исполнение:
Теперь веб-приложение по умолчанию будет работать на локальном хосте по адресу 8050.
127.0.0.1:8050
Пример:
Рассмотрим пример. Стандартное название Google - GOOGL. Давайте введем эти данные в текстовое поле ввода.
Ниже приведен результат.
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.