股票数据可视化

本文通过对股票数据进行可视化数据分析。(tushare ID:452043)

  1. tushare介绍
  2. 数据爬取
  3. 数据可视化分析
    3.1. 近三年的走势
    3.2. 股票点数的最大值区间
    3.3. 每日低点分析
    3.4. 高低点分析
  4. 总结

代码部分

1.tushare介绍

Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过Tushare的数据存储功能,将数据全部保存到本地后进行分析。

2.数据爬取

利用python的财经数据包tushare,就直接可以将你想获取的数据下载下来,它也是有接口的,利用不同的接口可以获取不同的数据。

3.数据可视化分析

3.1.近三年的走势
在这里插入图片描述

由走势图可知,这只股票还是较为不稳定,在上升过程较为急速,体现为在一定时期内,市场行情好,遂大幅度上涨,而过大的涨幅体现了市场可能出现了一定的泡沫,并且受到行业的影响因素,在下降过程,也较为急速,体现了该股票容易受到市场的波动,但整体仍然呈现上涨趋势。
3.2.股票点数的最大值区间
在这里插入图片描述

由图可知,该股票每天的最大值分布最多点数的位置在75-100之间,50-75的点数较多,100以上的点数较少,50以下是最少的。
3.3.每日低点分析
我们利用散点图对每日低点进行数据分析,看其每日的跌幅能有多大。
在这里插入图片描述
由散点图可知,其每日低点的走势和结束的走势大致相同,高点都是110,而且看点的分布密集地方是在上升过程中,在较高点密集,在下降趋势中,在较低点密集。体现了该股票在当日的趋势较为稳定。

3.4.高低点分析
我们对该股票的起始值进行分析,判断其低开多还是低开多。
在这里插入图片描述

由图可知,该股票稍微高开的时候比较多。

4.总结

由上面四个分析可知,恒瑞医药(代码600276)这个股票此时处于较低位置,但由于最近所属行业的影响,暂时处于困境,无法判断是否能够脱离困境以及什么时候脱离困境。
最后,投资有风险,入市需谨慎,请大家合理的进行投资分配,有理解错误的地方也请大家指出来。

代码部分:

import tushare as ts
import pandas as pd
stock_data = ts.get_hist_data('600276')
stock_data.to_csv(r'stock_data.csv')

import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv(r'stock_data.csv')
x = df['date']
y = df['close']
plt.figure(figsize=(10,10))
plt.plot(x, y)
plt.title('close-date')
plt.xlabel('date')
plt.ylabel('close')
plt.savefig(r'1.jpg')
plt.show()

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv(r'stock_data.csv')
plt.title('股票运势最高点分布(百分点)')#绘制标题
plt.rcParams['font.sans-serif']='SimHei'#设置中文显示
label=['50以下','50-75','75-100','100以上']#定义饼图的标签,标签是列表
explode=[0.01,0.01,0.01,0.01]#设定各项距离圆心n个半径
values=[len(df[df['high']<=50]),len(df[(df['high'] >50) & (df['high'] <=75)]),len(df[(df['high'] >75 ) & (df['high'] <=100)]),len(df[df['high'] > 100])]
plt.pie(values,explode=explode,labels=label,autopct='%1.1f%%',radius=2)#绘制饼图
plt.savefig(r'2.jpg')
plt.show()

df = pd.read_csv(r'stock_data.csv')
x = df['date']
y = df['low']
plt.figure(figsize=(10,10))
plt.title("min-date")
plt.xlabel("date")
plt.ylabel("min")
plt.plot(x,y,"ob")
plt.savefig(r'6.jpg')
plt.show()

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv(r'stock_data.csv')
plt.savefig(r'8.jpg')
df.hist('open')
plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值