캔들 패턴
캔들 스틱의 종류: 나타나는 캔들으 수와 형성된 모양에 따라 다양하게 분류될 수 있음, 크게 분류하면 다음과 같음
단일 캔들 패턴: 하나의 캔들로 이루어진 패턴으로 시장의 잠재적인 추세전환 또는 지속을 암시
명칭 | 설명 |
---|---|
도지(Doji) | 시가와 종가가 거의 같은 가격에 형성되어 몸통이 매우 작거나 없는 캔들. 시장의 불확실성 또는 추세전환의 가능성을 암시하며, 긴 윗꼬리 도지 (Gravestone Doji), 긴 아래꼬리 도지 (Dragonfly Doji), 긴 몸통 도지 (Long-Legged Doji, 위와 아래 꼬리가 작아 몸통이 길어보이는 경우)) 등 다양한 형태가 있음 |
망치형 (Hammer) | 하락 추세의 끝에서 나타나는 작은 몸통과 긴 아래꼬리를 가진 양봉입니다. 상승 반전의 신호로 해석될 수 있습니다. |
교수형 (Hanging Man) | 상승 추세의 끝에서 나타나는 작은 몸통과 긴 아래꼬리를 가진 음봉입니다. 하락 반전의 신호로 해석될 수 있습니다. |
유성형 (Shooting Star) | 상승 추세의 끝에서 나타나는 작은 몸통과 긴 윗꼬리를 가진 음봉입니다. 하락 반전의 신호로 해석될 수 있습니다. 하락추세의 바닥에서 나타나는 경우 상승 반전 가능성을 시사 |
팽이형 (Spinning Top) | 작은 몸통과 긴윗꼬리, 아래꼬리를 가진 캔들입니다. 시장의 관망세 또는 추세의 일시적인 멈춤을 나타냅니다. |
이중 캔들 패턴 (Double Candlestick Patterns): 두 개의 캔들로 이루어진 패턴으로, 단일 캔들 패턴보다 더 강력한 신호를 제공할 수 있습니다.
명칭 | 설명 | |
---|---|---|
장악형 (Engulfing Pattern) | 상승 장악형 (Bullish Engulfing) | 하락 추세에서 작은 음봉 뒤에 이전 음봉을 완전히 감싸는 큰 양봉이 나타나는 패턴입니다. 강력한 상승 반전 신호로 해석됩니다. |
하락 장악형 (Bearish Engulfing) | 상승 추세에서 작은 양봉 뒤에 이전 양봉을 완전히 감싸는 큰 음봉이 나타나는 패턴입니다. 강력한 하락 반전 신호로 해석됩니다. | |
관통형 (Piercing Line) | 하락 추세에서 긴 음봉 뒤에 이전 음봉의 중간 이상을 뚫고 올라오는 양봉이 나타나는 패턴입니다. 상승 반전의 가능성을 시사합니다. | |
흑운형 (Dark Cloud Cover) | 상승 추세에서 긴 양봉 뒤에 이전 양봉의 중간 이하로 내려와 닫히는 음봉이 나타나는 패턴입니다. 하락 반전의 가능성을 시사합니다. | |
하락/상승 샅바형 (Harami) | 하락 샅바형 (Bearish Harami) | 상승 추세에서 긴 양봉 안에 완전히 들어가는 작은 음봉이 나타나는 패턴입니다. 추세 약화 또는 하락 반전의 가능성을 나타냅니다. |
상승 샅바형 (Bullish Harami) | 하락 추세에서 긴 음봉 안에 완전히 들어가는 작은 양봉이 나타나는 패턴입니다. 추세 약화 또는 상승 반전의 가능성을 나타냅니다. | |
집게형 천장/바닥 (Tweezer Tops/Bottoms) | 속된 두 캔들의 고가 또는 저가가 거의 같은 가격에 형성되는 패턴으로, 추세 반전의 가능성을 나타냅니다. |
세 개 이상 캔들 패턴 (Multiple Candlestick Patterns): 세 개 이상의 캔들로 이루어진 패턴으로, 추세 전환 또는 지속에 대한 더 강력하고 신뢰할 수 있는 신호를 제공할 수 있습니다.
명칭 | 설명 | |
---|---|---|
별형 (Star Patterns) | 상승 반전 별형 (Morning Star) | 하락 추세에서 긴 음봉, 작은 몸통의 캔들 (양봉 또는 음봉), 긴 양봉 순으로 나타나는 패턴입니다. 상승 반전의 강력한 신호로 해석됩니다. |
하락 반전 별형 (Evening Star) | 상승 추세에서 긴 양봉, 작은 몸통의 캔들 (양봉 또는 음봉), 긴 음봉 순으로 나타나는 패턴입니다. 하락 반전의 강력한 신호로 해석됩니다. | |
도지 별형 (Doji Star) | 별 패턴의 중간 캔들이 도지인 경우로, 반전 신호가 더욱 강력할 수 있습니다. | |
세 개의 흰 병정 (Three White Soldiers) | 하락 추세의 끝에서 연속적으로 나타나는 세 개의 긴 양봉 패턴입니다. 강력한 상승 추세 시작의 신호로 해석됩니다. | |
세 마리의 검은 까마귀 (Three Black Crows) | 상승 추세의 끝에서 연속적으로 나타나는 세 개의 긴 음봉 패턴입니다. 강력한 하락 추세 시작의 신호로 해석됩니다. | |
상승/하락 쐐기형 (Rising/Falling Three Methods) | 추세 지속 패턴으로, 상승 추세 중 긴 양봉 이후 세 개의 작은 음봉이 나타나고 다시 긴 양봉이 나타나 상승 추세 지속을 암시하거나, 하락 추세 중 긴 음봉 이후 세 개의 작은 양봉이 나타나고 다시 긴 음봉이 나타나 하락 추세 지속을 암시합니다 |
캔들스틱 패턴 활용 시 주의사항:
- 다른 기술적지표와 함께 사용: 캔들스틱 패턴은 유용한 분석 도구이지만, 이동평균선, MACD, RSI 등 다른 기술적 지표와 함께 사용하여 분석의 신뢰도를 높이는 것이 좋습니다.
- 확인: 캔들스틱 패턴이 나타날 때 거래량을 함께 분석하여 신호의 강도를 파악하는 것이 중요합니다. 일반적으로 추세 전환 신호가 나타날 때는 거래량이 증가하는 경향이 있습니다.
- 시장상황 고려: 전반적인 시장 추세와 상황을 고려하여 캔들스틱 패턴을 해석해야 합니다. 강세 시장과 약세 시장에서 동일한 패턴이라도 의미가 다를 수 있습니다.
- 추세선 및 지지/저항선: 캔들스틱 패턴을 추세선, 지지선 및 저항선과 함께 분석하면 더욱 정확한 매매 전략을 수립하는 데 도움이 될 수 있습니다.
- 오류가능성 인지: 모든 기술적 분석 도구와 마찬가지로 캔들스틱 패턴도 때로는 잘못된 신호를 발생시킬 수 있다는 점을 인지하고 항상 주의를 기울여야 합니다.
- 캔들스틱 패턴은 직관적인 시각적 정보를 제공하며, 시장 참여자들의 심리를 파악하고 잠재적인 가격 움직임을 예측하는 데 유용한 도구입니다. 다양한 패턴을 이해하고 실제 차트에 적용하는 연습을 통해 트레이딩 전략을 개선할 수 있습니다.
dl_pattern은 캔들스틱 패턴을 식별하는 데 사용되는 지표 다양한 캔들스틱 패턴을 자동으로 인식하여 매수, 미도 신호를 제공할 수 있습니다. 이러한 패턴은 특정 기간 동안 시가,, 고가, 저가 종가를 시각적으로 표현한 것으로 시장 참여자들의 심리와 잠재적인 가격 움직임을 나타내는 것으로 간주됩니다.
pandas_ta.cdl_pattern(open_, high, low, close, name: Union[str, Sequence[str]] = 'all', scalar=None, offset=None, **kwargs)
로 다양한 캔들스틱 패턴을 찾을 수 있습니다. 이 함수에서 제공하는 모든 패턴의 이름은 a.CDL_PATTERN_NAMES
으로 확인할 수 있습니다.
ta.CDL_PATTERN_NAMES
['2crows', '3blackcrows', '3inside', '3linestrike', '3outside', …
명칭 | 내용 |
---|---|
2Crows | 두 개의 연속된 하락 캔들 패턴 |
3BlackCrows | 세 개의 연속된 긴 음봉 패턴 |
3Inside | 세 개의 캔들로 이루어진 반전 패턴 |
3LineStrike | 세 개의 동일한 추세의 캔들 이후 반대 방향의 긴 캔들 패턴 |
3Outside | 현재 캔들이 이전 캔들을 완전히 감싸는 세 개의 캔들로 이루어진 반전 패턴 |
3StarsInSouth | 하락 추세 중 나타나는 세 개의 캔들 패턴 |
3WhiteSoldiers | 세 개의 연속된 긴 양봉 패턴 |
AbandonedBaby | 갭 상승 또는 하락 후 나타나는 도지 캔들 패턴 |
AdvanceBlock | 상승 추세의 둔화를 나타내는 패턴 |
Belthold | 시가 부근에서 시작하여 추세 방향으로 길게 뻗은 캔들 패턴 |
Breakaway | 추세 반전을 암시하는 갭과 긴 캔들로 이루어진 패턴 |
ClosingMarubozu | 시가 또는 고가에서 시작하여 반대 방향으로 꽉 찬 캔들 패턴 |
ConcealBabysWall | 하락 추세 중 짧은 양봉 후 긴 음봉이 나타나는 패턴 |
Counterattack | 반대 방향의 긴 캔들이 이전 캔들의 종가 부근에서 마감하는 패턴 |
DarkCloudCover | 상승 추세 중 발생하며 하락 반전을 암시하는 패턴 |
Doji | 시가와 종가가 거의 같은 캔들 |
DojiStar | 이전 캔들과 갭을 두고 나타나는 도지 캔들 |
DragonflyDoji | 아래꼬리가 긴 도지 캔들 |
Engulfing | 현재 캔들이 이전 캔들을 완전히 감싸는 패턴 |
EveningDojiStar | 상승 추세의 끝에 나타나는 도지 스타 패턴 |
EveningStar | 상승 추세의 끝에 나타나는 세 개의 캔들 패턴 |
GapSideSideWhite | 두 개의 연속된 양봉이 갭을 두고 나타나는 패턴 |
GravestoneDoji | 윗꼬리가 긴 도지 캔들 |
Hammer | 하락 추세 끝에서 나타나는 짧은 몸통과 긴 아래꼬리를 가진 캔들 |
HangingMan | 상승 추세 끝에서 나타나는 짧은 몸통과 긴 아래꼬리를 가진 캔들 |
Harami | 이전의 긴 캔들 안에 작은 캔들이 들어가는 패턴 |
HaramiCross | 이전의 긴 캔들 안에 도지 캔들이 들어가는 패턴 |
HighWave | 몸통에 비해 꼬리가 긴 캔들 |
Hikkake | 여러 캔들 내에서 나타나는 잠재적 반전 패턴 |
HikkakeMod | 수정된 히카케 패턴 |
HomingPigeon | 하락 추세 중 긴 음봉 안에 작은 음봉이 들어가는 패턴 |
Identical3Crows | 세 개의 연속된 동일한 길이의 음봉 패턴 |
InNeck | 하락 추세 중 짧은 양봉이 이전 음봉의 종가 부근에서 마감하는 패턴 |
Inside | 이전 캔들 안에 현재 캔들이 완전히 들어가는 패턴 |
InvertedHammer | 하락 추세 끝에서 나타나는 짧은 몸통과 긴 윗꼬리를 가진 캔들 |
Kicking | 이전 캔들과 반대 방향으로 긴 갭을 가진 캔들 |
KickingByLength | 몸통 길이를 고려한 키킹 패턴 |
LadderBottom | 하락 추세 끝에 나타나는 다섯 개의 캔들 패턴 |
LongLeggedDoji | 위아래 꼬리가 모두 긴 도지 캔들 |
LongLine | 몸통 길이가 긴 캔들 |
Marubozu | 꼬리가 없는 꽉 찬 캔들 |
MatchingLow | 하락 추세 중 두 개의 연속된 캔들이 같은 저가를 갖는 패턴 |
Mathold | 상승 추세 중 세 개의 작은 음봉이 큰 양봉 안에 있는 패턴 |
MorningDojiStar | 하락 추세 끝에 나타나는 도지 스타 패턴 |
MorningStar | 하락 추세 끝에 나타나는 세 개의 캔들 패턴 |
OnNeck | 하락 추세 중 짧은 양봉이 이전 음봉의 저가 부근에서 마감하는 패턴 |
Piercing | 하락 추세 중 긴 양봉이 이전 음봉의 중간 이상을 뚫고 올라오는 패턴 |
RickshawMan | 몸통이 짧고 위아래 꼬리가 모두 긴 캔들 |
RiseFall3Methods | 추세 방향으로 세 개의 작은 캔들 이후 긴 추세 반전 캔들 패턴 |
SeparatingLines | 같은 시가에서 시작하여 반대 방향으로 움직이는 두 개의 긴 캔들 패턴 |
ShootingStar | 상승 추세 끝에서 나타나는 짧은 몸통과 긴 윗꼬리를 가진 캔들 |
ShortLine | 몸통 길이가 짧은 캔들 |
SpinningTop | 몸통이 짧고 위아래 꼬리가 적당히 긴 캔들 |
StalledPattern | 상승 추세의 둔화를 나타내는 패턴 |
StickSandwich | 두 개의 양봉 사이에 있는 음봉 패턴 |
Takuri | 긴 아래꼬리를 가진 작은 몸통의 캔들 |
Tasukigap | 상승 또는 하락 추세 중 발생하는 갭 패턴 |
Thrusting | 하락 추세 중 양봉이 이전 음봉의 중간 아래에서 마감하는 패턴 |
Tristar | 세 개의 도지 캔들로 이루어진 패턴 |
Unique3River | 하락 추세 끝에 나타나는 세 개의 캔들 패턴 |
UpsideGap2Crows | 상승 추세 중 발생하는 갭 패턴 |
XSideGap3Methods | 갭을 포함한 다섯 개의 캔들 패턴 |
일정기간의 주가 자료에서 캔들스틱 형태 'doji'를 살펴봅니다.
import numpy as np import pandas as pd import yfinance as yf import pandas_ta as ta import matplotlib.pyplot as plt import mplfinance as mpf st=pd.Timestamp(2024,9, 1) et=pd.Timestamp(2025, 5,3) trgnme="000660.KS" trg=yf.download(trgnme, st, et) trg.columns=[i[0] for i in trg.columns]
doji=ta.cdl_pattern(trg.Open, trg.High, trg.Low, trg.Close, name="doji") (doji == 100).any()
CDL_DOJI_10_0.1 True dtype: bool
positive=np.where(doji !=0)[0:] positive
(array([ 13, 38, 40, 43, 50, 52, 58, 67, 71, 76, 78, 87, 88, 95, 97, 102, 107, 111, 121, 131, 147], dtype=int64), array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int64))
trg.index[positive[0]]
DatetimeIndex(['2024-09-24', '2024-11-01', '2024-11-05', '2024-11-08', '2024-11-19', '2024-11-21', '2024-11-29', '2024-12-12', '2024-12-18', '2024-12-26', '2024-12-30', '2025-01-14', '2025-01-15', '2025-01-24', '2025-02-03', '2025-02-10', '2025-02-17', '2025-02-21', '2025-03-10', '2025-03-24', '2025-04-15'], dtype='datetime64[ns]', name='Date', freq=None)
위 과정을 위한 UDF를 작성하여 사용합니다.
def candlePattern(data, name="all"): pattern =ta.cdl_pattern(data.Open, data.High, data.Low, data.Close, name=name) if (type(pattern) == (pd.Series)) or (type(pattern) ==pd.DataFrame): result=np.where(pattern == 100) result=pd.DataFrame([result[0], result[1]], index=["row_num","col_num" ]).T return (result, pattern.columns) else: return pattern
positive=candlePattern(trg, name="doji") positive
( row_num col_num 0 13 0 1 38 0 2 40 0 3 43 0 4 50 0 5 52 0 6 58 0 7 67 0 8 71 0 9 76 0 10 78 0 11 87 0 12 88 0 13 95 0 14 97 0 15 102 0 16 107 0 17 111 0 18 121 0 19 131 0 20 147 0, Index(['CDL_DOJI_10_0.1'], dtype='object'))
trg.index[positive[0]]
DatetimeIndex(['2024-09-24', '2024-11-01', '2024-11-05', '2024-11-08', '2024-11-19', '2024-11-21', '2024-11-29', '2024-12-12', '2024-12-18', '2024-12-26', '2024-12-30', '2025-01-14', '2025-01-15', '2025-01-24', '2025-02-03', '2025-02-10', '2025-02-17', '2025-02-21', '2025-03-10', '2025-03-24', '2025-04-15'], dtype='datetime64[ns]', name='Date', freq=None)
trg.index[positive[0].iloc[:, 0]]
DatetimeIndex(['2024-09-24', '2024-11-01', '2024-11-05', '2024-11-08', '2024-11-19', '2024-11-21', '2024-11-29', '2024-12-12', '2024-12-18', '2024-12-26', '2024-12-30', '2025-01-14', '2025-01-15', '2025-01-24', '2025-02-03', '2025-02-10', '2025-02-17', '2025-02-21', '2025-03-10', '2025-03-24', '2025-04-15'], dtype='datetime64[ns]', name='Date', freq=None)
위 데이터에서 최근일에 발견되는 캔들스틱의 패턴을 찾아봅니다.
pattern=candlePattern(trg, name="all") pattern
( row_num col_num 0 9 56 1 12 9 2 12 18 3 12 39 4 13 4 .. ... ... 178 149 51 179 150 51 180 153 51 181 155 51 182 159 11 [183 rows x 2 columns], Index(['CDL_2CROWS', 'CDL_3BLACKCROWS', 'CDL_3INSIDE', 'CDL_3LINESTRIKE', 'CDL_3OUTSIDE', 'CDL_3STARSINSOUTH', 'CDL_3WHITESOLDIERS', 'CDL_ABANDONEDBABY', 'CDL_ADVANCEBLOCK', 'CDL_BELTHOLD', 'CDL_BREAKAWAY', 'CDL_CLOSINGMARUBOZU', 'CDL_CONCEALBABYSWALL', 'CDL_COUNTERATTACK', 'CDL_DARKCLOUDCOVER', 'CDL_DOJI_10_0.1', 'CDL_DOJISTAR', 'CDL_DRAGONFLYDOJI', 'CDL_ENGULFING', 'CDL_EVENINGDOJISTAR', 'CDL_EVENINGSTAR', 'CDL_GAPSIDESIDEWHITE', 'CDL_GRAVESTONEDOJI', 'CDL_HAMMER', 'CDL_HANGINGMAN', 'CDL_HARAMI', 'CDL_HARAMICROSS', 'CDL_HIGHWAVE', 'CDL_HIKKAKE', 'CDL_HIKKAKEMOD', 'CDL_HOMINGPIGEON', 'CDL_IDENTICAL3CROWS', 'CDL_INNECK', 'CDL_INSIDE', 'CDL_INVERTEDHAMMER', 'CDL_KICKING', 'CDL_KICKINGBYLENGTH', 'CDL_LADDERBOTTOM', 'CDL_LONGLEGGEDDOJI', 'CDL_LONGLINE', 'CDL_MARUBOZU', 'CDL_MATCHINGLOW', 'CDL_MATHOLD', 'CDL_MORNINGDOJISTAR', 'CDL_MORNINGSTAR', 'CDL_ONNECK', 'CDL_PIERCING', 'CDL_RICKSHAWMAN', 'CDL_RISEFALL3METHODS', 'CDL_SEPARATINGLINES', 'CDL_SHOOTINGSTAR', 'CDL_SHORTLINE', 'CDL_SPINNINGTOP', 'CDL_STALLEDPATTERN', 'CDL_STICKSANDWICH', 'CDL_TAKURI', 'CDL_TASUKIGAP', 'CDL_THRUSTING', 'CDL_TRISTAR', 'CDL_UNIQUE3RIVER', 'CDL_UPSIDEGAP2CROWS', 'CDL_XSIDEGAP3METHODS'], dtype='object'))
pattern[0].tail(1)
row_num | col_num | |
---|---|---|
182 | 159 | 11 |
trg.index[159]
Timestamp('2025-05-02 00:00:00')
pattern[1][11]
'CDL_CLOSINGMARUBOZU'
위 결과는 '시가 또는 고가에서 시작하여 반대방향으로 꽉찬 캔틀 패턴'를 나타냅니다. 다음 그림과 같으며 캔들의 한쪽 끝(고가 또는 저가)이 몸통과 완전히 붙어 있소 다른쪽 끝에는 꼬리가 없는 특징을 가집니다. 이 패턴은 강력한 추세 지속 또는 시작의 신호로 해석될 수 있으며 양봉 또는 음봉에 따라 의미가 달라집니다.
댓글
댓글 쓰기