스토캐스틱 활용 전략
스토캐스틱을 사용한 일반적인 전략은 두 가지가 있습니다.
- 슬로우 스토캐스틱 전략
슬로우 스토캐스틱 전략은 %K와 %D의 이동평균을 늦춘 것입니다. 이동평균을 늦춤으로써 더 부드러운 추세를 만들어내며, 보다 신뢰성 높은 매매 신호를 생성합니다. 보통 3일 동안의 이동평균을 사용합니다.
매수 시그널: %K와 %D가 모두 20 미만이었다가 상향 돌파한 경우 매수합니다.
매도 시그널: %K와 %D가 모두 80 이상이었다가 하향 돌파한 경우 매도합니다. - 다중 시간대 스토캐스틱 전략
다중 시간대 스토캐스틱 전략은 다른 시간대의 스토캐스틱 지표를 함께 사용하여 매매 신호를 생성합니다. 보통 5분봉, 15분봉, 30분봉, 1시간봉 등의 다양한 시간대의 스토캐스틱을 함께 사용합니다.
매수 시그널: 짧은 시간대의 스토캐스틱이 상승 추세일 때, 긴 시간대의 스토캐스틱이 하락했다가 상승하는 시점에서 매수합니다.
매도 시그널: 짧은 시간대의 스토캐스틱이 하락 추세일 때, 긴 시간대의 스토캐스틱이 상승했다가 하락하는 시점에서 매도합니다.
이외에도, 스토캐스틱을 다른 기술적 지표와 함께 사용하는 전략이나 스토캐스틱에서 파생된 다른 지표를 사용하는 전략 등이 있습니다. 하지만 어떤 전략을 사용하더라도 항상 리스크와 수익률을 신중하게 고려해야 합니다.
스토캐스틱 stochastic 이란?
스토캐스틱(stochastic)은 기술적 분석에서 사용되는 보조 지표 중 하나로 1950년대 William Dunnigun이 소개하였습니다. 주식, 환율, 원자재 등의 금융 상품에서 가격의 흐름을 파악하고 향후 가격을 예측하는데 사용되며 가격 변화율의 상대적인 강도를 나타내기 때문에 상대강도지수(RSI)와 유사한 성격을 가지고 있습니다.
스토캐스틱은 두 개의 선으로 구성됩니다. 첫 번째 선은 %K라고 불리며, 주식 가격이 일정 기간 동안의 변동폭에서 현재 위치한 곳을 나타냅니다. 두 번째 선은 %D라고 불리며, %K를 이동 평균한 값을 나타냅니다. 스토캐스틱은 보통 0부터 100까지의 값을 갖으며, 80을 상한선, 20을 하한선으로 사용하는 것이 일반적입니다.
스토캐스틱을 계산하기 위해서는 먼저 가격의 고점과 저점을 찾아야 합니다. 보통 일정 기간 동안의 고점과 저점을 사용합니다. 이후 다음과 같은 수식을 사용하여 %K를 계산합니다.
%K = (현재 가격 - n일 중 최저가) / (n일 중 최고가 - n일 중 최저가) × 100
여기서 n은 기간을 의미하며, 일반적으로 14일을 사용합니다. 이후 %K를 사용하여 %D를 계산합니다. %D는 %K를 m일간의 이동 평균을 구한 값입니다. 이 때, m은 일반적으로 3일을 사용합니다.
스토캐스틱은 패스트와 슬로우로 나눌 수 있는데 각각 다음과 같습니다.
패스트 스토캐스틱은 주식 시장에서 거래되는 가격 데이터를 바탕으로 최근 N일 동안의 종가(Close), 고가(High), 저가(Low)의 가격 범위에 따라 현재 주가가 상승추세인지 하락추세인지 판단합니다. 패스트 스토캐스틱은 주로 5일~14일의 기간을 사용하여 계산하며 주식 시장에서 매매 신호를 파악하는 데 유용하게 사용됩니다.
반면, 슬로우 스토캐스틱은 패스트 스토캐스틱의 지표를 더욱 부드럽게 보여 줄 수 있습니다. 슬로우 스토캐스틱은 패스트 스토캐스틱에 이동평균선을 적용한 것으로, 지수이동평균(EMA)을 사용하여 계산합니다. 주로 3일~5일의 기간을 사용합니다. 슬로우 스토캐스틱은 패스트 스토캐스틱에 비해 보다 부드러운 추세를 보여주며, 트렌드 전환 시점을 더욱 부드럽게 예측할 수 있습니다.
즉, 패스트 스토캐스틱은 단기적인 추세 변화를 빠르게 파악하는 데 유용하며, 슬로우 스토캐스틱은 장기적인 추세 변화를 예측하는 데 유용합니다. 두 지표를 함께 사용하면 주식 시장에서 보다 정확한 매매 신호를 파악할 수 있습니다.
스토캐스틱과 같이 사용할 만한 보조지표
스토캐스틱과 같이 사용하면 좋은 보조지표에는 다음과 같은 것들이 있습니다.
- 이동평균선
가격 변동의 추세를 파악하는 데 유용한 지표입니다. 스토캐스틱이 상승하는 추세에서는 상승 추세의 이동평균선이 지지선으로 작용하며, 하락 추세에서는 지금은 팔아야 할 때인지를 판단하는데 도움을 줍니다. - 볼린저 밴드
변동성을 파악하고, 추세 전환과 특정 가격대를 파악하는 데 유용한 지표입니다. 스토캐스틱과 함께 사용하면, 가격이 상단 볼린저 밴드 근처에 있으면 초과 매수 상태를 나타내고, 하단 볼린저 밴드 근처에 있으면 초과 매도 상태를 나타냅니다. - 상대강도지수(RSI)
주식의 상승과 하락의 강도를 파악하는 데 유용한 지표입니다. 스토캐스틱과 함께 사용하면, 두 지표가 모두 상승 추세일 때는 강세, 둘 다 하락 추세일 때는 약세를 나타내며, 하나는 상승하고 다른 하나는 하락할 때는 추세 전환의 신호로 사용할 수 있습니다. - MACD
이동평균수렴확산 지수는 추세를 나타내는 지표로, 단기 이동평균과 장기 이동평균의 차이를 이용합니다. 스토캐스틱과 함께 사용하면, 둘 다 상승하면 강세, 둘 다 하락하면 약세, 하나는 상승하고 다른 하나는 하락할 때는 추세 전환의 신호로 사용할 수 있습니다.
스토캐스틱과 비슷한 유형의 보조지표
- RSI (Relative Strength Index)
주식의 상승과 하락의 강도를 파악하는 데 유용한 지표입니다. 스토캐스틱과 마찬가지로, 0~100 사이의 값을 가지며, 70 이상은 초과매수, 30 이하는 초과매도 구간으로 간주됩니다. RSI는 거래량을 고려하지 않고, 가격 자체의 움직임만을 기준으로 계산되므로, 스토캐스틱과는 다른 의미를 가집니다. - CCI (Commodity Channel Index)
주식이나 다른 자산의 가격 변동성을 파악하는 데 사용되는 지표입니다. 스토캐스틱과 마찬가지로, +100과 -100 사이의 값으로 계산되며, +100을 상회하면 초과매수, -100을 하회하면 초과매도 구간으로 간주됩니다. - StochRSI (Stochastic RSI)
RSI 지표를 기반으로 스토캐스틱 방식으로 계산되는 지표입니다. 일반적인 RSI 지표보다 더 부드러운 움직임을 보이며, 과거의 데이터를 더 많이 반영합니다. 따라서 짧은 기간의 트렌드 파악에 유용합니다. - Williams %R: 변동성을 이용하여 초과매수와 초과매도를 파악하는 지표입니다. 스토캐스틱과 마찬가지로, 0과 -100 사이의 값을 가지며, -20 이하는 초과매수, -80 이상은 초과매도 구간으로 간주됩니다.
이러한 지표들은 각각의 특성을 가지고 있으며, 개별적으로 사용될 때보다는 함께 사용되는 경우가 많습니다. 상황에 맞게 다양한 지표들을 활용하여 투자 결정을 내리는 것이 중요합니다.
스토캐스틱를 구하는 Python 함수
from pandas_datareader import data
from ta.momentum import StochasticOscillator
def get_stochastic_oscillator(symbol, start_date, end_date, n=14, d_n=3):
# 주식 데이터 불러오기
df = data.DataReader(symbol, 'yahoo', start_date, end_date)
# 스토캐스틱 계산
sto = StochasticOscillator(df['High'], df['Low'], df['Close'], n=n, d_n=d_n)
df['%K'] = sto.stoch()
df['%D'] = sto.stoch_signal()
# 결과 반환
return df[['Close', '%K', '%D']]
# 함수 사용
sto_df = get_stochastic_oscillator('AAPL', '2020-01-01', '2021-12-31')
print(sto_df.tail())
# 실행 결과
Close %K %D
Date
2021-12-24 182.919998 35.619522 41.863697
2021-12-27 181.979996 25.378326 35.472849
2021-12-28 182.830002 43.543127 34.513992
'경제 > 주식' 카테고리의 다른 글
DMI 활용 방법과 파이썬 함수 (0) | 2023.02.19 |
---|---|
TRIX 활용 방법과 파이썬 함수 (0) | 2023.02.19 |
주식 거래량 활용 방법과 파이썬 함수 (0) | 2023.02.16 |
MACD 활용 방법과 파이썬 함수 (0) | 2023.02.15 |
RSI (상대강도지수) 활용 방법과 파이썬 함수 (0) | 2023.02.14 |