十行代码绘制漂亮金融K线图,这个神器你不可错过

网站建设4年前发布
31 0 0

202303061032551142bee842c0c20812739164c1a5b788556a00328,Mplfinance 是 Matplotlib 组织开源项目的一部分。相对于Matplotlib,Mplfinance这个处于金融行业的垂直领域的模块的关注度确实是少了一些,以至于很多朋友都不知道它的存在,实际上它非常实用且好用。,开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。,(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.,(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。,请选择以下任一种方式输入命令安装依赖:,1. Windows 环境 打开 Cmd (开始-运行-CMD)。,2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。,3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.,我们以沪深300分钟线为例,使用mplfinance绘制各类金融图形。,首先看看数据结构:,结构如下:,我们用于mplfinance的数据必须是 Pandas DataFrame. 字段则按需提供,至少要有时间字段和一列数据。另外原始数据如果是其他的数据类型,你必须得先转成DataFrame格式。,此外,时间字段必须转为DatetimeIndex:,效果如下:,准备完成后就可以绘制图表了:,20230306102502c68ef8d50466aceeec2381b55e4d90fd73770d153,绘制蜡烛图(K线图),为了避免图表过大,我这里只取了240条K线:,202303061025028962a1465ce4a2cc8dc6326eb0e9e721fd1342364,黑白颜色太单调了,我们可以换成“雅虎”配色:,20230306103255f8d5fed94cf59df339b185a1f2dd7ea550eed4664,绘制线型图:,2023030610250383ad04d29cb1105c6437672abeb839b076340e663,除了美国线、蜡烛图(K线)、线型图外,mplfinance还支持 renko、pnf 等图形。有兴趣的同学可以改个type看看效果:,2023030610250365f5a1f93660390ea00674729bbc3368ccc40b622,绘制简单移动平均线MA5,我们只需要多加一个参数:,20230306103256c76b5e982a26de616da02365222e73f0f71ca9455,如果你需要多条移动平均线,只需要将mav改为元组参数,传入你需要的周期参数:,20230306102505589c274295a396784da723afe5eb4f237d253d359,如果你还需要显示成交量(volume), mplfinance 也能实现:,20230306102508f29bbb37359af0db11d8741a78d7d0f9e27cae673,如果你还想给蜡烛上色、想更改线条颜色、想增加其他指标,请看第三部分高级使用。,上色是非常简单的,正如我们之前换成雅虎配色一样,你只需要添加style参数即可换成我们传统的技术指标颜色。,如果你想自定义颜色也是可以做到的,这里我将前120根柱子设置为蓝黄相间,后120根柱子保留原形:,效果如下:,20230306120604c2e48f7304467a9d2b15652c4a70a99458e949603,有些同学还希望能够绘制自己的技术指标,mplfinance也可以做到:,mpf.make_addplot 支持添加任意图形到任意panel上,panel参数默认为0,如果设为1则将图形添加到第二个图上,color参数能设置图形颜色,secondary_y 能将图形的值设置到y轴上。效果如下:,202303061025080864cf4540ac75971af619463bf4b2c5b04b77869,此外,如果你希望能动态看到整个绘制过程,增加个animation即可:,2023030610250997fa0d565b4cbe57a9d20157aad37233a7e046452,还有许多更有趣的玩法,你可以阅读mplfinance的examples学习更多的使用技巧:,https://github.com/matplotlib/mplfinance/tree/master/examples

© 版权声明

相关文章