투자 보조 지표 모멘텀
현재 기간과 일정기간의 주가를 비교해 추세의 강도와 방향을 비교할 수 있는 지표. 모멘텀 지표는 방향이 전환되는 시점부터 추세가 약해지면서 전환되기 전 시점을 알 수 있기에 선행지표로써의 강점을 가지고 있다. 또한, 전체적인 상승세와 하락세를 알 수 있는 지표이다.
계산방법
모멘텀 = 금일 종가 / N일전 종가 * 100
해석
N일전 종가가 금일 종가보다 높았다면 낮은 값을, 반대로 N일전 종가가 금일 종가보다 낮았다면 높은 값을 부여하게 된다. 또한, 매수 매도 시점을 보기 위해 시그널선을 같이 본다.
전략
추세가 강한 시장에서 사용되며, 추세를 확인함과 동시에 매수,매도 시점을 알고 싶을 때 사용한다.
횡보장에서는 적합하지 않다.
- 모멘텀 지표가 0선보다 위에 있는 경우 : 상승추세
- 모멘텀 지표가 0선보다 아래에 있는 경우 : 하락추세
- 모멘텀 지표가 시그널선(9일)을 상향 돌파시 매수 시점
- 모덴텀 지표가 시그널설(9일)을 하향 돌파시 매도 시점
다이버전스 상황 시
- 주가가 하락함에도 모멘텀 지표가 상승할 때 : 상승 추세 전환 가능성 있음.
- 주가가 상승함에도 모멘텀 지표가 하락할 때 : 하락 추세 전환 가능성 있음.
파이썬 구현
import ta
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import FinanceDataReader as fdr
import copy
df_krx = fdr.StockListing('KRX')
kospi_data = df_krx[(df_krx["Market"]=="KOSPI") & (~df_krx["Sector"].isna())]
target = kospi_data[kospi_data["Name"]=="KT&G"]
price_data = fdr.DataReader("033780","2020","2022-11-25")
momentum = price_data['Close'].pct_change(14) *100
ma_momentum = momentum.rolling(window=9).mean()
price_data["momentum"] = momentum
price_data["ma_momentum"] = ma_momentum
fig, ax1 = plt.subplots(figsize = (14,7))
ax1.set_ylabel('Price')
ax1.plot(price_data["Close"],color = "black",alpha = 0.7)
ax2 = ax1.twinx()
ax2.set_ylabel('Index')
ax2.plot(price_data["momentum"],color = "tab:blue",alpha = 0.5)
ax2.plot(price_data["ma_momentum"],color = "tab:red",alpha = 0.5)
ax2.legend(["momentum","ma_momentum"],loc = "upper right")
plt.title(target["Name"].values[0])
plt.show()
0선을 기준으로 위아래로 움직이는 것을 볼 수 있다. 계산식이 N일 전과의 주가 차이를 이용해 상승, 하락률을 구하는 것이기 때문이다.
2020년부터 대략적인 추세를 보니 주가가 상승세일때는 모멘텀 지표가 0선 위에서 물결치는 것이 보인다. 그런데 주가에 조금 후행하는 것 처럼 보인다. 2020년 부터 횡보를 계속해왔기 때문으로 보인다.
모멘텀 지표가 횡보장에서는 힘을 쓰지 못한다고 했는데, KT&G에 대해서는 적합하지 않았던 지표인 것 같다.
최근 추세가 강하게 나타나는 2022년만 확대해서 다시 한번 보겠다.
2022년 KT&G 모멘텀
22년의 주가는 6월에 잠시 빠지는 기간을 제외하면 지속적인 상승세를 유지하고 있었다.
0 이상을 유지할 때 보유하다가 0 이하로 빠졌을 때 분할 매도하는 전략으로 사용할 수 있을 것 같다. 확실히 추세가 있어서 모멘텀 지표도 0 이상으로 꾸준히 살아 있는 것으로 보인다.
11월 25일까지의 주가를 기준으로는 추세가 많이 빠져있다. 과연 매도를 해야 할까?
여기서 지표의 속성을 잘 알아야 하는 것이 모멘텀 지표는 추세 지표이기 때문에 0선에 왔다고 바로 매도를 하면 안 될 것이다. 위 종목처럼 평소 주가의 변동이 크지 않고, 다른 투자 지표에서 아직 매도 사인이 나오지 않았을 경우 모멘텀 지표는 추세가 없다는 것뿐 횡보할지, 하락할지는 지표만 봐서는 어느 쪽에 힘을 실어줄지 모르겠다.
점점 파이썬으로 구현한 지표와 각 지표가 의미하는 바를 파악하고 있다.
각 지표를 따로 놓고 보면 어느 지표는 매수, 어느 지표는 매도를 말하고 있어서 오히려 혼란스러운 것 같다.
보고서 형태로 묶어서 각 지표가 어떤 사인을 보내고 있는지, 한눈에 파악할 수 있도록 하는 작업도 같이 진행해야겠다.
또한 매번 백테스팅을 따로 하려니 시간 소요도 많이 되어 지표들을 구현 한 후 한 번에 비교하는 글을 쓰도록 하겠다.
'개발일지' 카테고리의 다른 글
파이썬 투자 보조 지표 분석 / 전략 설계 - PSAR (0) | 2022.12.02 |
---|---|
파이썬 투자 보조 지표 분석 / 전략 설계 - TRIX (0) | 2022.12.01 |
파이썬 투자 보조 지표 분석 / 전략 설계 - ADX, DI (0) | 2022.11.29 |
파이썬 투자 보조 지표 분석 / 전략 설계 - CCI (0) | 2022.11.28 |
파이썬 투자 보조 지표 분석 / 전략 설계 - 볼린저 밴드 (1) | 2022.11.27 |
댓글