第八章:多周期价值区域叠加
VA区域的重叠与突破策略
说实话,多周期共振这个概念,在订单流交易里是个老生常谈的话题。但真正能把价值区域(VA)的重叠玩明白的人,我见过的不多。
我个人习惯把VA区域看作市场的「成本共识区」。不同周期的VA叠在一起,就像不同时间尺度的交易者在同一价位达成了默契。这种默契一旦被打破,往往就是大行情的起点。
1. 为什么多周期VA叠加有效?
先想一个问题:为什么单周期VA经常被假突破骗进去?
我早年做回测时发现,15分钟图的VA突破,有将近40%是假突破。但如果你把1小时、4小时、日线的VA叠在一起看,假突破率能降到15%以下。
道理很简单——大周期的VA代表的是「机构级成本共识」。小周期的VA只是「日内噪音共识」。两者叠加,相当于用大周期过滤掉了小周期的杂波。
核心逻辑:
- 大周期VA = 主力资金的成本区间
- 小周期VA = 短线交易者的博弈区间
- 重叠区域 = 多空双方都认可的「公允价格带」
- 突破重叠区 = 一方彻底认输,另一方主导趋势
2. 三种经典的重叠形态
我在实盘中主要关注三种情况,每种都有对应的交易策略。
| 形态 | 描述 | 交易策略 |
|---|---|---|
| 完全重叠 | 大小周期VA几乎重合 | 等待突破,方向明确后顺势加仓 |
| 部分重叠 | 小周期VA在大周期VA内部 | 高抛低吸,直到一方被突破 |
| 背离重叠 | 小周期VA脱离大周期VA | 反向交易,回归大周期VA |
嗯,这里要特别说一下背离重叠。我曾经在BTC上吃过亏——15分钟VA跑到日线VA上方很远,我以为要突破,追了进去。结果价格直接打回日线VA下沿,亏了3个点。后来我才明白,小周期脱离大周期,本质上是「短期情绪透支」,迟早要回归。
3. 实战中的VA叠加计算
代码实现其实不复杂。我一般用Pandas的rolling窗口计算每个周期的VA,然后做交集判断。
import pandas as pd
import numpy as np
def calculate_va(df, period='1H', volume_profile_col='volume', price_col='close'):
"""
计算指定周期的价值区域(VA)
返回VAH(上沿)、VAL(下沿)、POC(控制点)
"""
# 按周期分组
grouped = df.resample(period)
vah_list = []
val_list = []
poc_list = []
for name, group in grouped:
if len(group) < 5:
continue
# 计算成交量分布
total_vol = group[volume_profile_col].sum()
sorted_by_price = group.sort_values(price_col)
# 找到POC(成交量最大的价格)
poc = group.loc[group[volume_profile_col].idxmax(), price_col]
# 计算VA(包含70%成交量)
cum_vol = 0
vah = val = poc
# 从POC向两边扩展
for idx in sorted_by_price.index:
cum_vol += sorted_by_price.loc[idx, volume_profile_col]
if cum_vol <= total_vol * 0.7:
vah = max(vah, sorted_by_price.loc[idx, price_col])
val = min(val, sorted_by_price.loc[idx, price_col])
else:
break
vah_list.append(vah)
val_list.append(val)
poc_list.append(poc)
return pd.DataFrame({
'VAH': vah_list,
'VAL': val_list,
'POC': poc_list
}, index=grouped.groups.keys())
def find_va_overlap(va_15min, va_1hour, va_4hour):
"""
寻找多周期VA重叠区域
返回重叠的上下沿
"""
overlap_high = min(va_15min['VAH'].iloc[-1],
va_1hour['VAH'].iloc[-1],
va_4hour['VAH'].iloc[-1])
overlap_low = max(va_15min['VAL'].iloc[-1],
va_1hour['VAL'].iloc[-1],
va_4hour['VAL'].iloc[-1])
if overlap_high > overlap_low:
return {'overlap_high': overlap_high, 'overlap_low': overlap_low}
else:
return None # 无重叠
个人经验:计算VA时,成交量分布用70%还是68%?我试过很多参数。最终发现,对于加密货币,70%比较合适;对于股票,68%更准。原因可能是加密货币的成交量分布更集中。
4. 突破策略的入场与止损
有了重叠区域,接下来就是怎么交易的问题。我总结了一套「三线突破法」。
- 确认重叠区:至少两个周期的VA有重叠,且重叠宽度大于价格的0.5%
- 等待突破:价格突破重叠区上沿或下沿,且伴随成交量放大
- 确认信号:突破后回踩不破重叠区边界,或者出现订单流中的吸收信号
- 入场:在回踩确认后入场,止损放在重叠区另一侧
举个例子。假设15分钟VA是[100, 105],1小时VA是[102, 108],重叠区就是[102, 105]。如果价格突破105,成交量放大,然后回踩到104.5不破,我会在104.8入场做多,止损放在101.8(重叠区下沿下方一点)。
避坑指南:我曾经犯过一个错误——看到突破就追,结果价格突破后直接V反。后来我加了一条规则:突破必须伴随成交量放大,且Delta(主动买卖差)要同向。如果突破时成交量萎缩,大概率是假突破。
5. 多周期VA叠加的流程图
下面这张图是我自己画的,把整个决策流程串起来了。你可以在实盘时对照着看。
6. 实盘中的注意事项
最后说几个我踩过的坑,希望能帮你少走弯路。
- 周期选择不是越多越好。我试过叠加5个周期,结果重叠区太窄,几乎没法交易。现在只用3个周期:15分钟(短线)、1小时(中短线)、4小时(中长线)。
- 注意数据对齐。不同周期的VA计算时间窗口不同,一定要确保用的是同一时间段的数据。我见过有人把不同日期的VA叠在一起,那完全是错的。
- 突破后的目标位怎么定?我个人习惯用重叠区的宽度作为最小目标。比如重叠区宽3个点,突破后至少看3个点。如果行情强势,可以看大周期VA的另一侧。
- 震荡市慎用。当市场处于窄幅震荡时,VA重叠区会频繁出现假突破。我一般会等波动率放大(比如ATR上升)再入场。
总结一句话:多周期VA叠加的本质,是用大周期的成本共识过滤小周期的噪音。突破重叠区,就是市场在告诉你——「共识被打破了,新的趋势要来了」。
好了,这一章的内容就到这里。代码和流程图都在上面,你可以直接拿去用。如果实盘中遇到什么问题,欢迎交流。