cvd
类别:成交量 · 复合指标 · 关键词:cvd, CVD, 背离, 价量背离, divergence, 累计量差, 买卖力量背离, 趋势反转
返回说明
需要解读说明时,使用 POST /api/indicators?explain=true,读取 indicators[响应key].explain。指标数值位于同一对象的 columns 和 data 中。
CVD 背离振荡器,基于价量背离检测潜在的趋势反转信号
参数
| 参数 | 类型 | 默认值 |
|---|---|---|
fractal_periods | int | 2 |
cvd_period | int | 21 |
ema_trend_period | int | 50 |
max_pivot_bars | int | 30 |
输出列
| 列名 | 含义 |
|---|---|
bear_div | 熊背离事件(布尔),价格高点更高但量能高点更低 |
bear_div_strength | 熊背离强度:1=Normal, 2=Good, 3=Strong |
bull_div | 牛背离事件(布尔),价格低点更低但量能低点更高 |
bull_div_strength | 牛背离强度:1=Normal, 2=Good, 3=Strong |
cvd_delta | 单根 K 线买卖量差,正值=买方主导,负值=卖方主导 |
cvd_hist | cvd_delta 滚动累计值,反映区间内累计买卖力量对比 |
柱状值与背离区间
cvd_hist 是每根 K 线对应的柱高:正值表示买方力量占优,负值表示卖方力量占优。 它是 OHLCV 估算量差的滚动累计,不是逐笔主动买卖成交量;缺少真实成交量的黄金现货不支持此指标。
/api/indicators、/api/indicators/compute 和 /api/analyze 默认在每个 CVD 结果的 objects.divergences 中返回已确认事件:
| 字段 | 含义 |
|---|---|
id | 按参数、方向与端点时间生成的稳定标识;按市场/标的/周期/指标实例分组去重 |
direction / kind | bullish 或 bearish;当前仅 regular 普通背离 |
start / end | 各含 time_ms、price、cvd,分别为两个价格枢轴及同根 K 线的 CVD 值 |
confirmation_bar_time_ms | 确认信号所在 K 线的开盘时间,不是第二个枢轴的时间 |
confirmed_at_ms | 按周期计算的确认 K 线收盘时刻;未提供周期时为 null,不从数据间隔猜测 |
status / label | confirmed;看涨 +RD,看跌 -RD |
strength | 连续背离等级 1–3,不是概率或胜率 |
事件时间均为毫秒。区间是两个枢轴之间的背离关系,不是持仓区间或信号有效期。 默认需要右侧 2 根 K 线确认;实时接口只在确认柱到达周期收盘时刻后输出事件,当前未收盘柱仍可显示动态柱高。 历史原始数据被修订或预热历史改变时,结果也可能变化。
BYO 接口默认调用方保证所有输入 K 线已收盘;末根尚未收盘时,在请求顶层设置 last_bar_closed: false。其余输入柱必须已收盘。提供 interval 才能计算具体确认时刻。
计算与绘图请求可同时设置 signals: true、include_forming: true,用末根当前 OHLCV 完成一次背离试算。左右枢轴窗口、趋势过滤和强度规则不变;尚不存在的右侧 K 线不会被补足。 此时 objects.schema_version=2,Chart对应的 indicator_renderers 也声明版本2。 同一 divergences 集合可包含 status=forming 的盘中对象, 其 confirmed_at_ms=null;已收盘对象仍为 confirmed。原特征 ID 保持不变,不能根据 ID 中的 confirmed 判断实际收盘。末根更新后背离可能消失;相同参数、方向和端点的对象 ID 保持稳定。 图表事件标记与 CVD 连线、端点标记带 bar_status,区分 forming 与 closed。 省略或关闭试算选项时保持原有对象结构和确认行为。
/api/chart 同时输出 indicator_objects 和标准 panels.items:主图为价格连线, 副图为 CVD 连线,端点显示 RD 标签,默认确认柱显示方向箭头;signals: true 时替换为统一事件标记。图元的 time 为秒。 indicator_renderers 中 type=cvd-divergence、rendered_in_panels=true 表示已生成图元,客户端不要再次绘制一遍。 时间窗口按确认柱筛选事件,原始端点保留完整时间,只有图元在显示窗口内裁剪。 多个 CVD 实例按请求的 id 或自动响应 key 隔离。
特征信号
在计算请求顶层设置 signals: true,读取 indicators[响应key].signals。默认仅在收盘后判断。true 表示事件发生或状态成立,false 表示可判断但不成立,null 表示不可判断。这些不是买卖指令。
本指标支持 include_forming: true:将末根当前 OHLCV 作为完整样本按下表原规则试算,仍输出同一份数值、特征与对象。信号表末尾增加 bar_status 列:closed 为收盘计算,forming 为盘中试算,后者 confirmed_at_ms=null,特征可在后续更新或收盘时消失。BYO 末根形成中仍需设置 last_bar_closed: false。下表及附注中的收盘要求描述默认模式;试算只放开末根参与资格,不缩短结构窗口或降低模型确认条件。盘中试算用法。
下表历史长度为最低判断要求,不保证平滑值已完全收敛。前后比较使用未舍入数值;阈值恰好相等时按表中边界处理。输入缺口、依赖值无效或默认模式下未收盘时不要把 null 转为 false。
| 特征列 | 类型 | 判断逻辑 | 代表含义 | 所需历史 / 有效条件 |
|---|---|---|---|---|
cvd.bullish_divergence_confirmed | event | 本根确认普通看涨背离;区间与强度见 objects.divergences。 | 价格与 OHLCV 估算量差在相邻合格枢轴间出现反向变化;不是逐笔订单流,也不保证反转。 | max(cvd_period, ema_trend_period, 2 * fractal_periods + 1) 根连续输入且已有正成交量 |
cvd.bearish_divergence_confirmed | event | 本根确认普通看跌背离;区间与强度见 objects.divergences。 | 价格与 OHLCV 估算量差在相邻合格枢轴间出现反向变化;不是逐笔订单流,也不保证反转。 | max(cvd_period, ema_trend_period, 2 * fractal_periods + 1) 根连续输入且已有正成交量 |
cvd.bullish_divergence_confirmed
- 比较相邻两个合格价格枢轴低点:后点价格严格更低,cvd_hist 严格更高,且两点 cvd_hist 均小于 0。
- 每个枢轴 low 严格低于左右各 fractal_periods 根的 low,且枢轴收盘价低于 EMA(ema_trend_period)。两枢轴间隔必须严格小于 max_pivot_bars。
- 在后一个枢轴右侧第 fractal_periods 根 K 线收盘时确认,仅在确认根为 true,不回填到枢轴根。
- 基于 OHLCV 估算量差的滚动累计,并非逐笔订单流;区间端点和强度从 objects.divergences 读取。
cvd.bearish_divergence_confirmed
- 比较相邻两个合格价格枢轴高点:后点价格严格更高,cvd_hist 严格更低,且两点 cvd_hist 均大于 0。
- 每个枢轴 high 严格高于左右各 fractal_periods 根的 high,且枢轴收盘价高于 EMA(ema_trend_period)。两枢轴间隔必须严格小于 max_pivot_bars。
- 在后一个枢轴右侧第 fractal_periods 根 K 线收盘时确认,仅在确认根为 true,不回填到枢轴根。
- 基于 OHLCV 估算量差的滚动累计,并非逐笔订单流;区间端点和强度从 objects.divergences 读取。
格式与示例见特征调用说明。/api/chart 同样可设置 signals: true,默认只标记已确认事件;开启 include_forming 后盘中事件也可生成标记,并带 bar_status=forming,状态不逐根绘制。参见信号绘图。
注意事项
这是 OHLCV 估算量差,不是逐笔主动买卖成交量。实时信号需等待 fractal_periods 根右侧 K 线及确认柱收盘;连线端点不是信号可用时刻,区间不是持仓区间。强度仅表示连续背离计数,不是胜率。BYO 默认输入已收盘,末根未收盘需设置 last_bar_closed=false;未提供 interval 时 confirmed_at_ms 为 null。历史数据修订或预热窗口改变可能改变结果。缺少真实成交量的黄金现货不支持 CVD。
调用示例
curl -X POST -H "Authorization: Bearer mq_xxx" \
-H "Content-Type: application/json" \
-d '{
"exchange": "binance",
"market": "perp",
"symbol": "BTCUSDT",
"interval": "5m",
"limit": 100,
"signals": true,
"calc": [{"name": "cvd", "params": {"fractal_periods": 2, "cvd_period": 21, "ema_trend_period": 50, "max_pivot_bars": 30}}]
}' \
https://api.mobiusquant.ai/api/indicators