算数平均值

S = [s1, s2, ..., sn]

样本中的每个值都是真值与误差的和。

算数平均值:
m = (s1 + s2 + ... + sn) / n

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

np.mean(array)
array.mean()

案例:计算收盘价的算术平均值。

#算数平均值
import numpy as np
import matplotlib.pyplot as mp
import datetime as dt
import matplotlib.dates as mddef dmy2ymd(dmy):"""把日月年转年月日:param day::return:"""dmy = str(dmy, encoding='utf-8')t = dt.datetime.strptime(dmy, '%d-%m-%Y')s = t.date().strftime('%Y-%m-%d')return sdates, opening_prices, \
highest_prices, lowest_prices, \
closing_prices = \np.loadtxt('aapl.csv',delimiter=',',usecols=(1, 3, 4, 5, 6),unpack=True,dtype='M8[D],f8,f8,f8,f8',converters={1: dmy2ymd})  # 日月年转年月日# 绘制收盘价的折现图
mp.figure('APPL', facecolor='lightgray')
mp.title('APPL', fontsize=18)
mp.xlabel('Date', fontsize=14)
mp.ylabel('Price', fontsize=14)
mp.grid(linestyle=":")# 设置刻度定位器
# 每周一一个主刻度,一天一个次刻度

ax = mp.gca()
ma_loc = md.WeekdayLocator(byweekday=md.MO)
ax.xaxis.set_major_locator(ma_loc)
ax.xaxis.set_major_formatter(md.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_minor_locator(md.DayLocator())
# 修改dates的dtype为md.datetime.datetiem
dates = dates.astype(md.datetime.datetime)
mp.plot(dates, closing_prices,color='dodgerblue',linewidth=2,linestyle='--',alpha=0.8,label='APPL Closing Price')
#计算收盘价的均值
mean = np.mean(closing_prices)
# mean = closing_prices.mean()
print(mean)
mp.hlines(mean,dates[0],dates[-1],colors='orangered',label='mean')
mp.legend()
mp.gcf().autofmt_xdate()
mp.show()

加权平均值

样本:S = [s1, s2, ..., sn]

权重:W = [w1, w2, ..., wn]

加权平均值:a = (s1w1+s2w2+...+snwn)/(w1+w2+...+wn)

np.average(closing_prices, weights=volumes)

VWAP - 成交量加权平均价格(成交量体现了市场对当前交易价格的认可度,成交量加权平均价格将会更接近这支股票的真实价值)

import numpy as np
closing_prices, volumes = np.loadtxt('../../data/aapl.csv', delimiter=',',usecols=(6, 7), unpack=True)
vwap, wsum = 0, 0
for closing_price, volume in zip(closing_prices, volumes):vwap += closing_price * volumewsum += volume
vwap /= wsum
print(vwap)
vwap = np.average(closing_prices, weights=volumes)
print(vwap)

TWAP - 时间加权平均价格(时间越晚权重越高,参考意义越大)

import datetime as dt
import numpy as npdef dmy2days(dmy):dmy = str(dmy, encoding='utf-8')date = dt.datetime.strptime(dmy, '%d-%m-%Y').date()days = (date - dt.date.min).daysreturn daysdays, closing_prices = np.loadtxt('../../data/aapl.csv', delimiter=',',usecols=(1, 6), unpack=True,converters={1: dmy2days})
twap = np.average(closing_prices, weights=days)
print(twap)

# 加权平均值
import numpy as np
import matplotlib.pyplot as mp
import datetime as dt
import matplotlib.dates as mddef dmy2ymd(dmy):"""把日月年转年月日:param day::return:"""dmy = str(dmy, encoding='utf-8')t = dt.datetime.strptime(dmy, '%d-%m-%Y')s = t.date().strftime('%Y-%m-%d')return sdates, opening_prices, \
highest_prices, lowest_prices, \
closing_prices ,volumes= \np.loadtxt('aapl.csv',delimiter=',',usecols=(1, 3, 4, 5, 6,7),unpack=True,dtype='M8[D],f8,f8,f8,f8,f8',converters={1: dmy2ymd})  # 日月年转年月日
print(dates)
# 绘制收盘价的折现图
mp.figure('APPL', facecolor='lightgray')
mp.title('APPL', fontsize=18)
mp.xlabel('Date', fontsize=14)
mp.ylabel('Price', fontsize=14)
mp.grid(linestyle=":")# 设置刻度定位器
# 每周一一个主刻度,一天一个次刻度

ax = mp.gca()
ma_loc = md.WeekdayLocator(byweekday=md.MO)
ax.xaxis.set_major_locator(ma_loc)
ax.xaxis.set_major_formatter(md.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_minor_locator(md.DayLocator())
# 修改dates的dtype为md.datetime.datetiem
dates = dates.astype(md.datetime.datetime)
mp.plot(dates, closing_prices,color='dodgerblue',linewidth=2,linestyle='--',alpha=0.8,label='APPL Closing Price')
# 计算收盘价的均值
mean = np.mean(closing_prices)
# mean = closing_prices.mean()
mp.hlines(mean, dates[0], dates[-1], colors='orangered',label='mean')
# VWP成交量加权平均值
vwap = np.average(closing_prices, weights=volumes)
mp.hlines(vwap, dates[0], dates[-1], color='blue', label='VWAP')
#TWAP事件加权平均价格
w = np.linspace(1,4,30)
twap = np.average(closing_prices,weights=w)
mp.hlines(twap,dates[0],dates[-1],color='green',label='TWAP')
mp.legend()
mp.gcf().autofmt_xdate()
mp.show()

转载于:https://www.cnblogs.com/maplethefox/p/11457290.html

算数平均值/加权平均值相关推荐

  1. Python之数据分析(算数平均值、加权平均值、最大值与最小值)

    文章目录 一.算数平均值 二.加权平均值 三.最大值与最小值 一.算数平均值 1.平均值的作用 平均数是表示一组数据集中趋势的量数,它是反映数据集中趋势的一项指标.一组数据少则几十,多则上千,甚至于过 ...

  2. 平均值不等式证明:算数平均值、几何平均值、调和平均值大小关系证明

    三个平均值不等式证明(算数平均值不小于几何平均值,几何平均值不小于调和平均值) 写在前面:最近在自学数学分析,学到这里时书上并未给出完整证明,同时在网上也没有找到想要的内容,因此这里记录一下推导过程, ...

  3. Python计算csv数据的算数平均值

    自己编两组数据计算了一下两者之差的绝对值的平均值.两组数据存在了一个.csv文件里,利用了python中的panda库和numpy库 import numpy as np import pandas ...

  4. 2021高校毕业生就业薪酬分析:博士、硕士、本科、专科的月起薪算数平均值分别为14823元、10113元、5825元、3910元[图]

    近日,"本科毕业月平均起薪5825元"的话题迅速热搜,引发网友热议.在2022届高校毕业生规模预计达到1076万人的严峻就业形势下,"毕业起薪"成为社会关注的焦 ...

  5. python数据分析 - numpy | ndarray数组 | numpy常用函数

    文章目录 数据分析 numpy概述 numpy历史 numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象的创 ...

  6. 数据分析之numpy基础/matplotlib绘图/numpy常用函数/杂项功能

    文章目录 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象 ...

  7. Python小记:14.数据分析基础知识点汇总

    目录: 数据分析 numpy概述 numpy`历史` numpy的核心:多维数组 numpy基础 ndarray数组 内存中的ndarray对象 ndarray数组对象的特点 ndarray数组对象的 ...

  8. 【名词解释】什么叫加权平均值?有什么意义吗?

    什么是加权平均值? 举例说明,下面是一个同学的某一科的考试成绩: 平时测验 80, 期中 90, 期末 95 学校规定的科目成绩的计算方式是: 平时测验占 20%: 期中成绩占 30%: 期末成绩占 ...

  9. excel平均值公式_投资组合Normal VaR的具体计算方法(Excel版)

    VaR的含义 面临"正常"的市场波动时,在给定的置信水平和持有期限内,预期的最大损失量. VaR(95%,1日),即一个交易日内在95%的置信区间内的最大损失. Normal Va ...

最新文章

  1. 第二弹,坐地铁就能学会的3种「非常有趣」的 Python 玩法
  2. 2021 网易创新企业大会来了
  3. 2016 年Adobe设计成就奖作品征集
  4. ASP.NET2.0数据操作之创建业务逻辑层
  5. Python FastApi:post文件与数据/本地端测试
  6. LDAP命令介绍---dsconfig
  7. MYSQLMANAGER实例管理器总结
  8. IDEA和mysql的连接
  9. 通过docker build --build-arg 传值进 Dockerfile 动态构建容器
  10. 简易 Vue 构建--篇二
  11. android sugar框架 使用,数据库框架Sugar的使用
  12. 小程序入门学习19--springboot之HelloWorld
  13. linux内核长期支持版本,Linux Kernel 3.12长期支持分支迎来第63个维护版本
  14. C代码工具--自动生成enum值和名字映射代码
  15. Camera2 camera i2c总线协议介绍
  16. GOM引擎版本为什么玩家会自动掉线或闪退?
  17. 网证CTID是一种什么业务?有什么前景?
  18. 神之意志是什么?他想要做什么?
  19. linux 可读可写可执行权限 chmod
  20. 九齐单片机 NY8A051D点亮LED

热门文章

  1. 如何得到SignedXm验证Xml签名的日志文件
  2. 系统管理员 AD如何还原活动目录
  3. CString——Left、Right、Find、Mid、ReverseFind
  4. 艾司博讯:拼多多客服介入对商家影响大吗
  5. Python:什么是callable?
  6. 红帽linux5.5序列号,Redhat5 Server下载、序列号
  7. c++ 字符串与数字相互转换
  8. ubuntu 安装goland 桌面快捷键
  9. Arcgis画出断面线并批量导出
  10. Python3使用动态规划处理01背包问题