第 04 课:技术指标的真实角色

核心观点:指标不是"买卖信号",而是特征工程。


"金叉必涨"的幻灭

小李是一个股票新手。他在网上学到了一个"必胜法则":MACD 金叉买入,死叉卖出

他兴奋地写了一个程序,回测过去 10 年的数据。结果:胜率 52%,年化收益 -8%。

"怎么可能?金叉明明是上涨信号啊!"

他又试了 RSI 超卖买入、布林带下轨买入、均线多头排列买入……每一个"经典信号",单独使用时胜率都在 50% 附近徘徊,扣掉手续费后全部亏损。

问题出在哪里?

小李犯了一个常见错误:把技术指标当成买卖信号

真相是:

  1. 指标是滞后的:MACD 金叉时,价格已经涨了一段
  2. 指标是简化的:一个数字无法概括复杂的市场状态
  3. 指标是被利用的:当所有人都在看同一个信号,信号就失效了

那技术指标到底有什么用?

答案是:特征工程。指标不是用来直接交易的,而是用来描述市场状态的。当你把 MACD、RSI、布林带等几十个指标组合在一起,作为机器学习模型的输入特征,它们才能发挥真正的价值。

这一课的目标:让你理解技术指标的本质,学会正确使用它们。


4.1 指标的本质

指标 = 数学变换

所有技术指标,本质上都是对价格和成交量的数学变换:

原始数据变换方式得到的指标
收盘价序列滑动平均MA(移动平均线)
收盘价序列指数加权平均EMA(指数移动平均)
涨跌幅序列相对强度计算RSI
价格序列均值 ± 标准差布林带
最高价、最低价、收盘价多重计算MACD

核心洞察:指标不会创造新信息,只是换一种方式呈现已有信息。

滞后性是固有属性

任何基于历史数据计算的指标,都必然是滞后的

价格已经发生变化
        
    计算指标
        
   指标发出信号
        
    你采取行动
        
  此时价格可能已经反转
指标典型参数滞后程度
MA55 日均线约 2-3 天
MA2020 日均线约 10 天
MACD12, 26, 9约 5-10 天
RSI(14)14 日约 7 天

启示:不要指望指标能"预测"未来,它们只能描述"现在"和"过去"。

信息压缩与损失

把几百天的价格数据,压缩成一个数字(比如 RSI=65),必然会损失大量信息:

  • 价格的分布形态?丢失了
  • 成交量的变化模式?丢失了
  • 盘中的波动特征?丢失了

这就是为什么单一指标无法有效指导交易——信息太少了。


4.2 趋势类指标

MA / EMA:平滑与滞后的权衡

移动平均线 (MA):过去 N 天收盘价的简单平均。

MA(5) = (P₁ + P₂ + P₃ + P₄ + P₅) / 5

指数移动平均线 (EMA):给近期价格更高的权重。

EMA = 今日价格 × α + 昨日EMA × (1-α)
其中 α = 2 / (N+1)
对比MA(简单移动平均)EMA(指数移动平均)
权重分布平均近期更高
对新数据反应
平滑程度更平滑更灵敏
适用场景长期趋势短期趋势

核心权衡:参数越小 → 越灵敏 → 越多噪音;参数越大 → 越稳定 → 越滞后。

MACD:趋势与动量

MACD 是最常用的趋势指标之一,由三部分组成:

DIFF (快线) = EMA₁₂ - EMA₂₆
DEA (信号线) = EMA₉(DIFF)
柱状图 = 2 × (DIFF - DEA)   中国软件惯例

注意 系数是国内软件(同花顺、通达信)的惯例。国际标准(TradingView、MetaTrader)使用 DIFF - DEA,无 2× 系数。使用不同平台时请注意差异。

直观理解

  • DIFF:短期趋势与长期趋势的差距
  • DEA:DIFF 的平滑版本
  • 柱状图:趋势加速/减速的程度
MACD 状态含义市场解读
DIFF > 0, 柱状图变大上涨趋势加速多头强势
DIFF > 0, 柱状图变小上涨趋势减速可能见顶
DIFF < 0, 柱状图变小下跌趋势减速可能见底
DIFF < 0, 柱状图变大下跌趋势加速空头强势

背离分析

背离是技术分析中最重要的概念之一:

背离类型价格表现MACD 表现含义
顶背离创新高未创新高上涨动能衰竭,可能下跌
底背离创新低未创新低下跌动能衰竭,可能上涨
顶背离示意:
价格:  100  110  120  125  130(新高)
MACD:   10   15   18   16   14(未新高)
                              
                         动能衰竭信号

