无障碍 关怀版

用 pandas + matplotlib 绘制精美的K线图

来源:早起Python

作者:刘早起

在使用 Python 进行金融数据分析时,绘制 K线图 是很常见的需求。

但如果使用 matplotlib 从 0 开始绘制,一步一步添加日线、均线、MACD、成交量等指标时,则会显得十分麻烦,且代码很难复用。

幸运的是在 matplotlib 中提供接口(matplotlib.finance)直接绘制K线,现在 matplotlib.finance 已经独立成库 mplfinance,更方便的让我们使用。

本文就将介绍如何使用 mplfinance 快速绘制专业的K线图,文末也有完整的数据与源码下载。

01、安装与数据准备

上面已经说到,mplfinance 是一个独立的库,所以直接使用 pip 安装即可,没有任何难度

pip install mplfinance

至于在数据准备上,根据我的开发经验,越懒人版的绘图库对数据要求则越严格,所以在使用之前,我们需要将数据整理成指定的格式,下面是某股票(平安银行000001.sz)的对应数据

如上图所示,数据必须是Pandas DataFrame格式,且必须按照顺序包含开盘价、最高价、最低价、收盘价以及成交量,同时索引需要是pandas支持的时间类型。

关于如何获得、清洗得到这样的数据将不是本文的分享内容,下面仅介绍如何基于这样的数据进行绘图。

02、mplfinance常见用法

基础使用

首先需要导入

import mplfinance as mpf

接下来,在上述数据基础上一行代码即可生成简易价格走势图

mpf.plot(df_new, type='line')

添加移动均线

通过设置 mav 参数可以添加对应的移动均线,例如添加5日、10日、30日移动均线

mpf.plot(df_new, type='line',mav=(5,10,30))

需要注意的是,这里的x日移动均线并不是通过我们数据的时间索引计算而来,仅是移动x个索引位置而来,由于我们数据时间精度为1天,所以恰好是对应的x天移动均线。

如果索引是分钟级数据,那么设置 mav 得到的就是x分钟均线!

添加成交量

通过设置 volume 参数,可以进一步添加成交量

mpf.plot(df_new, type='line',mav=(5,10,30), volume=True)

制作蜡烛图

通过设置 type 参数可以绘制更专业的蜡烛图,由于上面的数据时间维度过长,绘制蜡烛图会导致很难看清细节。

所以下面绘制最后 40 个交易日的蜡烛图,并添加成交量与 3、6、9 日均线

mpf.plot(df_new.tail(40), type='candle',mav=(3,6,9), volume=True)

展示非交易时间

上面的图是连续的,但交易日并不是天天都是,每天也有指定时间,通过设置 show_nontrading 参数,可以按照交易时间绘制,将非交易时间添加为空白

mpf.plot(df_new,type='candle',mav = (3),show_nontrading=True, volume=True)

至此 mplfinance 的基本使用就介绍完毕,相比来说还是比较容易上手使用的。

彩蛋 - pyecharts

虽然 matplotlib 也可以绘制动态图,但是由于 matplotlib 的特性,展示起来并不是很方便。

如果需要能交互式操作数据,拖动时间轴等功能,可以尝试使用 pyecharts,但由于不像 mplfinance 封装好开箱即用,代码写起来还是需要相当一定时间的,大家可以自行选择

返回搜狐,查看更多

责任编辑:

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
阅读 ()

玻璃钢生产厂家北京方形插花玻璃钢花盆福州玻璃钢雕塑来图定制阿城玻璃钢雕塑广东商城艺术玻璃钢雕塑烟台精美玻璃钢面包雕塑玻璃钢外壳上海商场主题创意商业美陈费用玻璃钢动物雕塑型号店门口玻璃钢卡通雕塑供货江苏走廊商场美陈哪家好南通商场节庆美陈下城区商场美陈布置多少钱郑州公园景观玻璃钢景观雕塑价格扬州frp玻璃钢雕塑十堰市玻璃钢雕塑美艺达达州玻璃钢仿真水果雕塑厂家福州玻璃钢雕塑哪里好玻璃钢雕塑测试玻璃钢仿真动物雕塑厂家地址云南商场美陈雕塑临安区玻璃钢金属雕塑尺寸福建手糊法玻璃钢雕塑定制顺德玻璃钢雕塑玻璃钢雕塑安装图解河北户外商场美陈供货商东莞玻璃钢雕塑制作玻璃钢雕塑 坚固大玻璃钢花盆大全哪有玻璃钢雕塑厂家公仔玻璃钢雕塑哪家便宜香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化