python绘制股票k线图
使用python绘制股票k线图
1. 需要安装的包
- tushare
- matplotlib
- mpl_finance
- datetime
使用Anaconda Prompt安装,安装语句’pip install 包的名字’
2. 获取数据
使用tushare包导入数据
import tushare as ts
df=ts.get_k_data('000002',start='2019-06-01',end='2019-09-30')
第一个参数’000002‘为股票代码,第二个参数start表示起始时间,第三个参数end表示结束日期。获取的数据df为DataFrame格式的二维表格。
3.调整日期格式
因绘制股票k线图使用的是mpl_finance库candlestick_ochl函数,该函数只能读取数组格式的数据,且其日期数据必须是特定的数字格式,因此,需要对原始数据中的日期数据进行格式的调整,调整代码如下:
import datetime
from matplotlib.pylab import date2num
#定义转换函数
def date_to_num(dates):
num_time=[]
for date in dates:
date_time=datetime.datetime.strptime(date,'%Y-%m-%d'))
num_date =date2num(date)
num_time.append(num_date)
return num_time
将df数据转换为二维数组,并调用date_to_num函数更改日期格式,代码如下:
df_arr=df.values
df_arr[:,0]=date_to_num(df_arr[:,0])
4. 使用python绘制股票k线图
使用mpl_finance库的candlestick_ochl函数,candlestick_ochl函数中的第一个参数ax表示画布子图的名称,第二个参数df_arr表示股价历史数据,第三个参数width表示k线柱的宽度,colorup表示收盘价高于开盘价时柱形的颜色,colordown表示收盘价低于开盘价时的柱形颜色(国内股价使用红色表示涨,绿色表示跌,美股相反因此需要说明这两个参数),alpha表示柱形的颜色透明度。
fig,ax=plt.subplots(figsize=(15,6))
mpf.candlestick_ochl(ax,df_arr,width=0.6,colorup='r',colordown='g',alpha=1)#绘制k线图
plt.grid(True)#绘制网格
ax.xaxis_date()#设置x轴的刻度格式为常规日期格式
绘制k线图如下:
5.添加均线图
为k线图分别添加5日均线和10日均线。
使用rolling函数和mean函数计算5日均线和10日均线数据,代码如下:
df['M5']=df['close'].rolling(5).mean()#5日均线
df['M10']=df['close'].rolling(10).mean()#10日均线
6.为k线图添加日均线图、图标题、坐标轴标签
plt.rcParams['font.sans-serif']=['Simhei']#设置正常显示中文
fig,ax=plt.subplots(figsize=(15,6))
mpf.candlestick_ochl(ax,df_arr,width=0.6,colorup='r',colordown='g',alpha=1)#绘制k线图
plt.plot(df_arr[:,0],df['M5'])#绘制5日均线
plt.plot(df_arr[:,0],df['M10'])#绘制10日均线
plt.grid(True)#绘制网格线
plt.title('万科A')#设置标题
plt.xlabel('日期')#设置x轴标签
plt.ylabel('价格')#设置y轴标签
ax.xaxis_date()#设置x轴的刻度格式为常规日期格式
绘制如图所示:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgafeff
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13