重要警告

  • 背离只是"可能"的信号,不是"确定"的信号
  • 单独使用背离交易,胜率通常只有 55-60%
  • 需要结合其他指标和市场结构验证

4.3 振荡类指标

RSI:相对强弱

RSI 衡量近期涨跌的相对强度:

RS = 平均上涨幅度 / 平均下跌幅度
RSI = 100 - 100/(1+RS)

RSI 的范围是 0-100:

RSI 区间传统解读实际情况
> 70超买,应该卖出强势市场可能持续 > 80
30-70正常区间大部分时间在这里
< 30超卖,应该买入弱势市场可能持续 < 20

RSI 的真实用法

  • 不要单独依赖 70/30 作为买卖信号
  • RSI 的趋势更重要:RSI 从 30 上升 vs RSI 一直在 60-70 震荡
  • RSI 背离同样有效:价格新高但 RSI 未新高 = 顶背离

布林带 (Bollinger Bands)

布林带由三条线组成:

中轨 = MA₂₀(20日移动平均线)
上轨 = MA₂₀ + 2σ(均值 + 2倍标准差)
下轨 = MA₂₀ - 2σ(均值 - 2倍标准差)

统计含义:在正态分布假设下,价格有 95% 的概率在上下轨之间。

布林带信号传统解读适用场景
触及上轨超买,可能回落震荡市
触及下轨超卖,可能反弹震荡市
突破上轨趋势开始趋势市
带宽收窄波动率降低,即将突破所有市场

关键洞察:布林带在震荡市是"回归"信号,在趋势市是"突破"信号——你需要先判断市场状态。


4.4 波动率指标

历史波动率

历史波动率 = 过去 N 天收益率的标准差 × √252(年化)

示例计算:
日收益率标准差 = 2%
年化波动率 = 2% × √252  31.7%
年化波动率典型资产风险等级
10-15%债券、大盘蓝筹
20-30%普通股票
40-60%小盘股、加密货币
80%+山寨币、末日期权极高

ATR(Average True Range)

ATR 衡量"真实波动幅度",考虑了跳空缺口:

True Range = max(
    当日最高 - 当日最低,
    |当日最高 - 昨日收盘|,
    |当日最低 - 昨日收盘|
)
ATR = True Range  N 日平均

ATR 的实战用途

  • 止损设置:止损距离 = 入场价 ± 2×ATR
  • 仓位管理:波动率高时减仓,波动率低时可适当加仓
  • 突破确认:突破幅度 > 1×ATR 更可能是真突破

4.5 策略评价指标

这些指标用于评估策略表现,而非交易信号:

Sharpe Ratio(夏普比率)

Sharpe Ratio = (Rₚ - Rᶠ) / σₚ

Rₚ = 投资组合收益率
Rᶠ = 无风险利率(如国债收益率)
σₚ = 收益的标准差

直观理解:每承担 1 单位风险,能获得多少超额收益。

Sharpe Ratio评价
< 0亏损,不如存银行
0-1一般,可能不值得冒险
1-2良好
2-3优秀
> 3顶级(或数据有问题)

其他风险指标

指标公式含义
Sortino Ratio(Rₚ - Rᶠ) / σ_下行只惩罚下跌波动,更关注亏损风险
Maximum Drawdown从峰值到谷底的最大跌幅最坏情况会亏多少
Calmar Ratio年化收益 / 最大回撤收益与回撤的平衡
VaR (95%)95% 置信度下的最大损失正常情况下的风险边界

示例

  • 策略年化收益 20%,最大回撤 40% → Calmar = 0.5(一般)
  • 策略年化收益 15%,最大回撤 10% → Calmar = 1.5(优秀)

4.6 指标组合:从信号到特征

为什么单一指标无效?

实证研究表明,单一技术指标的预测能力非常有限:

策略胜率年化收益(扣除手续费后)
MACD 金叉/死叉51%-5% ~ +3%
RSI 超买超卖52%-3% ~ +5%
布林带突破50%-8% ~ +2%
双均线交叉53%-2% ~ +8%

说明:以上数据为示意性参考,实际表现因市场、时间段、参数设置和交易成本假设而异。

原因

  1. 市场参与者都在看同一个信号 → 信号被提前消化
  2. 不同市场状态需要不同解读 → 单一规则无法适应
  3. 指标信息不完整 → 需要多维度验证

指标作为特征的正确用法

传统用法(错误):
RSI < 30  买入

