CCI 활용 전략

CCI를 활용한 매매 방법 중 하나는 다음과 같습니다.

  • 골든크로스 및 데드크로스 신호
    CCI 값이 +100을 돌파하면 골든크로스 신호가 발생하며, CCI 값이 -100을 하향돌파하면 데드크로스 신호가 발생합니다. 골든크로스는 상승추세의 신호로 간주되며, 매수 포지션을 취할 수 있습니다. 데드크로스는 하락추세의 신호로 간주되며, 매도 포지션을 취할 수 있습니다.

  • 다이버전스
    CCI 값과 주가의 움직임이 상반되는 경우 다이버전스 신호가 발생합니다. 예를 들어, 주가가 하락하면서 CCI 값이 상승하는 경우, 이는 주가의 하락세가 약해지는 신호로 간주됩니다. 따라서 매수 포지션을 취할 수 있습니다. 반대로, 주가가 상승하면서 CCI 값이 하락하는 경우, 이는 주가의 상승세가 약해지는 신호로 간주됩니다. 따라서 매도 포지션을 취할 수 있습니다.

  • 과매수/과매도 구간
    CCI 값이 +100을 돌파하여 과매수 구간에 진입하면, 상승추세가 강해질 가능성이 높습니다. 이 경우 매도 포지션을 취할 수 있습니다. 반대로, CCI 값이 -100을 하향돌파하여 과매도 구간에 진입하면, 하락추세가 강해질 가능성이 높습니다. 이 경우 매수 포지션을 취할 수 있습니다.

  • 추세선과 CCI
    추세선과 CCI 값의 이동평균을 함께 확인하여 추세를 파악할 수 있습니다. 예를 들어, 상승추세에서 주가가 추세선 아래로 이동할 때, CCI 값이 -100 이하로 하향돌파하는 경우 매도 포지션을 취할 수 있습니다. 반대로, 하락추세에서 주가가 추세선 위로 이동할 때, CCI 값이 +100 이상으로 상승하는 경우 매수 포지션을 취할 수 있습니다.

CCI 지표 활용 예제
CCI 지표 활용 예

위와 같은 방법을 사용하여 CCI를 활용한 매매 전략을 수립할 수 있습니다.

 

CCI Commodity Channel Index 란?

CCI는 Commodity Channel Index의 약어로 주가의 변동성을 측정하는 보조지표 중 하나로 상승추세와 하락추세의 강도를 파악할 수 있습니다. 주가 이동평균선의 편차를 기반으로 계산됩니다. 보통 20일 이동평균선을 사용하여 주가가 이동평균선에서 멀어질수록 CCI 값이 크게 나타나며 이는 상승추세 혹은 하락추세의 강도를 나타냅니다.

CCI는 주가의 흐름을 측정하는 지표로서 많이 사용되고 상승추세에서 +100을 돌파하면 상승세가 강해질 가능성이 크며, 하락추세에서 -100을 돌파하면 하락세가 강해질 가능성이 큽니다. 또한 CCI 값이 +100보다 크면 과매수 구간, -100보다 작으면 과매도 구간으로 볼수있고 상승, 하락 추세가 강해질 가능성이 있습니다. CCI 값이 이 두 지점 사이에 위치하면 중립 상태입니다.

CCI는 지표의 반응성이 늦어서 빠르게 움직이는 시장에서는 유용하지 않을 수 있으며 주가의 방향을 CCI만으로 사전에 판단하기는 어렵습니다.

 

CCI와 비슷한 유형의 지표

  • RSI (Relative Strength Index)
    RSI는 주가의 상승과 하락 폭을 비교하여 과매수와 과매도 구간을 파악하는 지표입니다. CCI와 마찬가지로 주가의 움직임과 함께 사용하여 매수 매도 포지션을 결정할 수 있습니다.

  • Stochastic Oscillator
    Stochastic Oscillator는 주가가 상승했을 때 이전 고가와 현재 고가를 비교하며, 주가가 하락했을 때 이전 저가와 현재 저가를 비교하여 과매수와 과매도 구간을 파악하는 지표입니다.

  • MACD (Moving Average Convergence Divergence)
    MACD는 단기 이동평균과 장기 이동평균을 비교하여 추세의 변화를 파악하는 지표입니다. CCI와 마찬가지로 추세의 방향을 파악하여 매수 매도 포지션을 결정할 수 있습니다.

  • Bollinger Bands
    Bollinger Bands는 주가의 이동평균과 표준편차를 이용하여 과매수와 과매도 구간을 파악하는 지표입니다. CCI와 유사하게 주가의 움직임을 따라가며 매수 매도 포지션을 결정할 수 있습니다.

CCI 를 구하는 Python 함수

import pandas as pd
import numpy as np

def CCI(data, ndays):
    TP = (data['High'] + data['Low'] + data['Close']) / 3
    CCI = pd.Series((TP - TP.rolling(ndays).mean()) / (0.015 * TP.rolling(ndays).std()), name='CCI')
    return CCI

# 함수 실행
np.random.seed(0)
data = pd.DataFrame({'High': np.random.randint(100, 150, size=20),
                     'Low': np.random.randint(50, 100, size=20),
                     'Close': np.random.randint(80, 130, size=20)})
cci = CCI(data, 5)
print(cci)


# 결과 출력
0          NaN
1          NaN
2          NaN
3          NaN
4   -61.765307
5  -144.773781
6  -150.042409
7   -93.659105
8    26.484294
9   131.522153
10   77.180768
11  -59.237389
12 -140.309620
13 -140.497054
14  -26.222051
15  -30.296423
16 -139.003443
17 -202.331964
18  -69.334436
19   19.928354
Name: CCI, dtype: float64

 

+ Recent posts