一图胜千言,使用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创建蜡烛图相关推荐

  1. 蜡烛图plotly_Python数据可视化:如何用mplfinance创建蜡烛图

    Python数据可视化:如何用mplfinance创建蜡烛图 Python数据可视化:如何用mplfinance创建蜡烛图 一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图 ...

  2. python蜡烛图预测_Python数据可视化:如何用mplfinance创建蜡烛图

    一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形. 我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,使用matplotl ...

  3. python数据可视化之简单绘制简单折线图

    python数据可视化之简单绘制简单折线图 1. 首先安装matplotlib liunx安装命令: $ sudo apt-get install python3-matplotlib windows ...

  4. Python数据可视化:mplfinance创建蜡烛图(一)

    matplotlib的 finance库由mplfinance库替代做为专用于金融数据的可视化分析模块, 是基于matplotlib的实用模块程序.使用前必须确保已经安装了matplotlib和pan ...

  5. Python数据可视化:mplfinance创建蜡烛图(二)

    1.make_addplot()函数 make_addplot不仅可通过常规变量的可视化,还可可视化一些其他的分析数据,make_addplot可以接受DataFrame.Ndarray.list格式 ...

  6. Python数据可视化:mplfinance创建蜡烛图(三)

    1.make_mpf_style()函数 make_mpf_style(base_mpf_style,base_mpl_style,marketcolors,mavcolors,facecolor,e ...

  7. Python数据可视化 Pyecharts 制作 Surface3D 3D曲面图

    大家好,我是Mr数据杨,今天的话题是如何在Python中创建和理解3D曲面图.想象一下三国演义中的智囊囊们,他们常常在纷繁复杂的战场中作出精准的决策,如同处理复杂数据,找寻隐藏的模式. '3D曲面图' ...

  8. Python数据可视化之南丁格尔玫瑰图(亲测)

    文章目录 1. 什么是南丁格尔玫瑰图 2. 南丁格尔玫瑰图的绘制 1. 什么是南丁格尔玫瑰图 央视新闻用来展示疫情0增长天数的图就是南丁格尔玫瑰图. 南丁格尔玫瑰图(Nightingale rose ...

  9. Python数据可视化之南丁格尔玫瑰图

    文章目录 1. 什么是南丁格尔玫瑰图 2. 南丁格尔玫瑰图的绘制 1. 什么是南丁格尔玫瑰图 央视新闻用来展示疫情0增长天数的图就是南丁格尔玫瑰图. 南丁格尔玫瑰图(Nightingale rose ...

最新文章

  1. android之音乐播放和音效播放
  2. 【完结】12大深度学习开源框架(caffe,tf,pytorch,mxnet等)快速入门项目
  3. 新款苹果手机_苹果宣布新系统 性能依旧“压制quot;安卓
  4. asp.net,关于Listview+DataPager控件使用
  5. MATLAB数据分析2
  6. mac安装dubbo-admin
  7. 整理iOS9适配中出现的坑
  8. CF 1475 F . Unusual Matrix 思维
  9. Ubuntu安装php7.2
  10. IDEA上Debug调试全流程
  11. Silverlight MMORPG网页游戏开发课程(Game Lesson):目录
  12. WinForm窗体错误控件
  13. Android学习--广播机制
  14. -------------------开启我的手残之旅---------我就是喜欢写笔记-------咋滴啦?-----
  15. pillow安装出错的解决办法
  16. 小程序不同页面之间通讯的解决方案 1
  17. win10计算机管理员权限删除,win10删除需管理员权限的文件最佳解决方法
  18. Python Post提交简单案例,文本内容在线语音合成
  19. 开发小游戏之(案例——装备选择)
  20. 宣化科技职业学院计算机哪个校区,宣化科技职业学院宿舍怎么样

热门文章

  1. centos 7.4  X Window System 安装
  2. python 基于情感词典的情感分析之乐,惧,惊,哀,恶,怒和未知七种情感分析
  3. python draw.text颜色_python – 在draw_networkx和matplotlib中设置颜色
  4. DirectX11 环境光
  5. 【Flink源码】JobManager启动流程
  6. 【知识分享】知识链路-Modbus通信知识链路
  7. Matlab基于人工鱼群算法求解TSP问题
  8. ES学习(四)拼音插件分词elasticsearch-analysis-pinyin
  9. word中设置多级标题,标题自动编号
  10. 数字藏品开发平台-按需定制+提供源码