股票K线图绘制 | 您所在的位置:网站首页 › k线图基础知识第十讲 › 股票K线图绘制 |
“这是我参与更文挑战的第10天,活动详情查看: 更文挑战” 1.股票K线图基础知识如下图所示为“贵州茅台”股票的日线级别的K线图。 没有接触过股票的读者可能会被图中花花绿绿的柱形和折线搞得一头雾水,这些图形其实都是用一些很基础的数据绘制而成的,下面就来讲解股票K线图的基础知识。 K线图中的柱形通常称为“K线”,因为形似蜡烛,所以也称为蜡烛图。K线是根据股票的4个价格绘制的:开盘价(当天上午9:30开始交易时的价格)、收盘价(当天下午3:00结束交易时的价格)、最高价(当天股价波动中的最高价)、最低价(当天股价波动中的最低价)。这4个价格分别简称为“高”“开”“低”“收”。 K线分为两种:如果当天的收盘价高于开盘价,即当天的价格上涨,称为阳线,通常绘制成红色;反之,如果当天的收盘价低于开盘价,即当天的价格下跌,则称为阴线,通常绘制成绿色,补充说一句,在美国的股票市场上,反而是用红色代表跌,用绿色代表涨。 2.用Python绘制股票K线图(1)安装绘制K线图的mpl_finance库 首先需要安装绘制K线图的mpl_finance库。使用pip安装法。 (2)引入相关库 首先引入获取数据和绘图需要用到的库,代码如下。 import tushare as ts import matplotlib.pyplot as plt import mpl_finance as mpf import seaborn as sns sns.set() 复制代码第1行代码引入Tushare库;第2行代码引入Matplotlib库;第3行代码引入安装好的mpl_finance库;第4行代码引入的seaborn库是一个图表美化库,通过sns.set()函数即可激活,这个库是Anaconda自带的,无须单独安装。 (3)用Tushare库获取股票基本数据 通过Tushare库获取股票代码为“000002”的股票“万科A”在2019-06-01至2019-09-30的股价数据,代码如下。 df = ts.get_k_data('000002',start = '2009-01-01',end='2019-01-01') 复制代码获取到的部分数据如下图所示。 (4)日期格式调整及表格转换 因为绘制K线图的candlestick_ochl()函数只能读取数组格式的数据,并且其中的日期数据要为特定的数字格式,所以需要将前面获取的股票基本数据调整一下,代码如下。 from matplotlib.pylab import date2num import datetime def date_to_num(dates): num_time = [] for date in dates: date_time = datetime.datetime.strptime(date,'%Y-%m-%d) num_date = date2num(date_time) num_time.append(num_date) return num_time df_arr=df.values df_arr[:,0] = date_to_num(df_arr[:,0]) 复制代码前3行代码引入转换日期格式涉及的两个库。 第5~12行代码自定义了一个转换日期格式的函数date_to_num(),方便之后调用。函数内容主要是使用strptime()函数将文本格式的日期转换为时间戳格式的日期,然后使用date2num()函数将时间戳格式的日期转换为数字格式的日期。 第15行代码通过values属性将DataFrame格式的二维表格转换为NumPy库格式的二维数组,因为candlestick_ochl()函数只能读取二维数组。 第16行代码调用前面自定义的date_to_num()函数转换日期格式,df_arr[:,0]中的“:”表示所有行,“0”表示第1列,因此其表示二维数组中date列的所有数据。 (5)绘制K线图 转换好数据格式后,使用candlestick_ochl()函数即可轻松绘制K线图,代码如下。 fig,ax=plt.subplots(figsize =(15,6)) mpf.candlestick_ochl(ax,df_arr,width=0.6,colorup='r',colordown='g',alpha=1.0) plt.grid(True) ax.xaxis_date() 复制代码 |
CopyRight 2018-2019 实验室设备网 版权所有 |