📜  Python – 股票数据可视化

📅  最后修改于: 2022-05-13 01:55:11.800000             🧑  作者: Mango

Python – 股票数据可视化


Python是一种用于进行基于数据的分析和可视化的出色语言。它还有助于有广泛的开源库可以现成的用于一些强大的功能。
Python Dash 是一个库,可让您构建 Web 仪表板和数据可视化,而无需复杂的前端 HTML、CSS 或 JavaScript。
在本文中,我们将学习使用Python Dash、Pandas 和 Yahoo 的 Finance API 构建股票数据仪表板。

安装:
安装最新版本的 Pandas Datareader

pip install pandas_datareader

安装最新版本的 Dash

pip install dash

执行:
导入所有需要的库

# importing required libraries
import datetime
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 

现在让我们使用破折号制作一个用户界面。我们将制作一个简单而实用的用户界面,一个是简单的标题标题和一个输入文本框,供用户输入股票名称。

# UI
app = dash.Dash()
app.title = "Stock Visualisation"
app.layout = html.Div(children =[
    html.H1("Stock Visualisation Dashboard"),
      
    html.H4("Please enter the stock name"),
  
    dcc.Input(id ='input', value ='', type ='text'),
  
    html.Div(id ='output-graph')
])

输入文本框现在只是一个静态文本框。要从用户界面获取输入数据,在本例中是公司的股票名称,我们应该添加应用回调。读取的库存名称 ( input_data ) 作为参数传递给方法update_value 。然后,该函数从 Yahoo Finance API 获取自 2010 年 1 月 1 日至今,即当天的所有股票数据,并存储在 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()

执行:
默认情况下,Web 应用程序现在将在本地主机 8050 上运行。

127.0.0.1:8050

例子:
让我们考虑一个例子。谷歌的股票名称是 GOOGL。让我们将这些数据输入到输入文本框中。
下面是结果。

谷歌股票数据截图