Python数据可视化:如何用mplfinance创建蜡烛图
一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形。
我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotlib, seaborn, plotly等工具实现可视化。
本文的主题是如何创建蜡烛图。
蜡烛图在金融领域的应用非常广泛,蜡烛图包含了证券价格的开盘价,最高价,最低价,收盘价和成交量,是技术分析的基础。
创建蜡烛图需要先安装一个三方库:mplfinance,这原本是Matplotlib的子模块,现被剥离成为一个独立的库。
在终端运行命令:pip install mplfinance
import osimport requests
import pandas as pd
import matplotlib.pyplot as plt
import mplfinance as mpf%matplotlib inline
1. 获取K线数据
先从蜂鸟数据获取股票历史K线,蜂鸟数据提供沪深A股,港股,美股,期货,外汇,数字货币的实时报价和历史数据。查看API文档。
登录蜂鸟官网,注册即可获得API密钥,免费获取金融数据。
# 获取微软(MSFT)的日图历史K线
data = requests.get('https://api.trochil.cn/v1/usstock/history',params={'symbol': 'MSFT','start_date': '2020-01-01','end_date': '2020-08-31','apikey': os.getenv("TROCHIL_API") # 使用您的API密钥})df = pd.DataFrame.from_records(data.json()["data"])
df["datetime"] = pd.to_datetime(df["datetime"])
df.set_index("datetime", inplace=True)df.head()
open | high | low | close | volume | |
---|---|---|---|---|---|
datetime | |||||
2020-01-02 | 158.78 | 160.730 | 158.3300 | 160.62 | 22634546.0 |
2020-01-03 | 158.32 | 159.945 | 158.0600 | 158.62 | 21121681.0 |
2020-01-06 | 157.08 | 159.100 | 156.5100 | 159.03 | 20826702.0 |
2020-01-07 | 159.32 | 159.670 | 157.3200 | 157.58 | 21881740.0 |
2020-01-08 | 158.93 | 160.800 | 157.9491 | 160.09 | 27762026.0 |
2. 基础蜡烛图
要创建蜡烛图,只需要调用mpf.plot接口。
mpf.plot(data, type, title, ylabel, style, volume, ylabel_lower, show_nontrading, figratio, mav)
- data: pd.DataFrame, 包含’Open’,‘High’,‘Low’,‘Close’字段,如果要显示成交量,还要提供’Volume’,默认时间序列索引(DatetimeIndex)
- type: 图表类型,可选值包含:‘ohlc’, ‘candle’, ‘line’, ‘renko’, ‘pnf’
- title: 标题
- ylabel: 纵轴标签
- style: 蜡烛图样式,mplfinance提供了很多内置样式
- volume: True表示添加成交量,默认False
- ylabel_lower: 成交量的Y轴标签
- show_nontrading: True显示非交易日,默认False
- figratio: 控制图表大小的元组
- mav: 整数或包含整数的元组,是否在图表中添加移动平均线
df2 = df["2020-08"]mpf.plot(df2, type="candle", title="Candlestick for MSFT", ylabel="price($)")
3. 调整样式
mplfinance提供了很多内置样式,便于用户快速创建美观的蜡烛图。
mpf.available_styles()
['binance','blueskies','brasil','charles','checkers','classic','default','mike','nightclouds','sas','starsandstripes','yahoo']
mpf.plot(df2, type="candle", title="Candlestick for MSFT", ylabel="price($)", style="binance")
4. 添加成交量
mpf.plot(data=df2,type="candle",title="Candlestick for MSFT",ylabel="price($)",style="binance",volume=True,ylabel_lower="volume(shares)"
)
5. 显示非交易日
mpf.plot(data=df2,type="candle",title="Candlestick for MSFT",ylabel="price($)",show_nontrading=True
)
6. 自定义样式
如果内置样式不满足需求,可以自定义样式,并提供给style参数。
# 调用make_marketcolors函数,定义K线颜色
mc = mpf.make_marketcolors(up="red", # 上涨K线的颜色down="green", # 下跌K线的颜色edge="black", # 蜡烛图箱体的颜色volume="blue", # 成交量柱子的颜色wick="black" # 蜡烛图影线的颜色
)# 调用make_mpf_style函数,自定义图表样式
# 函数返回一个字典,查看字典包含的数据,按照需求和规范调整参数
style = mpf.make_mpf_style(base_mpl_style="ggplot", marketcolors=mc)
# print(style)mpf.plot(data=df2,type="candle",title="Candlestick for MSFT",ylabel="price($)",style=style,volume=True
)
7. 调整图表大小
mpf.plot(data=df2,type="candle",title="Candlestick for MSFT",ylabel="price($)",style="binance",figratio=(12, 6)
)
8. 添加移动平均线
mpf.plot(data=df,type="candle",title="Candlestick for MSFT",ylabel="price($)",style="binance",figratio=(12, 6),mav=(10, 20, 50) # 整数,或包含整数的列表/元组
)
如果喜欢我们的文章,记得点赞和收藏哦,我们每天都会为大家带来Python,数据科学和量化交易的精品内容。
【关于我们】
蜂鸟数据:国内领先的金融数据API提供商。
蜂鸟数据团队由业界顶尖的数据工程师,数据科学家和宽客组成,我们正努力构建一个强大的金融数据库,并提供API接口,目标是令金融数据开源化和平民化。
浏览并测试我们接口吧,目前覆盖股票,外汇,商品期货,数字货币和宏观经济领域,包括实时报价(tick)和历史数据(分钟),提供REST API和Websocket两种接入方式,能够满足金融分析师,量化交易和理财app的需求。
需要金融数据?利用蜂鸟API将数据整合到您的应用
如果您准备好了,请登录蜂鸟官网,注册免费获取API密钥,然后开始探索我们的金融数据库吧。
Python数据可视化:如何用mplfinance创建蜡烛图相关推荐
- 蜡烛图plotly_Python数据可视化:如何用mplfinance创建蜡烛图
Python数据可视化:如何用mplfinance创建蜡烛图 Python数据可视化:如何用mplfinance创建蜡烛图 一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图 ...
- python蜡烛图预测_Python数据可视化:如何用mplfinance创建蜡烛图
一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotl ...
- python数据可视化之简单绘制简单折线图
python数据可视化之简单绘制简单折线图 1. 首先安装matplotlib liunx安装命令: $ sudo apt-get install python3-matplotlib windows ...
- Python数据可视化:mplfinance创建蜡烛图(一)
matplotlib的 finance库由mplfinance库替代做为专用于金融数据的可视化分析模块, 是基于matplotlib的实用模块程序.使用前必须确保已经安装了matplotlib和pan ...
- Python数据可视化:mplfinance创建蜡烛图(二)
1.make_addplot()函数 make_addplot不仅可通过常规变量的可视化,还可可视化一些其他的分析数据,make_addplot可以接受DataFrame.Ndarray.list格式 ...
- Python数据可视化:mplfinance创建蜡烛图(三)
1.make_mpf_style()函数 make_mpf_style(base_mpf_style,base_mpl_style,marketcolors,mavcolors,facecolor,e ...
- Python数据可视化 Pyecharts 制作 Surface3D 3D曲面图
大家好,我是Mr数据杨,今天的话题是如何在Python中创建和理解3D曲面图.想象一下三国演义中的智囊囊们,他们常常在纷繁复杂的战场中作出精准的决策,如同处理复杂数据,找寻隐藏的模式. '3D曲面图' ...
- Python数据可视化之南丁格尔玫瑰图(亲测)
文章目录 1. 什么是南丁格尔玫瑰图 2. 南丁格尔玫瑰图的绘制 1. 什么是南丁格尔玫瑰图 央视新闻用来展示疫情0增长天数的图就是南丁格尔玫瑰图. 南丁格尔玫瑰图(Nightingale rose ...
- Python数据可视化之南丁格尔玫瑰图
文章目录 1. 什么是南丁格尔玫瑰图 2. 南丁格尔玫瑰图的绘制 1. 什么是南丁格尔玫瑰图 央视新闻用来展示疫情0增长天数的图就是南丁格尔玫瑰图. 南丁格尔玫瑰图(Nightingale rose ...
最新文章
- android之音乐播放和音效播放
- 【完结】12大深度学习开源框架(caffe,tf,pytorch,mxnet等)快速入门项目
- 新款苹果手机_苹果宣布新系统 性能依旧“压制quot;安卓
- asp.net,关于Listview+DataPager控件使用
- MATLAB数据分析2
- mac安装dubbo-admin
- 整理iOS9适配中出现的坑
- CF 1475 F . Unusual Matrix 思维
- Ubuntu安装php7.2
- IDEA上Debug调试全流程
- Silverlight MMORPG网页游戏开发课程(Game Lesson):目录
- WinForm窗体错误控件
- Android学习--广播机制
- -------------------开启我的手残之旅---------我就是喜欢写笔记-------咋滴啦?-----
- pillow安装出错的解决办法
- 小程序不同页面之间通讯的解决方案 1
- win10计算机管理员权限删除,win10删除需管理员权限的文件最佳解决方法
- Python Post提交简单案例,文本内容在线语音合成
- 开发小游戏之(案例——装备选择)
- 宣化科技职业学院计算机哪个校区,宣化科技职业学院宿舍怎么样
热门文章
- centos 7.4 X Window System 安装
- python 基于情感词典的情感分析之乐,惧,惊,哀,恶,怒和未知七种情感分析
- python draw.text颜色_python – 在draw_networkx和matplotlib中设置颜色
- DirectX11 环境光
- 【Flink源码】JobManager启动流程
- 【知识分享】知识链路-Modbus通信知识链路
- Matlab基于人工鱼群算法求解TSP问题
- ES学习(四)拼音插件分词elasticsearch-analysis-pinyin
- word中设置多级标题,标题自动编号
- 数字藏品开发平台-按需定制+提供源码