正确用法(特征工程):
特征向量 = [
    RSI,
    RSI 变化率,
    MACD_DIFF,
    MACD_柱状图变化率,
    布林带位置(价格在带中的相对位置),
    ATR(波动率),
    成交量变化率,
    ...更多特征
]
 输入机器学习模型  输出:买入/卖出/持有 + 置信度

多智能体视角

  • Trend Agent:关注 MACD、均线、ATR
  • Mean Reversion Agent:关注 RSI、布林带、偏离度
  • Regime Agent:关注波动率变化、相关性变化
  • Risk Agent:关注 VaR、最大回撤、Sharpe 变化

💻 代码实现(可选)

如果你想动手实践,这里提供计算指标的示例代码:

import pandas as pd
import numpy as np

def calculate_indicators(df):
    """
    计算常用技术指标
    df 需要包含: open, high, low, close, volume 列
    """
    # EMA
    df['EMA12'] = df['close'].ewm(span=12).mean()
    df['EMA26'] = df['close'].ewm(span=26).mean()

    # MACD
    df['MACD_DIFF'] = df['EMA12'] - df['EMA26']
    df['MACD_DEA'] = df['MACD_DIFF'].ewm(span=9).mean()
    df['MACD_Histogram'] = 2 * (df['MACD_DIFF'] - df['MACD_DEA'])

    # RSI(处理除零情况)
    delta = df['close'].diff()
    gain = delta.where(delta > 0, 0).rolling(14).mean()
    loss = (-delta.where(delta < 0, 0)).rolling(14).mean()
    rs = gain / loss.replace(0, np.nan)  # 避免除零
    df['RSI'] = 100 - 100 / (1 + rs)
    df['RSI'] = df['RSI'].fillna(100)  # 连续上涨时 RSI=100

    # Bollinger Bands
    df['BB_Middle'] = df['close'].rolling(20).mean()
    df['BB_Std'] = df['close'].rolling(20).std()
    df['BB_Upper'] = df['BB_Middle'] + 2 * df['BB_Std']
    df['BB_Lower'] = df['BB_Middle'] - 2 * df['BB_Std']
    df['BB_Position'] = (df['close'] - df['BB_Lower']) / (df['BB_Upper'] - df['BB_Lower'])

    # ATR
    high_low = df['high'] - df['low']
    high_close = (df['high'] - df['close'].shift()).abs()
    low_close = (df['low'] - df['close'].shift()).abs()
    tr = pd.concat([high_low, high_close, low_close], axis=1).max(axis=1)
    df['ATR'] = tr.rolling(14).mean()

    return df

def calculate_sharpe_ratio(returns, risk_free_rate=0.04, periods_per_year=252):
    """
    计算夏普比率

    注意: risk_free_rate 应根据当前市场调整
    - 2020-2021: ~0%(接近零利率)
    - 2024-2025: ~4-5%(美联储加息后)
    """
    excess_returns = returns - risk_free_rate / periods_per_year
    return np.sqrt(periods_per_year) * excess_returns.mean() / returns.std()

本课交付物

完成本课后,你将获得:

  1. 对技术指标的正确认知 - 知道指标是"特征"而非"信号"
  2. 常用指标的计算方法 - 理解 MACD、RSI、布林带、ATR 的本质
  3. 策略评价能力 - 能用 Sharpe、Sortino、Calmar 等指标评估策略
  4. 多维度思考框架 - 知道不同指标适合不同的市场状态和 Agent

本课要点回顾

  • 理解技术指标的本质:对价格/成交量的数学变换,不创造新信息
  • 掌握趋势类指标(MACD)和振荡类指标(RSI、布林带)的用法
  • 理解背离分析的原理和局限性
  • 学会使用 Sharpe Ratio 等指标评估策略表现
  • 认识到单一指标的局限性,理解指标组合作为特征的价值

延伸阅读

  • 背景知识:Alpha 与 Beta - 策略收益分解
  • 背景知识:历史著名量化事故 - 过度依赖指标的代价

下一课预告

第 05 课:经典策略范式

趋势跟随、均值回归、网格交易、配对交易……这些经典策略各有什么特点?适合什么市场?有什么陷阱?下一课我们逐一拆解。

Cite this chapter
Zhang, Wayland (2026). 第04课:技术指标的真实角色. In AI Quantitative Trading: From Zero to One. https://waylandz.com/quant-book/第04课:技术指标的真实角色
@incollection{zhang2026quant_第04课:技术指标的真实角色,
  author = {Zhang, Wayland},
  title = {第04课:技术指标的真实角色},
  booktitle = {AI Quantitative Trading: From Zero to One},
  year = {2026},
  url = {https://waylandz.com/quant-book/第04课:技术指标的真实角色}
}