matplotlib之绘制数据分析的常用图像(均值,方差,极值等)

2023-10-30

本文所用文件的百度云链接:

链接:https://pan.baidu.com/s/15-qbrbtRs4frup24Y1i5og 
提取码:pm2c 
算数平均值

算数平均值表示对真值的无偏估计.

S = [s1, s2, s3 .... sn]
m = (s1+s2+s3+ .... +sn) / n
# 求array数组的均值
np.mean(array)

案例: 绘制30日收盘价的均线.

# 绘制均线
mean = np.mean(closing_prices)
mp.hlines(mean, dates[0], dates[-1], 
	color='orangered', label='Mean(ClosingP)')
加权平均值
S = [s1, s2, s3 ... sn]  # 样本
W = [w1, w2, w3 ... wn]  # 权重
A = (s1w1 + s2w2 + ... snwn)/(w1+w2+..wn)
# 计算加权平均值
# closing_prices: 样本数组
# weights: 权重数组
np.average(closing_prices, weights=array)

成交量加权平均值 (VWAP)

以每天的交易量作为权重, 计算加权平均值. (VWAP体现了市场对当前交易价格的认可度)

# 成交量加权均线
vwap = np.average(closing_prices, weights=volumns)
mp.hlines(vwap, dates[0], dates[-1], 
	color='limegreen', label='VWAP')

时间加权平均值 (TWAP)

# 时间加权均线
times = np.arange(1, closing_prices.size+1)
twap = np.average(closing_prices, weights=times)
mp.hlines(twap, dates[0], dates[-1], 
	color='violet', label='TWAP')
最值
np.max(array)  # 求array数组的最大值
np.min(array)  # 求array数组的最小值
np.pip(array)  # 求array数组的极差(max-min)
np.argmax(array)	# 获取array数组最大值的下标
np.argmin(array)	# 获取array数组最小值的下标
# a与b是同维数组
# 留下两数组中相比的最大值组成新数组
np.maximum(a, b)	
# 留下两数组中相比的最小值组成新数组
np.minimum(a, b)
中位数

将多个样本按照大小排序, 取中间位置的元素.

# 对有序数组array 求中位数
m = np.median(ary)
# 中位数算法
m = (ary[(size-1)/2] + ary[size/2]) / 2

案例演示:

"""
绘制均线
"""
import numpy as np
import matplotlib.pyplot as mp
import datetime as dt
import matplotlib.dates as md

# 当numpy解析文本时,将会把第一列中的每个字符串
# 都传给函数进行处理, 将处理完毕后的返回值
# 转成需要的M8[D]类型
def dmy2ymd(dmy):
	dmy = str(dmy, encoding='utf-8')
	# 把dmy转成日期对象
	d = dt.datetime.strptime(dmy, '%d-%m-%Y')
	t = d.date()
	s = t.strftime('%Y-%m-%d')
	return s

# 加载文件
dates, closing_prices, volumns = np.loadtxt(
	'../da_data/aapl.csv', delimiter=',', 
	usecols=(1,6,7), unpack=True, 
	dtype='M8[D], f8, f8' , 
	converters={1:dmy2ymd})

# 绘制收盘价
mp.figure('AAPL', facecolor='lightgray')
mp.title('AAPL', fontsize=18)
mp.xlabel('Date', fontsize=14)
mp.ylabel('Price', fontsize=14)
mp.tick_params(labelsize=10)
mp.grid(linestyle=':')
# 设置主刻度定位器为每周一
ax = mp.gca()
ax.xaxis.set_major_locator(
	md.WeekdayLocator(byweekday=md.MO))
ax.xaxis.set_major_formatter(
	md.DateFormatter('%Y/%m/%d'))

# 把M8[D]转为matplotlib识别的date类型
dates = dates.astype(md.datetime.datetime)
mp.plot(dates, closing_prices, alpha=0.6,
	color='dodgerblue', linewidth=2,
	linestyle='--', label='closing_prices')

# 绘制均线
mean = np.mean(closing_prices)
mp.hlines(mean, dates[0], dates[-1], 
	color='orangered', label='Mean(ClosingP)')

# 成交量加权均线
vwap = np.average(closing_prices, weights=volumns)
mp.hlines(vwap, dates[0], dates[-1], 
	color='limegreen', label='VWAP')

# 时间加权均线
times = np.arange(1, closing_prices.size+1)
twap = np.average(closing_prices, weights=times)
mp.hlines(twap, dates[0], dates[-1], 
	color='violet', label='TWAP')
# 绘制中位数水平线
sorted_prices = np.msort(closing_prices)
median = np.median(sorted_prices)
# 自己计算
size = sorted_prices.size
median = (sorted_prices[int((size-1)/2)] + \
		sorted_prices[int(size/2)]) / 2
print(median)
mp.hlines(median, dates[0], dates[-1], 
	color='gold', label='Median')

mp.legend()
# 自动格式化x轴的日期输出
mp.gcf().autofmt_xdate()
mp.show()

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matplotlib之绘制数据分析的常用图像(均值,方差,极值等) 的相关文章

