厉害了,股票K线图还能这么画!

Aidan075
• 阅读 1773

厉害了,股票K线图还能这么画!

大家好,我是小五🐶

发现大家还是最喜欢股票基金话题呀~

那说到股票基金就不得不提——K线图

那小五今天就带大家👉

python来轻松绘制高颜值的K线图🚀

厉害了,股票K线图还能这么画!

获取股票交易数据

巧妇难为无米之炊,做可视化也离不开数据。

本文我将以酱香型科技——贵州茅台为例,获取它的近期股票数据并绘制K线图。

厉害了,股票K线图还能这么画!

如果我们要特意去动手去写爬虫,就显得有些多余了,毕竟爬完之后体验也不佳。

这里我们可以直接使用tushare 、akshare等等金融数据接口,个人非常安利akshare!毕竟它不需要积分呀厉害了,股票K线图还能这么画!

如果没安装记得安装吼

pip install akshare  

运行以下语句,即可得到贵州茅台(600519)的历史数据。

import akshare as ak  
df = ak.stock_zh_a_daily(symbol="sh600519", adjust="qfq")  
df.tail()  

厉害了,股票K线图还能这么画!

这样我们就获取到了所需的数据。

注:ak.stock_zh_a_daily()函数,单次返回指定 A 股上市公司指定日期间的历史行情日频率数据。其中参数adjust="qfq",返回前复权后的数据。

为了方便后面可视化,我们还需要使用索引选择固定的行列。

df = df.iloc[-20:,0:5]  

这样就只筛选了开盘价、最高价、最低价、收盘价以及交易量的近期数据,下面开始用python制作高颜值的K线图。

厉害了,股票K线图还能这么画!

绘制K线图

K线图,又称蜡烛图。

通常包含四个数据,即开盘价、最高价、最低价、收盘价,所有的k线都是围绕这四个数据展开,从而反映大势的状况和价格信息。如果把每日的K线图放在一张纸上,就能得到日K线图,同样也可画出周K线图、月K线图。一般它长这样👇

厉害了,股票K线图还能这么画!

目前看其他文章制作K线图时,通常都是以pyecharts为主。但今天小五想给大家安利一个库——mplfinance

https://github.com/matplotlib/mplfinance

它原本是是Matplotlib的子模块,现被剥离成为一个独立的库。

导入库后,只需一行代码就可以生成K线图啦!

import mplfinance as mpf  

mpf.plot(data=df)  

厉害了,股票K线图还能这么画!

额,相差较大,我们再改一点点参数吧。

mpf.plot(  
    data=df,  
    type='candle',  
    mav=(3, 6, 9),   
    volume=True,  
    show_nontrading=True  
    )  

厉害了,股票K线图还能这么画!

用了几个参数后,颜值还不错吧。下面就带大家详解一下上文用到或者没用到的参数👇

厉害了,股票K线图还能这么画!

参数详解

matplotlib库绘制K线图的主要参数如下所示:

mpf.plot(data, type, title, ylabel, style, volume, ylabel_lower, show_nontrading, figratio, mav)

  • data: 数据需要有'Open','High','Low','Close'等字段。

  • volume: True表示添加成交量,默认False

  • type: 图表类型,可选值包含:'ohlc', 'candle', 'line', 'renko', 'pnf'

  • title: 标题

  • ylabel: 纵轴标签

  • ylabel_lower: 成交量的Y轴标签

  • show_nontrading: 是否显示非交易日,默认False

  • figratio: 控制图表大小的元组

  • mav: 是否添加移动平均线

  • style: 各种内置样式

这里就不一一详细介绍了,大家感兴趣的话可以自己更改参数查看效果。

最后给大家展示一下各种style样式的效果👇

厉害了,股票K线图还能这么画!

厉害了,股票K线图还能这么画!

解决中文乱码

另外,我们在使用Matplotlib可视化时,会遇到中文乱码问题,一般用以下语句轻松解决:

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签  
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号  

同理,我们也可提前设置mplfinance的style里的字体格式,从而能够展示中文标题、标签等。

style = mpf.make_mpf_style(base_mpf_style='default', rc={'font.family': 'SimHei'})  

mpf.plot(  
    data=df,  
    type='candle',  
    title="贵州茅台股票K线图",  
    ylabel="价格",  
    ylabel_lower="成交量",  
    mav=(3, 6, 9),   
    volume=True,  
    show_nontrading=True,  
    style=style)  

这样就解决了mplfinance可视化的中文乱码问题。

厉害了,股票K线图还能这么画!

以上就是小五分享给大家的小技巧了,快来一起用python来轻松绘制高颜值的K线图吧!🚀

如果喜欢我的文章,求点赞支持一波。

厉害了,股票K线图还能这么画!

如果对文中代码感兴趣,可以点击下方卡片,在「快学Python」👇后台回复“K线图”一键获取

厉害了,股票K线图还能这么画!

基于股票大数据分析的Python入门实战》本书针对Python零基础的用户,主要讲解大量的股票指标技术分析的范例,由浅入深地介绍了使用Python语言编程开发的应用“图谱”。点击下图可看详情/购买!👇

