1. 투자지표를 활용한 매매 시점 모니터링 - 개요
RMI, RSI를 활용한 매매 시점 모니터링
이전 포스팅에서는 변동성 돌파 전략을 이용해 종목을 모니터링 하고 카카오톡 API를 통해 나에게 메세지를 보내는 프로그램을 개발하였었다.
2022.10.19 - [개발일지/주식 단타 전략] - 0. 주식 단타 전략 모니터링 시스템 - 개요
문제는 우리가 모든 자금을 단기 매매에만 투자하는 것은 위험 부담이 클 뿐아니라, 전업 투자자가 아닌 이상 지속적으로 매매를 실행하기에도 어렵다.
따라서 일정 금액만 단기 매매에 사용하고, 남은 자금은 중, 장기로 가져갈 투자 종목을 고르고 투자하는 것이 바람직하다 생각한다.
이에 보조지표인 RSI, RMI를 먼저 활용해서 중, 장기용 모니터링 프로그램을 개발해 보고자 한다.
이번 주제의 포스팅 목록은 다음과 같다.
- RSI, RMI 개념 소개, 프로그램 설계 개획
- 파이썬 기반으로 주요 기능 개발 및 백테스팅
- 매수 종목 탐색을 위한 프로그램 개발 및 알림
- 보유 종목의 매도 시점에 대한 프로그램 개발 및 알림
각 번호에 대해 간략히 얘기하자면, 우선 1번인 이번 글에서는 RSI와 RMI 투자지표가 무엇인지, 어떻게 활용할 수 있는지 개념적인 이야기를 할 것이다. 그리고 이 투자지표를 활용해 어떤 프로그램을 개발할 것인지에 대한 설계를 간단히 설명할 것이다.
2번은 투자지표를 모니터링할 수 있도록 파이썬으로 구현한 후, 해당 지표가 실제로 활용가치가 있는지 과거 주가를 이용해 백테스팅을 해 검증한다.
3번으로 이제 현재 시점으로 매수 시그널이 뜨는 종목을 탐색한다. 일봉을 기준으로 탐색할 것이기 때문에, 상장된 모든 종목에 대한 탐색이 가능하다.
4번으로 매수한 종목에 대한 매도 시점을 모니터링 할 수 있는 프로그램을 구현한다. 매수를 좋은 타이밍에 잘 했어도 잘 팔지 못하면 투자는 실패하기 때문이다.
이렇게 번호대로 각각의 주제를 잡아서 글을 포스팅 하겠다.
먼저, 첫 번째 주제로 RSI, RMI 개념을 소개하겠다.
RSI, RMI
한 가지 양해를 구하고 넘어갈 점이 있다. 본 포스팅의 목적은 해당 지표를 활용해 모니터링 할 수 있는 프로그램의 개발이기 때문에 관련된 투자 지표는 간략하게 설명을 할 예정이다. 지표에 관한 보다 상세한 정보와 정확한 정보는 다른 전문가가 설명한 글을 참고바란다.
우선 RSI에 대해 알아보자.
RSI란 과매수, 과매도를 나타내는 지표이다. RMI는 RSI의 변형으로 N일 전 가격을 참조한다는 점만 다르다.
해당 종목이 과매수 상태인가, 과매도 상태인가에 대해 0~100 사이로 나타내며, 값이 70 이상이면 과매수, 30 이하이면 과매도 상태를 나타낸다.
과매수 상태라는 것은 매수세가 강하하는 말이고, 과매도 상태는 매도세가 강하다는 뜻이기에 투자에 있어 흐름을 참고할 수 있다.
즉, 30 이하일 때 매수, 70 이상일 때 매도하면 된다는 말이다. 하지만, 해당 지표를 맹신해서는 안 되는 것이 하락세에 있는 종목은 RSI값이 계속 30이하에서 소폭으로 오르락 내리락만 하며 주가가 하락하기 때문에 매도 시그널 없이 매수 시그널만 계속 나타날 가능성이 높다. 따라서 회사에 대한 분석이 선행되는 것이 필수이다.
그렇기에 RSI 지표를 활용해 어떤 회사를 고를 것인가에 대한 부분에서 도움을 받고자 한다. 앞으로 여러가지 투자 지표를 살펴볼 것인데, 먼저 RSI, RMI 지표를 이용해 매수 시그널이 있는 종목 탐색하고, 매수를 결정하는 것은 다른 투지 지표 및 회사에 대한 분석 후 투자자 본인의 경험과 판단으로 하고자 한다.
그럼 RSI와 RMI의 계산 공식을 보자.
- U = 전날 주가보다 오늘 주가가 상승할 때의 주가 상승폭(up)
- D = 전날 주가보다 오늘 주가가 하락할 때의 주가 하락폭(down)
- AU = 일정기간(N일) 동안의 U의 평균값
- AD = 일정기간(N일) 동안의 D의 평균값
- RS = AU / AD
- RSI = AU / (AU + AD) = RS / (1 + RS)
- RSI 시그널 = RSI의 이동평균선
여기서 N은 투자자가 설정할 수 있지만, 통상적으로 14일로 사용할 것을 권장한다.
RMI의 계산 공식은 RSI의 계산 공식에서 U와 D를 N일전 주가로 수정하면 된다.
- U = N일전 주가보다 오늘 주가가 상승할 때의 주가 상승폭(up)
- D = N일전 주가보다 오늘 주가가 하락할 때의 주가 하락폭(down)
- AU = 일정기간(N일) 동안의 U의 평균값
- AD = 일정기간(N일) 동안의 D의 평균값
- RM = AU / AD
- RMI = AU / (AU + AD) = RM / (1 + RS)
- RMI 시그널 = RSI의 이동평균선
즉, RSI보다 조금 더 장기적인 매매 추세를 볼 수 있다.
위의 식과 각 지표의 특성을 이용해 모니터링하는 프로그램을 개발하고자 한다.
종목 탐색 프로그램 설계
프로그램을 개발에 필요한 구성은 다음과 같다.
- Python
- 주가 데이터
- 카카오톡 API
- RSI, RMI 구현
RSI와 RMI의 계산식을 구현한 후 주가데이터를 받아 과거 주가 데이터에 백테스트를 할 예정이다.
백테스트를 통해 어느 시점에 매매를 해야 안정성 및 수익률이 좋은지 확인하고 이에 따라 전략을 세운다.
전략에 따라 주식 시장을 시작할 때 혹은 마감 된 후 탐색한 종목리스트를 추천한다.
보유한 종목에 대해 매 장이 마감된 후 다음날 대비를 하기 위해 매매 시그널을 분석해 리포트한다.
종목 리스트 추천과 리포트 형식에 대해선 개발을 하면서 양식을 잡아야 할 것 같다.
우선적으로 카카오톡 API를 이용해 간단한 알림 메세지부터 진행하려 한다.