안녕하세요 주식 투자관련 지식을 공유하는 인천고래입니다.
오늘 알아볼 지표는 "캘트너 채널"로 단순한 밴드형 지표이지만, 추세 및 변동성 분석과 진입 청산 시점 포착에 매우 효과적인 지표입니다. 이를 통해 시장의 움직임을 더 직관적으로 이해하고, 보다 전략적인 매매를 할 수 있다고 생각합니다.
1. 캘트너 채널 매매 시점
지표를 사용하기 좋은 시점 (매매 시점)
- 시장 변동성이 증가할 때: ATR이 상승해 채널 폭이 넓어질 때.
- 추세가 강한 시장: 장기 추세가 형성될 경우 중심선 돌파 시점이 중요합니다.
피해야 할 시점
- 횡보 장세: 가격이 중심선 주변에서 작은 범위 내 움직임을 보일 때는 매매 신호가 잦아지며 노이즈가 발생할 수 있습니다.
2. 캘트너 채널 차트 예제
캘트너 채널에 매수매도 시그널을 반영하면 아래와 같은 형식의 차트를 볼 수 있습니다.
간략하게 캘트너 채널 보조지표에 대해 알아 보았고 아래에서 캘트너 채널 지표를 어떻게 만드는지에 대해 알아보도록 하겠습니다.
참고로 TR 관련된 내용은 아래의 링크를 통해 좀 더 상세히 확인하실 수 있습니다.
3. 캘트너 채널 지표 만들기 (파이썬 코드 제공)
import FinanceDataReader as fdr
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
def true_range(df):
high_low = df['High'] - df['Low']
high_close = abs(df['High'] - df['Close'].shift(1))
low_close = abs(df['Low'] - df['Close'].shift(1))
return pd.concat([high_low, high_close, low_close], axis=1).max(axis=1)
def calculate_atr(df, length):
tr = true_range(df)
return tr.rolling(window=length).mean()
def keltner_channel(df, period=20, multiplier=2):
df['EMA'] = df['Close'].ewm(span=period).mean()
df['ATR'] = calculate_atr(df, period)
df['Upper_Band'] = df['EMA'] + (multiplier * df['ATR'])
df['Lower_Band'] = df['EMA'] - (multiplier * df['ATR'])
return df
4. 차트 시각화 및 신호 표시 (파이썬 코드 제공)
def plot_keltner_channel(df):
plt.figure(figsize=(12, 6))
plt.plot(df.index, df['Close'], label='Close Price', color='black')
plt.plot(df.index, df['EMA'], label='EMA (Center Line)', color='blue', linestyle='--')
plt.plot(df.index, df['Upper_Band'], label='Upper Band', color='red')
plt.plot(df.index, df['Lower_Band'], label='Lower Band', color='green')
plt.fill_between(df.index, df['Lower_Band'], df['Upper_Band'], color='gray', alpha=0.2)
plt.legend(loc='best')
plt.title('Keltner Channel')
plt.show()
5. 데이터 가져오기 및 실행 (파이썬 코드 제공)
df = fdr.DataReader('005930', start='2022-01-01', end='2025-01-02') # 삼성전자 데이터
df = keltner_channel(df)
plot_keltner_channel(df)
자신만의 매매법을 자동매매 프로그램으로 만들거나
기법이 확률이 떨어진다면 백테스팅을 사용해서 확률을 높여야 합니다.
아래의 링크를 통해서 요청하시면 요청하신 이상(가격대비 성능의 최대치)의 결과물을 받아 보실 수 있습니다.
다른 보조지표에 대해서는 아래의 링크 글을 통해 자세히 알아 볼 수 있습니다.
단기적인 스윙 및 세력 매집 분석에 용이한 기준봉에 대해서는 아래의 링크 글을 통해 자세히 알아 볼 수 있습니다.
'Python Code' 카테고리의 다른 글
돈치안 채널(Donchian Channel) 소스 코드를 공개합니다. (0) | 2025.01.14 |
---|---|
TA-Lib 모듈 설치하기 (부제: 32비트 환경에서 Talib 모듈을 설치하려면) (0) | 2025.01.09 |
True Range & ATR 보조지표의 개념, 파이썬 코드 제공(TR 지표) (0) | 2025.01.04 |
모듈을 어플로 실행할 때의 경로(상위 폴더의 다른 폴더 파일) 참조 방식 (0) | 2025.01.03 |
파이썬 자동매매 기초 : 조건검색식 가져오기 (0) | 2024.05.28 |
댓글