python matplotlib 绘制布林带

csv文件下载地址:
链接:https://pan.baidu.com/s/1sDe3h0jBliT5QAWGwNK8kg
提取码:tsdt

"""绘制布林带
"""import numpy as np
import datetime as dt
import matplotlib.pyplot as mp
import matplotlib.dates as md# 方法-日期转换函数
def dmy2ymd(dmy):dmy = str(dmy, encoding='utf-8')time = dt.datetime.strptime(dmy, '%d-%m-%Y').date()t = time.strftime('%Y-%m-%d')return t# 读取csv文件数据
dates, open_price, max_price, min_price, close_prices, volumes = np.loadtxt(r".\aapl.csv",delimiter=",",usecols=(1, 3, 4, 5, 6, 7),unpack=True,dtype="M8[D], f8, f8, f8, f8, f8",converters={1: dmy2ymd})print(open_price)# 设置绘图窗口
mp.figure("Apple K Line", facecolor="lightgray")
mp.title("Apple K Line", fontsize=16)
mp.xlabel("Data", fontsize=14)
mp.ylabel("Price", fontsize=14)# x坐标(时间轴)轴修改
ax = mp.gca()
# 设置主刻度定位器为周定位器(每周一显示主刻度文本)
ax.xaxis.set_major_locator(md.WeekdayLocator(byweekday=md.MO))
ax.xaxis.set_major_formatter(md.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_minor_locator(md.DayLocator())mp.tick_params(labelsize=8)
mp.grid(linestyle=":")# 绘制收盘价
dates = dates.astype(md.datetime.datetime)
mp.plot(dates, close_prices, color="r", linestyle="--", linewidth=2, label="close",alpha=0.3)# 加权卷积 均值
x = np.linspace(-1, 0, 5)
weights = np.exp(x)[::-1]
kernel = weights / weights.sum()
ma_53 = np.convolve(close_prices, kernel, "valid")
mp.plot(dates[4:], ma_53, color="orangered", linewidth=2, label="MA-53")# 计算标准差
stds = np.zeros_like(ma_53)
for i in range(stds.size):stds[i] = close_prices[i:i + 5].std()
stds *= 2# 计算上下线 并绘制布林带
lowers = ma_53 - stds
uppers = ma_53 + stds
mp.plot(dates[4:], uppers, color="red", linewidth=2, label="Upper")
mp.plot(dates[4:], lowers, color="green", linewidth=2, label="Lower")mp.fill_between(dates[4:], lowers, uppers, lowers < uppers, color="lightgray", alpha=0.3)mp.legend()
mp.gcf().autofmt_xdate()
mp.show()

python matplotlib 绘制布林带相关推荐

  1. Python matplotlib 绘制量场图

    复习回顾 matplotlib 是基于Python语言的开源项目,pyplot提供一系列绘制2D图形的方法.随着版本的迭代,matplotlib 模块也支持绘制3D图形mplot3d工具包,制作动态图 ...

  2. 不愧是摸鱼高手Python matplotlib 绘制频谱图都会,能怪老板不管

    复习回顾 matplotlib 是Python专门用来绘制渲染的模块,其底层主要分为脚本层.美工层和后端.脚本层为我们提供常见图形绘制如折线.柱状.直方.饼图.以往文章 这么详细的Python mat ...

  3. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

  4. Python matplotlib 绘制散点图 还不收藏起来

    复习回顾 我们在往前几期中对matplotlib模块学习,对常用的反映数据变化的折线图,对比数据类型差异的柱状图和反应数据频率分布情况的直方图. 往前内容快速查看 超详细的Python matplot ...

  5. Python matplotlib 绘制等高线图

    前言 我们在往期对matplotlib.pyplot()方法学习,到现在我们已经会绘制折线图.柱状图.散点等常规的图表啦(往期的内容如下,大家可以方便查看往期内容) python入门到进阶,爬虫数据分 ...

  6. 这么详细的Python matplotlib 绘制图形 还不赶紧收藏

    前言 我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图.柱状图.饼图.直方图等统计图表的相关方法,列举往期文章如下. 超详细的Python matplot ...

  7. 超详细的Python matplotlib 绘制柱状图

    复习回顾 Python 为数据展示提供了大量优秀的功能包,其中 matplotlib 模块可以方便绘制制作折线图.柱状图.散点图等高质量的数据包. 关于 matplotlib 模块,我们前期已经对ma ...

  8. Python matplotlib绘制雷达图

    Python matplotlib绘制雷达图 本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指 ...

  9. Python matplotlib绘制饼图

    Python matplotlib绘制饼图 继前面使用matplotlib绘制折线图.散点图.柱状图和直方图,本篇文章继续介绍使用matplotlib绘制饼图. 一.matplotlib绘制饼图 # ...

最新文章

  1. 关于双机热备,你该知道那些问题?
  2. js切换换class
  3. numpy 笔记:finfo
  4. java生成word 框勾_Java 使用模板生成 Word 文件---基于 Freemarker 模板框架
  5. Python合并两个有序列表
  6. oracle Group by 分组查询后,分页
  7. Ubuntus安装vmware tools工具
  8. 【DFS + backtrack】LeetCode 93. Restore IP Addresses
  9. VB API教程 王国荣
  10. Tensorflow官方文档学习理解 (二)
  11. 用友nc系统服务器是云端吗,用友NC服务器硬件配置要求
  12. wd移动硬盘测试软件,西数硬盘修复工具(WD HDD Repair Tools)
  13. 利用ckplayer浏览器在线播放视频并获取视频预览图方法
  14. 【离散数学】编程练习:求偏序集中的极大元与极小元
  15. java中获取项目名的方法
  16. 华为云人脸识别服务 FRS 之初体验
  17. 关于精度、分辨率、LSB的理解
  18. 数据库系统概论 第三章 第五大题 实验报告
  19. Linux下ll命令
  20. cocosCreator 用进度条展示场景加载进度

热门文章

  1. 活动、节假日、促销等营销方式的因果效应评估——方法模型篇(二)
  2. tp5+mysql写入特殊表情符号数据时失败
  3. rabbitMq工作模式特性及整合springboot
  4. 【云和恩墨大讲堂】赴春天第一场约会,深圳等你
  5. 2022-05-25 网工进阶(七)OSPF-影响邻居关系建立的因素、路由撤销、路由汇总、路由过滤、Silent-Interface、报文认证
  6. Linux 一句精彩的回答【转】
  7. 01 - Empire Lupin One
  8. 第149章 SQL函数 TRIM
  9. jupyter怎么配置python_python-如何在Jupyter noteb中设置环境变量
  10. 世界杯---人生就是一届又一届世界杯