1. VWAP成交量加权平均线算法:

公式: (price * Volume) / Volume


详细解释:
周期内累积((High+Low+Close) / 3 * Volume)
再除以周期内累积交易量


下面的实现代码周期单位是:天
也就是每天早上8点重置累积的量(TradingView中是这样)
有需求可以自行看代码自行修改重置的时间


2. 代码实现:

impot time"""字典转数组"""
def GetSrc(r, name):if name == 'o+h+l+c':src = [ (v['Open'] + v['High'] + v['Low'] + v['Close']) / 4 for v in r ]elif name == 'h+l+c':src = [ (v['High'] + v['Low'] + v['Close']) / 3 for v in r ]elif name == 'h+l':src = [ (v['High'] + v['Low']) / 2 for v in r ]else:src = [ v[name] for v in r ] if name else rreturn src""" 时间戳转换"""
def GetTime(x, style="%H:%M:%S"):x = int(str(x)[:10])time_local = time.localtime(x)dt = time.strftime(style,time_local)return dt"""成交量加权平均线"""
def VWAP(r, dayTime='08:00', name='h+l+c',):src = GetSrc(r, name)emas = [0 for i in range(len(src))]  # 创造一个和cps一样大小的集合srcVol,Vol = 0, 0for i in range(len(src)):if GetTime(r[i]['Time'], "%H:%M") == dayTime: #每天早上八点重置Vol = r[i]['Volume']srcVol = src[i] * r[i]['Volume']else:Vol += r[i]['Volume']srcVol += src[i] * r[i]['Volume']emas[i] = srcVol / Volreturn emas

3. 变量r 结构图如下:

{{'Time': 0, #时间戳'Close': 0,'Open': 0,'High': 0,'Low': 0,'Volume': 0, #成交量}
}

4. 调用:

vwap = VWAP(r)

结果基本和TradingView一致

原文地址: 【原生代码】Pyrhon3实现VWAP成交量加权平均线 - 苏慕白的博客

【原生代码】Pyrhon3实现VWAP成交量加权平均线相关推荐

  1. SF19 | 基于VWAP(成交量加权平均价格)开发Alpha均线增强策略

    致力于分享量化策略,培训视频,Python,程序化交易等相关内容 一.成交量加权平均价(VWAP算法) 算法交易其实主要是用在基金公司.券商量化比较多.例如我已经选好股,要大量买入,但是单凭交易员的操 ...

  2. Python绘制指数加权平均线

    以下是绘制指数加权平均线的 Python 代码 # -*- coding: utf-8 -*- import numpy as np np.random.seed(1337) # for reprod ...

  3. 【原生代码】Python3 计算DI、ADX趋向指标

    1.引用: import pandas as pd import numpy as np 2.代码 #RSI中使用的移动平均线. 它是指数加权移动平均线,alpha加权值 = 1 /长度 def RM ...

  4. 用numpy计算成交量加权平均价格(VWAP),并实现读写文件

    VWAP(Volume-Weighted Average Price,成交量加权平均价格)是一个非常重要的经济学量,它代表着金融资产的"平均"价格.某个价格的成交量越高,该价格所占 ...

  5. 股票——成交量加权平均价VWAP

    成交量加权平均价是将多笔交易的价格按各自的成交量加权而算出的平均价,若是计算某一证券在某交易日的VWAP,将当日成交总值除以总成交量即可.VWAP可作为交易定价的一种方法,亦可作为衡量机构投资者或交易 ...

  6. 【原生代码】Python3 实现ATR、MA、EMA、SMMA、RMA、TEMA指标的计算

    1. 参数说明 r:K线数据,字典或者数组 days:指标长度 name:使用哪一个字段,填'Close'即可,如果不填则代表r是数组而不是字典 变量r 字典结构图如下: {{'Time': 0,'C ...

  7. AE 动画直接变原生代码:Airbnb 发布开源动画库 Lottie

    原文 Airbnb 发布的 Lottie 是一个面向 iOS.Android 和 React Native 的开源动画库. 简单来说,就是可以直接利用 AE 导出的 JSON 动画文件,将其解析为原生 ...

  8. 使用JNA,让java调用原生代码

    JNA定义: JNA:java Native Access,是SUN公司开发的基于JNI的框架.JNI使得Java可以调用原生的c或者c++代码. JNA与JNI(Java Native Interf ...

  9. flutter 调用原生安卓插件_Flutter 如何调用Android和iOS原生代码

    分3个大步骤: 1.在flutter中调用原生方法 2.在Android中实现被调用的方法 3.在iOS中实现被调用的方法 在flutter中调用原生方法 场景,这里你希望调用原生方法告诉你一个boo ...

最新文章

  1. Red Hat 5.8 CentOS 6.5 共用 输入法
  2. c#设置软件开机自动运行,修改注册表
  3. 【NLP】图解 Attention完整版
  4. python循环实验心得_2019.06.18学习python循环总结
  5. php中的unbuffered_row,php – 加载数据infile和unbuffered查询错误
  6. VisualStudio.gitignore git 忽略
  7. 奇异值分解SVD(证明全部省略)
  8. 力扣 278.第一个错误的版本
  9. linux centos7 cuda安装
  10. 半导体器件物理【3】半导体与IC工艺
  11. 专家称摩尔定律将于2022年失效
  12. python sklearn包中的主成分分析_九、Sklearn主成分分析
  13. pmp知识点(9)-项目资源管理
  14. 基于高德导航的Android大作业
  15. 基于Python实现简单的成绩统计系统
  16. 计算机组成原理简介-(一)概论
  17. Matlab中text函数的使用
  18. HCIP --- HDLC和PPP协议
  19. 儿童学编程的原因以及方法
  20. TCP/IP(十一)TCP滑动窗口和拥塞控制

热门文章

  1. Unity引擎基础补充
  2. 字符串转时间,时间转字符串
  3. 五年磨一剑展现兵马俑“奇幻地下世界”,瑞云渲染力挺《俑之城》
  4. 网络安全-配置kali linux
  5. java计算一个多边形的重心_Java多边形重心计算
  6. 线程和进程的各自特点和区别
  7. Linux-打开指定的端口
  8. 2021年全球车辆到电网(V2G)收入大约33百万美元,预计2028年达到2008.7百万美元,2022至2028期间,年复合增长率CAGR为 79.9%
  9. torch.split()
  10. 苹果高通携手推人脸识别!手机指纹识别将被打入冷宫