第三章 技术指标构建:移动平均线(MA)、相对强弱指标(RSI)、布林带(Bollinger Bands)在碳配额上的应用

技术指标这东西,说白了就是把价格数据“加工”一下,让它更容易看懂。我在做碳配额策略时,发现很多朋友一上来就搞深度学习、神经网络,结果连最基本的均线都没跑明白。嗯,咱们还是先把地基打牢。

碳配额市场和股票有个很大的不同——它的政策驱动性极强。但技术指标依然有用,只是需要调整参数。我个人习惯把传统指标的参数缩短20%-30%,因为碳市场的波动节奏比股票快得多。

碳配额技术指标应用框架 移动平均线 (MA) 趋势识别 + 支撑阻力 相对强弱指标 (RSI) 超买超卖 + 背离信号 布林带 (Bollinger) 波动率 + 价格通道 碳配额实战应用 趋势跟踪 | 震荡交易 | 突破策略 | 风控止损 参数需根据碳配额流动性及政策周期动态调整

3.1 移动平均线:碳配额的趋势“指南针”

移动平均线是最基础的趋势指标。它把一段时间内的价格平均一下,去掉噪音,让你看清方向。碳配额市场有个特点——趋势一旦形成,往往持续好几周。因为政策周期和履约期会驱动机构集中交易。

我常用的三种均线:

  • 5日均线 (MA5):超短线,适合日内或隔夜交易。碳配额流动性好的时候,MA5的支撑作用很明显。
  • 20日均线 (MA20):中期趋势线。我个人习惯把它当作“生命线”,价格在MA20上方就做多,下方就观望或做空。
  • 60日均线 (MA60):长期趋势。碳配额的政策底往往就在MA60附近。我记得2023年有一次全国碳市场回调,价格刚好碰到MA60就反弹了。

核心用法:当MA5上穿MA20形成“金叉”,是买入信号;反之“死叉”是卖出信号。但别死板——碳配额市场经常出现假金叉,一定要结合成交量确认。

import pandas as pd
import numpy as np

def calculate_ma(data, window):
    """
    计算移动平均线
    data: DataFrame,必须包含'close'列
    window: 窗口期
    """
    data[f'MA{window}'] = data['close'].rolling(window=window).mean()
    return data

# 示例:计算碳配额价格的MA5、MA20、MA60
df = pd.DataFrame({'close': [58.2, 58.5, 59.1, 58.8, 59.3, 60.1, 59.7, 60.5, 61.2, 60.8]})
df = calculate_ma(df, 5)
df = calculate_ma(df, 20)
df = calculate_ma(df, 60)
print(df)

避坑指南:我曾经在碳配额上直接用股票市场的MA参数,结果亏了一波。后来发现碳配额交易不连续,周末和节假日没有数据,导致均线计算偏差。建议用“交易日历”对齐,或者用加权移动平均(WMA)来减少跳空影响。

3.2 相对强弱指标:别在疯狂时追高

RSI衡量的是价格变动的速度和幅度。取值范围0-100,通常超过70算超买,低于30算超卖。碳配额市场因为参与者相对理性(主要是控排企业和机构),RSI的极端值往往比股票市场更可靠。

碳配额RSI的特殊用法:

  • RSI > 80:强烈超买,但别急着做空。碳配额在履约期前经常出现“逼空”行情,RSI可以连续几天在80以上。我建议等RSI从80回落再动手。
  • RSI < 20:强烈超卖,但同样别急着抄底。要等RSI拐头向上,并且价格站上5日均线再入场。
  • 背离信号:价格创新低但RSI没创新低,这叫“底背离”,是反转信号。我在2022年碳配额底部就用这个信号抓住了反弹。
def calculate_rsi(data, period=14):
    """
    计算相对强弱指标
    """
    delta = data['close'].diff()
    gain = (delta.where(delta > 0, 0)).rolling(window=period).mean()
    loss = (-delta.where(delta < 0, 0)).rolling(window=period).mean()
    rs = gain / loss
    data['RSI'] = 100 - (100 / (1 + rs))
    return data

# 碳配额RSI示例
df = calculate_rsi(df, 14)
print(df[['close', 'RSI']].tail())

注意:碳配额市场有时会出现“无量涨跌”,这时候RSI会失真。比如某天只成交了几笔,价格却涨了5%,RSI直接冲到90。这种信号别信——没有成交量支撑的技术指标都是耍流氓。

3.3 布林带:给价格画个“通道”

布林带由三条线组成:中轨(通常是MA20)、上轨(中轨+2倍标准差)、下轨(中轨-2倍标准差)。它反映的是价格的波动率。碳配额市场的波动率会随着政策发布而剧烈变化——比如配额分配方案公布前后,布林带会突然扩张。

碳配额布林带实战技巧:

  • 带宽收缩:布林带收窄到极致,往往意味着大行情要来了。我习惯在带宽小于历史20%分位时,准备突破策略。
  • 价格触碰上轨:不一定做空。碳配额在上涨趋势中,价格可以沿着上轨运行好几天。要等价格从上轨回落,并且RSI也拐头,才是做空时机。
  • 价格跌破下轨:同理,别急着抄底。等价格回到下轨上方,并且成交量放大,才是买入信号。
def calculate_bollinger(data, window=20, num_std=2):
    """
    计算布林带
    """
    data['MA20'] = data['close'].rolling(window=window).mean()
    data['std'] = data['close'].rolling(window=window).std()
    data['upper'] = data['MA20'] + (data['std'] * num_std)
    data['lower'] = data['MA20'] - (data['std'] * num_std)
    data['bandwidth'] = (data['upper'] - data['lower']) / data['MA20']
    return data

# 碳配额布林带示例
df = calculate_bollinger(df, 20, 2)
print(df[['close', 'MA20', 'upper', 'lower', 'bandwidth']].tail())

我的组合策略:把三个指标结合起来用。比如:当价格站上MA20,RSI在40-60之间,布林带带宽开始扩张——这就是一个不错的趋势启动信号。我2024年初用这个组合在广东碳配额上抓到了一波15%的涨幅。

3.4 三个指标的综合应用框架

单独用任何一个指标都容易出错。我的经验是:MA看方向,RSI看力度,布林带看空间。三者配合,胜率能提高不少。

市场状态 MA信号 RSI信号 布林带信号 操作建议
强势上涨 MA5 > MA20 > MA60 RSI 50-70 价格沿上轨运行 持有或逢低加仓
超买回调 MA5下穿MA20 RSI > 80后回落 价格从上轨回落 减仓或做空
底部震荡 均线粘合 RSI 20-40 布林带收窄 观望,准备突破
超卖反弹 MA5上穿MA20 RSI < 20后拐头 价格从下轨反弹 轻仓试多

参数调整建议:碳配额市场不像股票那么成熟,我建议把RSI周期从14改成10,布林带标准差从2改成1.8。这样指标会更敏感,适合碳配额这种“慢涨快跌”的特性。当然,具体参数还是要根据你交易的交易所来微调。

嗯,技术指标说到底只是工具。真正赚钱的,是对市场的理解和对纪律的坚持。我见过太多人把指标当圣杯,结果亏得一塌糊涂。记住:指标是辅助,不是决策本身。


公众号:蓝海资料掘金营,微信deep3321