QMT之如何用加权价格计算支撑位(上)

张开发
2026/4/20 8:35:55 15 分钟阅读

分享文章

QMT之如何用加权价格计算支撑位(上)
本文将从基础原理、公式推导、计算示例、Python 环境搭建四个维度带大家彻底搞懂机构交易常用的核心量价指标VWAP成交量加权平均价与Anchored VWAP锚定 VWAP并基于 miniQMT 的 xtquant 库实现行情数据获取为后续自动识别股票支撑位、压力位打下完整的量化基础。一、前期环境准备本文所有代码均基于 Python 实现行情数据源采用xtquant miniQMT同时会用到 Python 量化分析常用的第三方库大家可提前完成环境配置避免后续运行出现依赖缺失报错。1.1 依赖库安装执行以下 pip 命令一键安装本文所需的全部依赖库pip install pandas numpy matplotlib scipy scikit-learn xtquant基础库pandas用于数据处理、numpy用于数值计算、matplotlib用于数据可视化进阶库scipy与scikit-learn将在后续进阶内容中用于信号过滤与策略优化行情库xtquant是 miniQMT 官方提供的 Python 量化接口可直接对接 miniQMT 客户端获取实时与历史行情数据1.2 基于 xtquant 的行情数据获取以下是封装好的股票历史行情获取函数本文后续所有行情数据均通过该函数生成函数已完善参数注释与异常兼容可直接复制使用import pandas as pd from xtquant import xtdata def get_hq(code, start_date19900101, period1d, dividend_typefront_ratio, count-1): 基于xtquant下载并获取股票历史行情数据 :param code: 股票代码格式为 代码.交易所例如 600000.SH、000001.SZ :param start_date: 行情起始日期格式YYYYMMDD默认19900101获取全量历史数据 :param period: K线周期支持 1d(日线)、1w(周线)、1mon(月线)默认日线 :param dividend_type: 除权方式用于K线复权计算默认front_ratio等比前复权 可选值none(不复权)、front(前复权)、back(后复权)、front_ratio(等比前复权)、back_ratio(等比后复权) :param count: 获取K线数量-1为获取起始日期以来的全部数据 :return: 包含开高低收、成交量、成交额的DataFrame索引为日期格式 # 关闭控制台hello提示 xtdata.enable_hello False # 增量下载历史行情数据 xtdata.download_history_data(stock_codecode, periodperiod, incrementallyTrue) # 获取行情数据指定需要的字段 history_data xtdata.get_market_data_ex( field_list[open, high, low, close, volume, amount], stock_list[code], periodperiod, start_timestart_date, countcount, dividend_typedividend_type ) # 转换为DataFrame并处理日期格式 df history_data[code] df.index pd.to_datetime(df.index.astype(str), format%Y%m%d) df[date] df.index return df # 调用示例获取贵州茅台等比前复权日线行情 # df get_hq(600519.SH, start_date20200101) # print(df.head())二、VWAP 与 Anchored VWAP 核心原理在量化交易中单纯的价格均线只能反映价格的平均走势却忽略了成交量这个核心因素 ——成交量是资金的直接体现只有结合成交量的价格才是市场真实的成交成本。而 VWAP 与锚定 VWAP正是基于这个核心逻辑诞生的指标。2.1 什么是 VWAP成交量加权平均价VWAP 全称 Volume Weighted Average Price即成交量加权平均价通俗来讲它代表了某段时间内市场所有参与者的平均成交成本。当股价运行在 VWAP 上方时说明市场中大部分持仓者处于盈利状态当股价运行在 VWAP 下方时说明市场中大部分持仓者处于被套状态。也正因如此VWAP 是机构大单下单、算法交易的核心参考指标它能客观反映市场的公允成交价格避免在偏离市场平均成本的位置盲目下单。2.2 什么是 Anchored VWAP锚定 VWAPAnchored VWAP 简称 AVWAP即锚定成交量加权平均价是 VWAP 的进阶进阶版本。常规的 VWAP 通常以单日为周期滚动计算而锚定 VWAP 则是把计算的起始点锚点固定在某个你重点关注的历史时点比如股票的结构性低点 / 高点重大财报发布日关键突破 / 跌破日重大政策 / 事件发布日从这个锚点开始累计计算成交量加权平均价就能得到一条从锚点持续延伸的量价平均线它精准反映了从锚点事件发生后市场参与者的平均建仓成本是判断股票中长期支撑与阻力的核心指标。2.3 为什么 VWAP / 锚定 VWAP 能成为关键支撑 / 阻力位核心本质是人性的博弈与持仓成本的心理映射。VWAP / 锚定 VWAP 反映了市场真实成交量加权的平均持仓成本当股价靠近这个关键成本位时持仓参与者会产生强烈的交易行为反馈持仓盈利者会选择在成本位附近加仓防止利润回吐形成价格支撑持仓亏损者会在价格回到成本位时选择止损离场形成价格阻力场外观望者会认为价格回到市场公允成本位是合理的进场时机带来新增买盘。多种交易行为的叠加让 VWAP / 锚定 VWAP 对股价形成强烈的 “磁力效应”也就成为了市场公认的关键支撑与阻力位。三、核心公式与计算逻辑详解3.1 VWAP 基础计算公式对于时间点t第t根 K 线VWAP 的核心计算公式如下VWAPt​∑i1t​Vi​∑i1t​Pi​×Vi​​公式参数说明Pi​第i根 K 线的价格代表值常用典型价格也可直接使用收盘价Vi​第i根 K 线的成交量分子从计算起始点到第t根 K 线每根 K 线的 “价格 × 成交量” 累计求和即累计成交金额分母从计算起始点到第t根 K 线的累计成交量最终结果累计成交总额 ÷ 累计成交量也就是真实的成交量加权平均成交价3.2 价格代表的选择典型价格 TP vs 收盘价公式中Pi​的选择直接影响 VWAP 的计算结果行业内主流有两种选择各有适用场景表格价格类型计算公式特点与适用场景典型价格 TP推荐TPi​3Highi​Lowi​Closei​​纳入了单根 K 线的最高价、最低价、收盘价完整覆盖了单周期的价格波动区间计算结果更稳健适合中长期支撑阻力判断收盘价Pi​Closei​计算方式简单对单根 K 线的收盘价变化更敏感适合日内高频交易、短线算法交易场景3.3 Anchored VWAP锚定 VWAP公式锚定 VWAP 的核心计算逻辑与基础 VWAP 完全一致唯一的区别是累计求和的起始点从第 1 根 K 线变成了我们选定的锚点 K 线k公式如下AVWAPt​∑ikt​Vi​∑ikt​Pi​×Vi​​公式中k就是我们选定的锚点对应的 K 线索引比如锚定某一轮行情的最低点 K 线就从这根 K 线开始累计计算价量乘积和成交量最终得到锚定 VWAP 值。这也是 “锚定” 的核心含义 —— 固定计算起点精准反映特定事件后的市场平均成本。3.4 手把手计算示例为了让大家彻底理解计算逻辑我们用 3 根 K 线的极简案例完整演示 VWAP 与锚定 VWAP 的计算全过程。原始 K 线数据K 线序号最高价 High最低价 Low收盘价 Close成交量 VolumeK110.29.810.01000K210.59.910.21500K310.410.010.32000步骤 1计算每根 K 线的典型价格 TP 与价量乘积 PV我们采用行业推荐的典型价格 TP 作为Pi​计算公式为 TP(HighLowClose)/3价量乘积 PVTP×Volume。K1 计算TP1​(10.29.810.0)/310.0PV1​10.0×100010000K2 计算TP2​(10.59.910.2)/310.2PV2​10.2×150015300K3 计算TP3​(10.410.010.3)/3≈10.23PV3​10.23×200020460步骤 2逐根 K 线计算累计 VWAP从 K1 开始累计计算得到每根 K 线对应的 VWAP 值K1 对应的 VWAP累计价量乘积 cum_PV10000累计成交量 cum_V1000VWAP1​10000/100010.0K2 对应的 VWAP累计价量乘积 cum_PV100001530025300累计成交量 cum_V100015002500VWAP2​25300/250010.12K3 对应的 VWAP累计价量乘积 cum_PV253002046045760累计成交量 cum_V250020004500VWAP3​45760/4500≈10.17步骤 3锚定 VWAP 计算示例我们将锚点设置在 K2也就是从 K2 开始累计计算仅累加 K2、K3 的价量乘积与成交量累计价量乘积 sum_PV153002046035760累计成交量 sum_V150020003500锚定 VWAP AVWAP35760/3500≈10.22原创不易转载请注明出处如果本文对你有帮助欢迎点赞、收藏、评论后续会持续更新 Python 量化实战系列内容带你从 0 到 1 搭建自己的量化交易系统。有任何关于 miniQMT、xtquant、VWAP 指标的问题都可以在评论区留言我会一一回复。

更多文章