第三节:震荡市识别——如何判断市场在“磨洋工”
做网格交易,最怕什么?
不是单边下跌,也不是单边上涨。最怕的是——你明明在震荡市里,却以为趋势要来了,结果一追就被套;或者趋势已经启动了,你还傻傻地挂着网格,结果仓位全飞了。
所以,识别震荡市,是网格交易的第一道基本功。说白了,你得先知道市场现在在干嘛,才能决定用哪把刀。
一、什么是震荡市?
震荡市,也叫盘整市。价格在一个区间里来回跑,没有明确的方向。高点不过前高,低点不破前低。就像一个人原地踏步,看着忙活,其实没走多远。
我个人习惯把震荡市分成两类:
- 窄幅震荡:振幅在5%以内,适合小网格、高频交易。
- 宽幅震荡:振幅在10%-20%,适合大网格、低频交易。
你想想看,如果振幅太小,网格间距设大了,根本吃不到利润。反过来,振幅太大,网格设小了,容易穿仓。
二、常用技术指标:三把尺子量震荡
判断震荡市,我一般用三个指标。不是越多越好,而是互相印证。就像盖房子,你得有水平尺、垂直线、卷尺,缺一个都不踏实。
1. 布林带(Bollinger Bands)
布林带是我最常用的工具。它由三条线组成:中轨是20日均线,上下轨是加减两倍标准差。
震荡市的特征很明显:
- 价格在上下轨之间来回穿梭,不碰轨,或者碰了立刻弹回来。
- 布林带收窄,像一条被压扁的蛇。这叫“缩口”,是震荡的前兆。
- 布林带走平,没有向上或向下的斜率。
我在项目中遇到过一种情况:布林带缩口到极致,价格突然突破上轨,很多人以为要大涨了,结果第二天又跌回中轨。这就是假突破。嗯,这里要注意,布林带缩口后的第一次突破,往往不靠谱。
核心判断逻辑:
当布林带上下轨的宽度(带宽)小于历史平均值的60%时,市场大概率进入震荡。
# 计算布林带带宽
import pandas as pd
import numpy as np
def bollinger_bandwidth(df, window=20):
df['mid'] = df['close'].rolling(window).mean()
df['std'] = df['close'].rolling(window).std()
df['upper'] = df['mid'] + 2 * df['std']
df['lower'] = df['mid'] - 2 * df['std']
df['bandwidth'] = (df['upper'] - df['lower']) / df['mid']
return df
# 当bandwidth小于历史30日均值的60%,标记为震荡
df['bandwidth_ma'] = df['bandwidth'].rolling(30).mean()
df['is_range'] = df['bandwidth'] < df['bandwidth_ma'] * 0.6
2. RSI(相对强弱指标)
RSI衡量的是涨跌力度。震荡市里,RSI会在30到70之间来回摆动,不会轻易进入超买或超卖区。
我个人的经验是:
- RSI在40-60之间徘徊,说明市场没有方向,典型的震荡。
- RSI偶尔冲到70以上,但很快回落,说明多头无力持续。
- RSI跌破30,但第二天就反弹,说明空头也是纸老虎。
避坑指南:我曾经以为RSI跌破30就是抄底机会,结果在趋势市里被埋了。后来才明白,RSI在震荡市里好用,在趋势市里会钝化。所以,一定要先判断市场状态,再用RSI。
小技巧:
把RSI的参数从14改成7,灵敏度更高,更适合识别短期震荡。
3. ATR(平均真实波幅)
ATR衡量的是波动幅度。震荡市的ATR会持续走低,甚至创出近期新低。
怎么用?
- ATR连续下降,说明市场在“缩量”,波动越来越小。
- ATR突然放大,往往是震荡结束的信号,趋势要来了。
- 对比ATR的20日均值和5日均值,如果5日均值低于20日均值,说明波动在衰减。
说白了,ATR就是市场的“心跳”。心跳平稳,说明在休息;心跳加速,说明要运动了。
# ATR计算示例
def calculate_atr(df, period=14):
df['tr'] = np.maximum(
df['high'] - df['low'],
np.maximum(
abs(df['high'] - df['close'].shift(1)),
abs(df['low'] - df['close'].shift(1))
)
)
df['atr'] = df['tr'].rolling(period).mean()
return df
# 判断震荡:ATR连续5日下降
df['atr_decreasing'] = df['atr'] < df['atr'].shift(1)
df['range_signal'] = df['atr_decreasing'].rolling(5).sum() >= 4
三、震荡市与趋势市的切换识别
这是最难的部分。很多人在震荡里赚了钱,结果趋势一来全吐回去。为什么?因为没识别出切换信号。
我总结了三步判断法:
- 看布林带开口:带宽从低位开始放大,说明波动在苏醒。
- 看价格突破:价格连续两日收盘在布林带外,且不回轨。
- 看ATR确认:ATR单日放大超过20%,说明趋势有力量。
举个例子。我记得有一次做沪深300的网格,布林带缩口缩了快两周,ATR也跌到了历史低位。突然有一天,价格突破上轨,ATR放大了25%。我当时犹豫了一下,没有及时撤网格,结果第二天高开低走,网格全成交在了高位。嗯,从那以后,我给自己定了个规矩:ATR放大超过20%,立刻暂停网格,等趋势确认再说。
重要提醒:
震荡转趋势的初期,往往有假突破。不要看到一根大阳线就激动。等第二根K线确认,或者等收盘价站稳布林带外轨。
四、知识体系框架
下面这张图,是我自己整理的知识结构。每次做交易前,我都会过一遍这个流程。
五、实战中的注意事项
最后,说几个我踩过的坑:
- 不要只看一个指标。布林带说震荡,RSI说趋势,你信谁?三个指标至少两个一致,才能下结论。
- 震荡市也会变。今天震荡,不代表明天还震荡。每天开盘前,花30秒看一眼ATR和布林带带宽。
- 别在震荡市里做趋势策略。我见过有人用均线金叉死叉做网格,结果来回打脸。工具要对症。
我的习惯:
每天早上9:25,打开三个指标的监控面板。如果三个指标都指向震荡,我就放心挂网格。如果有一个指标开始异动,我就减半仓位。如果两个指标异动,我就清仓观望。宁可错过,不要做错。
好了,震荡市的识别就讲到这里。记住一句话:网格交易赚的是震荡的钱,趋势来了要懂得收手。下一节,我们会聊网格参数的设定,包括间距、仓位、频率这些核心问题。