随机推荐

  • 【Shell牛客刷题系列】SHELL17 将字段逆序输出文件的每行:巩固awk命令与学习反向列示文件内容的tac命令

    该系列是基于牛客Shell题库 针对具体题目进行查漏补缺 学习相应的命令 刷题链接 牛客题霸 Shell篇 该系列文章都放到专栏下 专栏链接为 专栏 Linux 欢迎关注专栏 本文知识预告 首先学习了反向列示文件内容的命令 tac 这个命令
  • cocos2dx lua 读取json数据

    这里读取的数据是从excel转成json格式的数据 local sData cc FileUtils getInstance getStringFromFile filename local var json decode sData if
  • 基于STM32F103ZET6的RX8025SA时钟电路设计

    1 现在网上大多例程都是关于RX8025T的 带温度补偿的时钟芯片手册 RX8025SA与RX8025T的区别 RX8025T内置高稳定性32 768kHz的DTCXO 数字温度补偿晶体振荡器 可保证在全温度范围内的精度保持在 5ppm R
  • #program once 和 #ifndef

    program once 和 ifndef 在写小demo的时候 注意到vs中会自动生成 program once 看别人写的代码的时候见到比较多的反而是 ifndef define endif 从字面上看两种方式会产生相同的效果 避免同一
  • C语言--__attribute__((aligned(n)))

    include
  • 用户态和内核态的转换

    用户态切换到内核态的3种方式 a 系统调用 这是用户态进程主动要求切换到内核态的一种方式 用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作 比如前例中fork 实际上就是执行了一个创建新进程的系统调用 而系统调用的机制其核心还是
  • 网络打印机因IP地址变动导致脱机的解决方法

    PC版本win10 某一天因为种种原因导致网络打印机的IP变动了 那么我们在自己PC机上添加的打印机就无法使用了 来看作者是怎么解决的 假设目标IP由192 168 1 16改为192 168 2 195 打开我的打印机和扫面仪菜单
  • CSDN站外文章记录收藏

    序号 c opencv相关 1 OpenCV模板匹配算法详解 2 无参考图像质量评价算法Blind Image Quality Evaluation Using Perception Based Features 3 mtf calcula
  • SQLite 使用(针对Android)

    文章目录 1 SQLite 介绍 2 SQLite可视化工具 安装 3 SQLite的增删改查 3 1 SqliteOpenHelper 创建 库或表 3 2 SqliteOpenHelper 实现 增删改查 1 SQLite 介绍 SQL
  • HEVC编码结构:Slice和Tile

    1 Slice片段层 一幅图像可以被划分为一个或多个片或称为条带 Slice 每个片的数据编码都是独立的 如下图 一幅图像被划分为N个Slice Slice成条带形 在编码时 每一个Slice中的CTU按光栅扫描顺序进行编码 Slice头信
  • vue源码中值得学习的方法

    作者 chinamasters https segmentfault com a 1190000025157159 最近在深入研究vue源码 把学习过程中 看到的一些好玩的的函数方法收集起来做分享 希望对大家对深入学习js有所帮助 如果大家
  • Excel怎么求和?5大常用的Excel求和公式

    众所周知 Excel表格里可以运用很多函数来计算 将数据进行整理分析 运用函数是不可或缺的 特别是当我们的数据庞大时 人工计算是很浪费时间的 而且使用函数进行求和不仅仅是因为方便计算 还因为可以方便日后查询数据能够知道数据的来源 所以 Ex
  • MySQL数据库 - 数据库和表的基本操作(一)

    第1关 查看表结构与修改表名 查看数据表基本结构 语法规则为 desc 表名 describe可以查看表的字段信息 包括 字段名 字段数据类型 是否为主键 是否有默认值等 查看数据表详细结构 语法规则为 show create table表
  • 增益带宽积GBW

    增益带宽积GBW 增益带宽积是指放大电路在单位增益下的工作频率范围 通常用于描述放大器的高低频特性 增益带宽积越大表示放大器能够传输更高的频率信号而不降低增益 1 增益带宽积的概念 增益带宽积是指在放大器的这样一个频带内 其实际的电压增益值
  • javaweb-36:smbms用户管理分页OK

    3 获取角色操作 为了我们职责统一 可以把角色的操作单独放在一个包中 和POJO类对应 初始化sql INSERT INTO smbms smbms role roleCode roleName createBy creationDate
  • vscode运行打包vue项目内存溢出的报错和解决办法

    vscode运行打包vue项目内存溢出的报错和解决办法 最近在再弄一个旧项目的时候发现这个项目异常的大 内容涉及很多 导致我在运行的时候发生了内存的溢出 虽然不影响代码跑起来 但是他时不时保存的时候就断了就很烦 没办法 就去找各种办法来解决
  • MySQL项目练习2——员工信息表项目

    目录 项目条件 设计表 数据插入 查询操作 项目条件 dept表 部门 dept部门表结构 字段 类型 描述 deptno mediumint 8 部门编号 PK dname varchar 20 部门名称 unique loc varch
  • java随机生成10个不重复的数字,随机生成10个不重复的0-100的数字(实例讲解)

    在面试时 面试官问了我一道js题 随机生成一个含有10个元素的数组 且元素为0 100的不重复的整数 当时的第一反应是for循环生成10个数字 但是可能会有重复的情况 进一步思考 需要对生成的数字进行验证才能放到数组里面 但是问题来了 如果
  • 从测试流程角度,对产品质量的一些总结思考

    前言 不知道大家有没有遇到下面两个场景 我是遇到了 还为此召开了RCA会议 复盘会议 从测试流程角度 对产品质量的一些总结思考 一 熟悉的场景 二 测试流程拆解分析 1 需求评审 2 技术设计评审 3 测试方案设计 4 线下测试 含灰度 5
  • matplotlib之绘制数据分析的常用图像(均值,方差,极值等)

    本文所用文件的百度云链接 链接 https pan baidu com s 15 qbrbtRs4frup24Y1i5og 提取码 pm2c 算数平均值 算数平均值表示对真值的无偏估计 S s1 s2 s3 sn m s1 s2 s3 sn