厉害了,股票K线图还能这么画!

感谢清华大学出版社的赞助与支持!点击阅读原文300币免费兑换!

本文转转自微信公众号凹凸数据原创https://mp.weixin.qq.com/s/_JQjg_HTIEhBx1-9XKDOwg,可扫描二维码进行关注: 厉害了,股票K线图还能这么画! 如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
Irene181 Irene181
2年前
用Python编程借助现有量化平台编写股票交易策略和回测分析
一、简介大家好,我是Snowball。今天给大家分享的内容是基于Python编程,实现股票交易相关功能开发,如果读者对股票或金融衍生物交易不太了解,又比较感兴趣的话可自行查询相关资料。接下来笔者会给大家介绍股票交易中的常见几种交易策略实现思路和源码编写过程,如果大家听说过量化交易这个词语的话,对其中的交易策略或许了解过,大概意思就是在股票、加密货币或者金融衍
Irene181 Irene181
2年前
项目实战——打造一款股票区间交易盯盘系统
一、简介大家好,我是Snowball。今天给大家分享的内容是基于Java编程,实现股票交易相关功能开发,如果读者对股票或金融衍生物交易不太了解,又比较感兴趣的话可自行查询相关资料。在这篇文章里边,介绍了两个策略,,这篇文章,我们来实战个大的项目。常见的交易策略有很多种,例如趋势型,网格型,剥头皮,概率法则,高频交易等,今天主要给大家介绍2种低频的交易
Aidan075 Aidan075
3年前
太酷炫了!我用Python画出了北上广深的地铁路线动态图
大家好,我是小五🐶今天教大家用python制作地铁线路动态图,这可能是全网最全最详细的教程了。坐标点的采集小五之前做过类似的地理可视化,不过都是使用网络上收集到的json数据。但很多数据其实是过时的,甚至是错误/不全的。所以我们最好还是要自己动手,丰衣足食(爬虫大法好)。打开高德地图的地铁网页,http://map.amap.com/subway/ind
Aidan075 Aidan075
3年前
爬取千万条基金数据是怎样的体验?
大家好,我是朱小五昨天的文章中就提了一嘴,最近爬了一些股票和基金数据。再加上我们之前也做过,那就简单跟大家说一下如何爬取tiantian基金的数据。基金代码爬取基金的数据有个必要条件就是要知道基金代码,如何获取呢,打开官网找吧。点了一圈,发现了基金代码的主页,寻思翻页爬取就完事了http://fund.eastmoney.com/allfund.html
Karen110 Karen110
2年前
5行代码搞定14种常见图的python可视化库,还自带16种优美主题,真是太喜欢了
有时候我们做数据可视化并不需要特别复杂的功能,仅仅是想把简单的数据用图形展示出来今天就给大家介绍一种非常适合新手的python可视化库pygalpygal比较小众,专注于SVG图,擅长交互,最主要的是它能用非常少的代码就可画出非常漂亮的图形pygal能绘制Line(折线图)、Bar(柱状图)、Histogram(直方图)、Pie(饼图)、Radar(雷达
Stella981 Stella981
2年前
Echarts阴影点击事件获得当前柱状图的索引值方法
最近在使用百度的echarts写股票的K线图,刚开始用遇到大堆的问题,光是为了解决这些问题都花了我一整天时间。两个论坛都发帖了,没人理。还是靠自己吧。以下代码只写了关键片段,//什么在option外面的变量varclickIndex;option{//配置信息tooltip:{
Stella981 Stella981
2年前
LightningChart.NET创建显示财务数据的2D StockSeries图表
本教程说明了如何从CSV文件加载财务数据并使用LightningChartStockSeries显示它们。股票系列用于以烛台和股票条格式可视化股票交易数据。本教程假定您已在WinForms或WPF应用程序上使用LightningChart创建了新图表。如果没有,请按照我们的简单2D图表创建应用程序。!(https://image.evget.com
Stella981 Stella981
2年前
Python笔记:中国疫情随时间变化趋势
      涉及到时间序列的观察值,我们可以绘制折线图来做相关数据分析。例如:frompyecharts.chartsimportfrompyechartsimportoptionsasoptsx_data'206','213','220','227','305','
Python进阶者 Python进阶者
9个月前
推荐一个下载股票相关数据的库——tuhsare
大家好,我是皮皮。一、前言这个事情还得从前几天在Python白银群【厚德载物】问了一个Python股票网络爬虫的问题说起,因为这个股票数据抓取的问题,引发了大家激烈的探讨,以致于后来大佬们纷纷参与进来。图片二、实现过程这里【袁学东】分享了一个tushare
Python进阶者 Python进阶者
5个月前
Pandas实现这列股票代码中10-12之间的股票筛出来
大家好,我是皮皮。一、前言前几天在Python白银交流群【YVONNE🎉】问了一个Pandas数据分析的问题,一起来看看吧。问题描述:原始数据长这样,我需要把SHRCD这列股票代码中1012之间的股票筛出来。原始数据如下图所示:他的报错内容如下所示:他说