均线系统
📏 均线 = 价格的"重力线" —— 趋势的最直观表达。
🎯 均线基础
📌 均线类型
| 类型 | 公式 | 特点 |
|---|---|---|
| SMA(简单移动平均) | 过去 N 日收盘均值 | 平滑、稳定 |
| EMA(指数移动平均) | 加权近期价格 | 敏感、反应快 |
| WMA(加权移动平均) | 线性加权 | 介于 SMA 与 EMA |
📌 常用均线周期
| 均线 | 周期 | 用途 |
|---|---|---|
| MA5 | 5 日 | 短期趋势 |
| MA10 | 10 日 | 短期 |
| MA20 | 20 日 | 月线,中短期 |
| MA30 | 30 日 | 略中期 |
| MA60 | 60 日 | 季线,中期 |
| MA120 | 120 日 | 半年线,中长期 |
| MA250 | 250 日 | 年线,长期 |
📌 均线特性
- 滞后性:周期越长,滞后越大
- 平滑性:周期越长,越平滑
- 支撑阻力:在上升趋势中是支撑,下降趋势中是阻力
- 金叉死叉:短期均线上穿/下穿长期均线
🎯 葛兰碧 8 大法则
📌 买入信号(4 个)
| 法则 | 信号 |
|---|---|
| 1 | 均线从下降逐渐转为水平盘整,股价从下方上穿均线 |
| 2 | 股价虽跌破均线,但均线仍在上行,股价重新回到均线上 |
| 3 | 股价在均线上方运行,股价回调不跌破均线,支撑买入 |
| 4 | 股价在均线下方运行,股价暴跌远离均线,超跌反弹 |
📌 卖出信号(4 个)
| 法则 | 信号 |
|---|---|
| 5 | 均线从上升转为水平,股价从上方下穿均线 |
| 6 | 股价虽突破均线,但均线仍在下行,股价重新跌破均线 |
| 7 | 股价在均线下方运行,反弹未能突破均线 |
| 8 | 股价在均线下方运行,股价暴涨远离均线,超买回调 |
🎯 均线组合策略
📌 双均线系统
短线 MA5 + 长线 MA20
- 金叉(MA5 上穿 MA20):买入
- 死叉(MA5 下穿 MA20):卖出
- 适合:短线、波段
MA20 + MA60
- 金叉:中期买入
- 死叉:中期卖出
- 适合:中线、波段
📌 三均线系统
- MA5 + MA20 + MA60
- 多头排列:MA5 > MA20 > MA60(价格上看)
- 空头排列:MA5 < MA20 < MA60
- 金叉共振:MA5 上穿 MA20 + MA20 上穿 MA60 = 强买入
- 适合:中长线
📌 250 日均线
- 生命线:长期趋势分水岭
- 站上 250 日:长期看多
- 跌破 250 日:长期看空
- 回踩 250 日:强支撑 / 阻力
- 250 日上行 + 股价回踩:绝佳买点
🎯 实战应用
📌 均线粘合
- 特征:多条均线接近、缠绕
- 含义:蓄势待发,方向选择
- 突破方向:跟随突破方向买入 / 卖出
- 成功率:60-70%
📌 均线发散
- 多头发散:MA5 > MA10 > MA20 > MA60(向上发散)
- 强势上升
- 不轻易卖出
- 空头发散:MA5 < MA10 < MA20 < MA60(向下发散)
- 弱势下降
- 不轻易抄底
📌 乖离率(BIAS)
- 公式:BIAS = (当前价 - MA) / MA × 100%
- 意义:价格偏离均线程度
| 周期 | 强势区 | 超买区 | 弱势区 | 超卖区 |
|---|---|---|---|---|
| 5 日 | 0-3% | > 5% | 0-(-3%) | < -5% |
| 20 日 | 0-7% | > 10% | 0-(-7%) | < -10% |
| 60 日 | 0-15% | > 20% | 0-(-15%) | < -20% |
- 超买:可能回调
- 超卖:可能反弹
📊 均线交叉策略回测
📌 经典双均线回测框架
python
import pandas as pd
import numpy as np
import akshare as ak
def dual_ma_backtest(ticker, start, end, fast=5, slow=20):
"""
双均线策略回测
买入:fast 上穿 slow
卖出:fast 下穿 slow
"""
# 获取数据
df = ak.stock_zh_a_hist(
symbol=ticker, period='daily',
start_date=start, end_date=end, adjust='qfq'
)
df = df.rename(columns={'日期':'date','收盘':'close'})
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')
# 计算均线
df['ma_fast'] = df['close'].rolling(fast).mean()
df['ma_slow'] = df['close'].rolling(slow).mean()
# 信号
df['signal'] = 0
df.loc[df['ma_fast'] > df['ma_slow'], 'signal'] = 1
df['signal'] = df['signal'].diff() # 1 买入,-1 卖出
# 收益
df['ret'] = df['close'].pct_change()
df['strat_ret'] = df['signal'].shift(1) * df['ret']
# 累计收益
cumret = (1 + df['strat_ret'].fillna(0)).cumprod()
return cumret
# 示例
result = dual_ma_backtest('600519', '20200101', '20260817')
print(f'累计收益: {result.iloc[-1] - 1:.2%}')📌 策略优化
- 多组均线组合:(5, 20), (10, 30), (20, 60)
- 过滤:成交量 + 趋势确认
- 止损:单笔亏损 > 5% 止损
- 仓位:金叉时满仓,死叉时空仓
📊 实战案例
案例 1:多头排列 茅台
2020-03 至 2021-02:
MA5 > MA10 > MA20 > MA60
股价从 1000 涨到 2600
期间任何回调都是买入案例 2:金叉共振 中国平安
2022-10:
MA5 上穿 MA20
+ MA20 上穿 MA60
+ 250 日均线持平
= 强买入信号
后续 6 个月上涨 50%案例 3:250 日支撑 招行
2024-08 暴跌:
股价跌到 32 元
250 日均线 = 33 元
跌穿后回踩 250 日
后续 1 年上涨 60%📖 相关阅读
💡 数据来源:葛兰碧《每日股票市场获最大利润术》、理查德·沙贝克《技术分析与交易系统》。数据截至 2026-08。
来源
- 证监会公开公告
- 上交所交易规则
- 深交所 / 北交所规则
- 中国证券业协会(SAC)、中国证券投资基金业协会(AMAC)公开资料
- 国家金融监督管理总局、人社部、财政部、税务总局公开资料
💡 数据截至 2026-08;具体规则以交易所/监管机构最新公告为准。