Python - визуализация биржевых данных

Опубликовано: 21 Июля, 2021


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. Давайте введем эти данные в текстовое поле ввода.
Ниже приведен результат.

Скриншот данных акций Google

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.