股票实例_python绘图实例——股票数据可视化

本文介绍了使用Python进行股票数据可视化的步骤,包括获取贵州茅台2019年股票数据,查询最大成交量日期,日期类型转换,按成交金额排序,以及绘制成交量折线图、OHLC线图和K线图,旨在帮助读者理解股票数据分析和可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

v2-493af27ab6e438b4297400af98ebb734_1440w.jpg?source=172ae18b

一、项目需求

1 获得特定时间段股票数据

2 查询时间段内最大成交量日期

3 将股票信息中日期字符串转换为日期类型

4 按照成交金额排序

5 绘制股票成交量折线图

6 绘制股票OHLC线图

7 绘制股票成交量折线图(按周)

8 绘制股票K线图 (数据每天变化趋势)

二、前期准备

利用python获取贵州茅台2019年的股票数据(通过tushare库)

观察数据、对数据中各项特征进行初步了解

l熟悉相关的股票知识及概念(换手率、K线、OHLC线等)

确定工具:pandas、matplotlib、mpl_finance等库

三、项目过程

1 通过tushare库获取贵州茅台2019年的股票数据

2 根据项目需求,完成规定的项目作业

3 绘制项目报告

四、项目报告

(1)获得特定时间段股票数据(2019年)

import tushare as ts
df = ts.get_hist_data('600519',start='2019-01-01',end='2019-12-31')

查看数据(截取部分):

dc72a2624400ffa824eadb3a5ad50965.png

为了更方便查看,我们将数据重新排列一下:

maotai = df.iloc[::-1]

再次查看:

2ad427c8f4d8b0c4d926d430d205708c.png

(2)查询时间段内最大成交量日期

print("贵州茅台2019年的最大成交量为:{}".format(maotai['high'].max()))

543aaef2388e313894c2f65bf91b1077.png

可以看到,最大成交量为:1241.61。

 maotai[maotai['high'].values == 1241.61].index

0f640846bc331dea82ea71ad98f6f3d0.png

可以看到,最大成交量日期:2019年11月19日。

(3)将股票信息中日期字符串转换为日期类型

在我们的数据表中,日期是以索引的形式给出,所以我们可以先将索引转换成一列新特征,特征名以‘日期’命名。

maotai['日期']=maotai.index

d238e168a9525f03e721adb567d7d689.png

此时数据表中已经有了“日期”这一项特征,通过进一步查看我们可以知道,这项特征是object型的。下面我们将其转换为日期类型。

import pandas as pd
maotai['日期'] = pd.to_datetime(maotai['日期'],infer_datetime_format=True)

使用info()查看数据类型,此时“日期”已被改成日期类型。

e6b0558bf3eebc82b8dd5ed8527fa219.png

(4)按照成交金额排序

使用sort_values()进行排序处理(这里仅展示部分截图):

df['volume'].sort_values()

cb07e01ee488b73bbf6bbe980bf8af0c.png

同时,我们也可以采用降序的方式进行展示:

maotai['volume'].sort_values(ascending=False)

ee300e28a9b489ebda2d69bfb0802821.png

(5)绘制股票成交量折线图

import matplotlib.pyplot as plt
import seaborn as sns
import warnings
sns.set()
%matplotlib inline
warnings.filterwarnings('ignore')
import matplotlib
plt.figure(figsize=(8,6),dpi=80,num=4)
myfont=matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc')
x= maotai['日期']
y1 = maotai['volume']
plt.plot(x, y1, color='r',label='股票成交量',  linewidth=2)
plt.xlabel('日期',FontProperties=myfont,fontsize=15)
plt.ylabel('成交量',FontProperties=myfont,fontsize=15)
plt.title('股票成交量折线图',FontProperties=myfont,fontsize=15)
plt.legend(prop=myfont)

b53777a6cb6038b6d240140e456f90c5.png

(6)绘制股票OHLC线图

plt.figure(figsize=(12,8),dpi=80,num=4)
myfont=matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc')
x= maotai['日期']
plt.plot(x, maotai.loc[:,'open'], label='开盘价',  linewidth=2)
plt.plot(x, maotai.loc[:,'high'], label='最高价',  linewidth=2)
plt.plot(x, maotai.loc[:,'low'], label='最低价',  linewidth=2)
plt.plot(x, maotai.loc[:,'close'], label='收盘价',  linewidth=2)
plt.xlabel('日期',FontProperties=myfont,fontsize=15)
plt.ylabel('价格/汇率',FontProperties=myfont,fontsize=15)
plt.title('茅台股票OHLC线图',FontProperties=myfont,fontsize=15)
plt.legend(prop=myfont)

1ee936e810b136a452d1eca324b3dd64.png

(7)绘制股票成交量线图

df = ts.get_hist_data('600519',start='2019-01-01',end='2019-12-31',ktype='W')
maotai_week = df.iloc[::-1]
maotai_week['日期']=maotai_week.index
maotai_week['日期'] = pd.to_datetime(maotai_week['日期'],infer_datetime_format=True)
plt.figure(figsize=(12,8),dpi=80,num=4)
myfont=matplotlib.font_manager.FontProperties(fname='C:WindowsFontssimsun.ttc')
x= maotai_week['日期']
y1 = maotai_week['volume']
plt.plot(x, y1, color='r',label='股票成交量',  linewidth=2)
plt.xlabel('日期',FontProperties=myfont,fontsize=15)
plt.ylabel('成交量',FontProperties=myfont,fontsize=15)
plt.title('股票成交量线图(按周)',FontProperties=myfont,fontsize=15)
plt.legend(prop=myfont)

5ff06a7f42d4a51ff209c5a728ff9204.png

(8)绘制股票K线图 (数据每天变化趋势)

import matplotlib.dates as mdates
import mpl_finance as mpf
df = ts.get_hist_data('600519',start='2019-01-01',end='2019-12-31')
maotai = df.iloc[::-1]
maotai['date']=maotai.index
maotai['date'] = pd.to_datetime(maotai['date'])
maotai_k = zip(mdates.date2num(maotai['date']),maotai['open'], maotai['close'],
                      maotai['high'], maotai['low'])
plt.rcParams['font.sans-serif']=['SimHei']
plt.figure(figsize=(12,8),dpi=80,num=4)
# x= maotai['日期']
ax = plt.axes(facecolor='#070707')
# ax.xaxis_date()
mpf.candlestick_ochl(ax, maotai_k, width=0.5, 
                      colorup='r', colordown = '#00ffff', 
                      alpha = 1)
plt.title('茅台股票K线图',fontsize=15)
ax.xaxis_date()
plt.xticks(rotation=45)

5f525bc97cfef790ed2aba4a7ccf8ee6.png

由于不是一次性打的代码,所以有些不连贯,大家操作的时候可以再继续进行精进。


以上便是<python绘图实例——股票数据可视化>的内容,感谢大家的细心阅读,同时欢迎感兴趣的小伙伴一起讨论、学习,想要了解更多内容的可以看我的其他文章,同时可以持续关注我的动态~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值