CCI 활용 전략
CCI를 활용한 매매 방법 중 하나는 다음과 같습니다.
- 골든크로스 및 데드크로스 신호
CCI 값이 +100을 돌파하면 골든크로스 신호가 발생하며, CCI 값이 -100을 하향돌파하면 데드크로스 신호가 발생합니다. 골든크로스는 상승추세의 신호로 간주되며, 매수 포지션을 취할 수 있습니다. 데드크로스는 하락추세의 신호로 간주되며, 매도 포지션을 취할 수 있습니다. - 다이버전스
CCI 값과 주가의 움직임이 상반되는 경우 다이버전스 신호가 발생합니다. 예를 들어, 주가가 하락하면서 CCI 값이 상승하는 경우, 이는 주가의 하락세가 약해지는 신호로 간주됩니다. 따라서 매수 포지션을 취할 수 있습니다. 반대로, 주가가 상승하면서 CCI 값이 하락하는 경우, 이는 주가의 상승세가 약해지는 신호로 간주됩니다. 따라서 매도 포지션을 취할 수 있습니다. - 과매수/과매도 구간
CCI 값이 +100을 돌파하여 과매수 구간에 진입하면, 상승추세가 강해질 가능성이 높습니다. 이 경우 매도 포지션을 취할 수 있습니다. 반대로, CCI 값이 -100을 하향돌파하여 과매도 구간에 진입하면, 하락추세가 강해질 가능성이 높습니다. 이 경우 매수 포지션을 취할 수 있습니다. - 추세선과 CCI
추세선과 CCI 값의 이동평균을 함께 확인하여 추세를 파악할 수 있습니다. 예를 들어, 상승추세에서 주가가 추세선 아래로 이동할 때, CCI 값이 -100 이하로 하향돌파하는 경우 매도 포지션을 취할 수 있습니다. 반대로, 하락추세에서 주가가 추세선 위로 이동할 때, CCI 값이 +100 이상으로 상승하는 경우 매수 포지션을 취할 수 있습니다.
위와 같은 방법을 사용하여 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
'경제 > 주식' 카테고리의 다른 글
StochRSI 활용 전략과 Python 함수 (0) | 2023.03.06 |
---|---|
VR 활용 방법과 파이썬 함수 (0) | 2023.03.04 |
SONAR 활용 방법과 파이썬 함수 (0) | 2023.03.02 |
OBV 활용 방법과 파이썬 함수 (0) | 2023.03.01 |
ADX 활용 방법과 파이썬 함수 (0) | 2023.02.28 |