안녕하세요.
주식 관련 서적이나, 블로그등을 살펴보다 보면 '긴 아래 꼬리 음봉'이 나오면 상승 반전이라는 글들이 종종 있습니다. 아래 그림과 같은 모양이죠.
오늘은 긴 아래 꼬리 음봉이 나오면 주가의 추세가 정말 반전되는지에 대해서 데이터를 살펴봤습니다.
먼저, 저는 주식 매매를 전문으로 하는 사람은 아닙니다. 차트를 잘 알지도 못하고요.
다만 데이터 분석 관점으로 다양하게 주식과 주식 차트를 분석하는 중입니다.
(제 직업을 정확히 말씀드리자면 데이터베이스와 SQL 전문가입니다.)
오늘 적어드린 내용은 기준을 어떻게 잡는지에 따라 다양한 결과가 나오는 부분입니다.
그렇기 때문에 재미로만 봐주시면 좋을거 같고, 각자 데이터에 관심이 있다면, 제 블로그의 글들을 참고해 더 연구해보시기 바랍니다.
본격적인 설명에 앞서, 절대 어떤 종목을 추천하기 위한 글이 아니며, 본 글로 인해 투자한 종목의 손실에 대해서는 절대 누구도 책임지지 않는다는 것을 기억해주시기 바랍니다.
데이터의 정확성 역시 일차적으로는 검토했지만, 데이터 수집 시점이나 과정에서 발생한 실수로 부정확할수도 있으니 양해바랍니다.
먼저, [그림 - 1]과 같은 모양의 '긴 아래 꼬리 음봉' 기준을 제 나름대로 정해보면 아래와 같습니다.
1. 음봉의 아래꼬리 길이가 전체 길이 대비 65% 이상
2. 거래금액이 100억 이상
3. 전날 봉 전체 길이(어제고가-어제저가)보다 오늘 봉 전체 길이가 1.5배 이상
4. 다음날 봉 전체 길이(어제고가-어제저가)보다 오늘 봉 전체 길이가 1.5배 이상
5. 전날 종가보다 오늘 종가가 작을것
6. 다음날 시가보다 오늘 종가가 작을것
7. 전날 거래금액보다 오늘 거래금액이 3배 이상
8. 다음날 거래금액보다 오늘 거래금액이 3배 이상
위와 같은 기준은 각자 정할 수 있겠죠. 위와 같은 기준으로 '긴 아래 꼬리 음봉'이 발생한 종목과 일자를 찾아볼 예정입니다. 사용한 데이터 기준은 아래와 같습니다.
- 데이터는 '평생 필요한 데이터 분석'에서 제공하는 2019년, 2020년 일별주가 데이터를 사용했습니다.
: https://blog.naver.com/ryu1hwan/222359890049
위에서 정한 기준으로 긴 아래 꼬리 음봉이 발생한 데이터를 출력해보면 아래의 [결과 - 1]과 같습니다. 결과를 출력할 때, 긴 아래 꼬리 음봉이 발생한 20일 후의 종가를 가져와 등락률도 같이 계산합니다.
[결과 - 1] 의 내용을 종합해보면 다음과 같습니다.
- 긴 아래 꼬리 음봉 발생 횟수: 13회 (2019~2020년 사이)
- 20 거래일 후 5% 이상 상승 횟수: 5회
- 20 거래일 후 5% 이상 상승 확률: 38%
정리하면, 여기서 정한 '긴 아래 꼬리 길이' 기준으로 매매를 하게 된다면 20 거래일 후 5% 이상 상승할 확률이 38% 정도라고 볼 수 있습니다. (이러한 확률을 적용하기에는 모수가 너무 적지 않나 생각이 듭니다.)
중요한건, 제가 위에서 정한 기준에 따라 이러한 확률이 나온 것이고, 각자 기준을 변경해 본다면 더 좋은 확률이 나올 수 있습니다.(예를 들어, 거래금액이 더 높아야 한다거나, 다음날에 상승이 어느정도 되어야 한다거나)
[결과 - 1]에서 첫 번째 데이터를 살펴보면, '지누스' 종목에서 2020년 4월 2일에 긴 아래 꼬리 음봉이 나왔고, 20 거래일 후에 53%나 상승을 했습니다. 실제 차트를 살펴보면 아래 [그림 - 2]와 같습니다.
단순하게, 위 결과만 보고 '긴 아래 꼬리 음봉'='상승'이라고 생각하면 안되겠죠. [결과 - 1]의 마지막 데이터를 보면, 공교롭게도 같은 종목인 '지누스'에서 2020년 2월 8일에도 긴 아래 꼬리 음봉이 나왔고, 해당 일자의 20일 후에는 오히려 -25% 하락이 발생했습니다. 아래 [그림 - 3]과 같습니다.
무조건 '긴 아래 꼬리 음봉'이 나온다고 상승하지 않는다는 것을 알 수 있습니다.
위 차트를 보며 생각해 보니, 떨어진 경우는 2020년 3월 코로나로 모두가 급락한 것이고, 오른 시점은 코로나 이후 대세 상승한 케이스에 지나지 않나 생각도 듭니다.
당연히, 단순히 이 신호만으로 성공할 수 있다면 세상 모든 사람이 부자가 되었겠죠. ^^
내친김에, 2010년 이후로 현재(2021년7월8일)까지 여기서 정한 기준을 적용해 종목을 찾아보면 아래 [결과 - 2]와 같습니다. (아래 결과는 개인적으로 수집, 관리하는 일별주가 데이터를 사용했습니다.)
[결과 - 2]의 내용을 종합해 보면 아래와 같습니다.
- 긴 아래 꼬리 음봉 발생 횟수: 55회 (2010~2021년 7월 8일 사이)
- 20 거래일 후 5% 이상 상승 횟수: 19회
- 20 거래일 후 5% 이상 상승 확률: 35%
35%라는 확률이 의미가 있는지 잘 모르겠습니다. 더욱이 기준에 따라 확률의 변화 정도가 크기 때문이죠.
위 결과가 포함된 엑셀도 올려드립니다.
마지막으로 [결과 - 1]를 추출하는 SQL은 아래와 같습니다.
WITH RES01 AS(
SELECT T1.C_PRC - T1.L_PRC 아래꼬리길이
,T1.O_PRC - T1.C_PRC 몸통길이
,T1.H_PRC - T1.O_PRC 위꼬리길이
,T1.H_PRC - T1.L_PRC 전체길이
,ROUND((T1.H_PRC - T1.L_PRC) / T1.L_PRC *100,2) 고점저점등락률
,T1.C_PRC * T1.VOL / 1e8 거래금액_억
,T_BF1.H_PRC - T_BF1.L_PRC 전날_전체길이
,T_AF1.H_PRC - T_AF1.L_PRC 다음날_전체길이
,T_BF1.C_PRC * T_BF1.VOL / 1e8 전날_거래금액_억
,T1.C_PRC
,T1.O_PRC
,T1.DT
,T1.STK_CD
,T1.STK_DT_NO
,T1.H_PRC
,T1.L_PRC
FROM DB_SQLSTK.HISTORY_DT T1
INNER JOIN DB_SQLSTK.STOCK T3
ON (T3.STK_CD = T1.STK_CD)
INNER JOIN DB_SQLSTK.HISTORY_DT T_BF1
ON (T_BF1.STK_CD = T1.STK_CD AND T_BF1.STK_DT_NO = T1.STK_DT_NO-1)
INNER JOIN DB_SQLSTK.HISTORY_DT T_AF1
ON (T_AF1.STK_CD = T1.STK_CD AND T_AF1.STK_DT_NO = T1.STK_DT_NO+1)
WHERE T1.C_PRC < T1.O_PRC
AND T1.C_PRC < T_BF1.C_PRC
AND T1.C_PRC < T_AF1.O_PRC
AND T3.STK_TP_NM IS NULL
)
,RES02 AS(
SELECT T1.아래꼬리길이 / T1.전체길이 아래꼬리길이비율
,T1.몸통길이 / T1.전체길이 몸통길이비율
,T1.위꼬리길이 / T1.전체길이 위꼬리길이비율
,T1.*
FROM RES01 T1
)
,RES03 AS(
SELECT T1.*
,ROUND((T2.C_PRC - T1.C_PRC) / T1.C_PRC*100,2) CHG_RT_AF_20
,T2.C_PRC C_PRC_AF_20
,T2.DT DT_AF_20
,T2.STK_CD STK_CD_AF_20
FROM RES02 T1
INNER JOIN DB_SQLSTK.HISTORY_DT T2
ON (T2.STK_CD = T1.STK_CD
AND T2.STK_DT_NO = T1.STK_DT_NO + 20)
WHERE T1.아래꼬리길이비율 >= 0.65
AND T1.전날_전체길이 > 0
AND T1.전체길이/T1.전날_전체길이 > 1.5
AND T1.다음날_전체길이 > 0
AND T1.전체길이/T1.다음날_전체길이 > 1.5
AND T1.거래금액_억 > 100
AND T1.거래금액_억 / T1.전날_거래금액_억 > 3
)
,RES04 AS(
SELECT SUM(CASE WHEN T1.CHG_RT_AF_20 >= 5 THEN 1 ELSE 0 END) WIN_CNT
,AVG(T1.CHG_RT_AF_20) AVG_AF_20
,COUNT(*) CNT
,ROUND(SUM(CASE WHEN T1.CHG_RT_AF_20 >= 5 THEN 1 ELSE 0 END) / COUNT(*) * 100,2)WIN_RT
FROM RES03 T1
)
# SELECT * FROM RES04;
SELECT T2.STK_CD ,T2.STK_NM
,T1.DT 꼬리일자
,T1.아래꼬리길이비율
,T1.C_PRC
,T1.DT_AF_20
,T1.C_PRC_AF_20
,T1.CHG_RT_AF_20
FROM RES03 T1
INNER JOIN DB_SQLSTK.STOCK T2 ON (T2.STK_CD = T1.STK_CD)
ORDER BY CHG_RT_AF_20 DESC
;
이상입니다. 참고 정보로만 봐주시기 바랍니다.~!
개인적으로는 이러한 매매 시그널 찾는것 보다는, 어떤 종목이 더 좋을까. 종목을 잘 선별하는게 더 중요한거 같습니다.
위와 같이 주식 데이터를 마음대로 분석해볼 수 있는 SQL을 공부하고 싶다면 아래 책을 참고해주세요~!
※ 책 소개: https://sweetquant.tistory.com/243
※ 책 미리보기: https://sweetquant.tistory.com/257
※ 교육 소개: https://sweetquant.tistory.com/283?category=1205210
※ 완전판 E-Book
▶ 유페이퍼: https://www.upaper.net/ryu1hwan/1142997
▶ 알라딘: https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=273701425
▶ Yes24: http://www.yes24.com/Product/Goods/102264444?OzSrank=1
'데이터분석 > D-Tech 데이터로 하는 재테크' 카테고리의 다른 글
파이썬 - KRX 주식 종목 마스터 만들기 (0) | 2021.08.11 |
---|---|
파이썬 - MySQL 연결 및 간단히 차트 그리기 (0) | 2021.08.10 |
10년에 한 번 온다는 기회! - 바닥은 어디? (0) | 2021.07.24 |
지수ETF는 이평선을 타고? feat. 주식시장에서 살아남는 심리 투자 법칙 (0) | 2021.07.22 |
21년1분기 영업이익과 주가변화 (0) | 2021.07.06 |
월별 주가 DB화하기(2019~2021.06) (0) | 2021.07.06 |
상따의 확률은? (1) | 2021.07.01 |
2021년 1분기 영업이익률 Top종목 (0) | 2021.06.28 |