1. CCI指标简介
CCI(Commodity Channel Index)指标,又称为商品通道指标,是一种用于衡量价格偏离其正常范围程度的技术分析工具。CCI指标由唐纳德·兰伯特(Donald Lambert)于1980年发明,广泛应用于股票、期货、外汇等金融市场。
2. CCI指标的计算方法
CCI指标的计算公式如下:
[ CCI = \frac{(TP - TL) / (TP + TL) \times 100}{MAD} ]
其中:
- ( TP ) 为最近n日的最高价和最低价的平均值。
- ( TL ) 为最近n日的最高价和最低价差的平均值。
- ( MAD ) 为最近n日的平均绝对偏差。
平均绝对偏差的计算公式如下:
[ MAD = \frac{\sum_{i=1}^{n} |Close_i - \text{MA}(Close_i)|}{n} ]
其中:
- ( Close_i ) 为第i日的收盘价。
- ( \text{MA}(Close_i) ) 为第i日的收盘价移动平均。
3. CCI指标源码解析
下面以Python为例,展示如何实现CCI指标的计算。
import pandas as pd
def calculate_cci(high, low, close, n=14):
"""
计算CCI指标
:param high: 高价列表
:param low: 低价列表
:param close: 收盘价列表
:param n: 计算周期
:return: CCI指标列表
"""
# 计算TP和TL
tp = (high + low) / 2
tl = (high - low) / 2
# 计算TP和TL的平均值
tp_ma = tp.rolling(window=n).mean()
tl_ma = tl.rolling(window=n).mean()
# 计算MAD
mad = pd.rolling_abs(close - close.rolling(window=n).mean()).mean()
# 计算CCI
cci = (tp_ma - tl_ma) / mad * 100
return cci
# 示例数据
data = {
'high': [100, 102, 101, 105, 104],
'low': [98, 99, 97, 103, 102],
'close': [100, 101, 102, 103, 104]
}
df = pd.DataFrame(data)
df['cci'] = calculate_cci(df['high'], df['low'], df['close'])
print(df)
4. CCI指标的应用策略
- 超买超卖:当CCI指标值大于100时,视为超买信号;当CCI指标值小于-100时,视为超卖信号。
- 背离:当价格创出新低,但CCI指标未创新低,称为看跌背离;反之,称为看涨背离。
- 趋势线:当CCI指标形成上升趋势线时,表示市场趋势强劲;当CCI指标形成下降趋势线时,表示市场趋势疲弱。
5. 总结
掌握CCI指标的计算方法和应用策略,有助于投资者更好地捕捉市场脉搏,提高交易胜率。通过以上源码示例,投资者可以自行编写程序,实现CCI指标的计算和应用。
