지난번 생각의 흐름에 따라서 갭상승 1초봉에 대한 조건검색식을 작성하도록 한다. 포스팅은 몇개로 나뉘어져있지만 사실 오늘 하루다. 힘들다.
일단 초봉으로 테스트 후 다음 1분봉으로 하는 조건검색식도 만들예정이다.
조건검색식을 만들기 위해 알아야 할 점이 있는데 이건 내가 키움 api 게시판에도 물어본 것이다. 키움hts의 조건검색은 1분봉을 기준으로 삼았을 때 어떤 조건이 만족하면 1분이 채 되지 않아도 해당 종목을 실시간으로 보여준다.
별게 아닌 것 같지만 이걸 생각하면 많은 것을 할 수 있다. 장 시작 첫 1초도 이 내용이 아니면 적용되지 않으니까 말이다.
자 그럼 시작 표본이 몇 개 되진 않지만 지난 포스팅에서 그만큼 1초에 거래대금이 실리기도 쉽지 않다는 것 이거 자체가 쎈 종목을 반영하는 듯 싶다.
1초봉 조건검색식 만들기 위한 뼈대 세우기
- 1000원 이상 ~ 10,000원 이하의 종목들에 대해서는 5억이라는 조건을 주도록한다.
- 1만원 ~ 3만원 따리들은 20억을 주도록한다.
사실, 1초에 대한 조건검색식은 없다 1분에 대한 조건을 주고 검색시간을 9:00 ~ 9:01로 설정할 것이다. 그럼 그 기간내 거래대금이 터지는 놈들을 소트해서 알려줄테니..
- 갭이 떠야하니 러프하게 3 ~ 10퍼센트 정도로 준다.
어차피 11퍼센트 이상은 아마 VI가 뜰거다. 검색시간의 조건을 추가로 줄 것이기 때문에 11퍼센트 이상의 것은 필요가 없다. 이런건 다른 조건검색식을 이용해서 먹어보도록 하자 예를 들면 첫 분봉 주가등락률 처럼 말이다.
- 코스닥 종목으로 한정하고 거를 건 거른다 이건 이미 세팅되어 있다. 대충 다른 블로거 및 유투버 님들거 보고 따라하면 된다.
자 그럼 본격적으로 만들어보자.
1. 1000원 이상 1만원 이하의 종목들에 대해서 5억이라는 조건을 준다.
키움 HTS 조건검색식에 보면 거래대금 메뉴에서 거래대금과 기준봉 거래대금이 있다.
차이점은 사진으로 봐도 보인다 거래대금은 기준봉이 없다. 기준봉이 없으니 위 조건대로 해 놓으면 각 1분에 5억 이상의 거래대금이 발생하면 실시간으로 종목을 알려준다. 이에 비해 기준봉 거래대금은 아래와 같이 기준봉이 있다.
위 기준봉 거래대금은 1 봉전이라는 기준봉을 세울 수 있다. 위 내용은 1봉전 거래대금이 일주기이니 백만원 단위로 1억이상인것과 1000백만원 이하의 것을 보여줄 것이다.
이 기준봉 거래대금 조건에는 일봉과 다르게 0봉전이 없다. 1분에 5억 이상이 터진 것의 조건을 기준봉으로 넣게 되면 이미 1분이 지나버린 후에 알기 때문에 이 조건식으로는 1초봉에 대한 조건검색식을 만들수 없다.
따라서 일반 거래대금 조건검색식을 이용한다.
일반 거래대금 조건검색식은 기준점을 아래와 같이 1분으로 넣었을 때 실시간으로 1분안에 5억이 터지면 실시간으로 알려주게 된다. 그런데 나는 9시에 시작하는 첫 1분봉에서 조건을 얻고 싶은데 아래처럼 조건을 넣을 경우에 오늘 일봉상 주가등락률이 5% ~ 10% 사이에서 시작했지만 첫 1분봉이 아닌 시간이 흐른 뒤 5억 이상이 터지면 나에겐 의미가 없다.
이미 황금시간인 1분이 끝났기 때문에 주가가 어떻게 움직일지 알 수 없기 때문이다.
따라서 이 상황을 만들지 않기 위해 조건검색시간을 넣어주도록 한다.
2. 조건검색식에 검색시간 조건 넣어주기
위와 같이 검색시간을 넣어줬다 9시부터 9시 1분까지만 나오게 하는 것이다. 그런데 생각해보니 또 문제가 있다 사실 갭이 떠서 시작하는 종목 중 센 종목들은 9시:00에 바로 거래가 시작되지 않는다.
몇 초가 지난 뒤에 거래가 시작되는 경우가 많다. 여기서 문제점은 9:00 ~ 9:01 분이 되는 과정에서 5억의 거래대금이 언제 실리냐도 문제가 될 수 있을 것 같다. 예를 들어 9:05초에 장이 시작했는데 이 첫 시점에 거래대금이 터지지 않고 9:01 분이 다 될 즘에 5억이 터지고 그 때 실시간으로 종목이 발견되고 매수가 되면 원하던 그림은 아니다.
하지만 대부분은 첫 초봉에서 터지니 너무 염려는 안해도 될 것 같다.
3. 조건검색식에 맞게 각각 묶어주기 and or 조건
자 그럼 다음 조건인 호가따리에 따른 구분을 넣어보도록 하자
1000원에서 1만원은 5억의 조건을 1만원에서 3만원 사이는 20억을주는 조건 아까는 5억의 조건을 주었는데 이 조건만 넣을 경우 호가에 따른 구분이 아니라 매우 많은 종목들이 발생할 수 있다 그래서 1천원에서 1만원안에서만 5억이라는 조건을 넣어보도록 하자
조건검색식에서 주가범위를 검색한다. 주가범위를 1000 ~ 9999으로 넣어준다.
그리고 5억이라는 조건을 and 로 묵어주자
위처럼 B와 D조건을 드래그 한 뒤 우측의 () 버튼을 누르면 두 조건이 괄호로 묶인다 두 조건을 모두 만족해야 하므로 and 조건을 넣자 마찬가지로 1만원이상 3만원 미만의 주가범위를 구하고 거래대금 조건을 20억을 넣어서 묶어보자.
수정 추가 버튼 중 추가를 누르면 같은 조건이 추가된다. 수정 후 수정 버튼을 넣으면 바로 적용된다.
역시 이 조건을 두개로 묶어준다. 그럼 1천원에서 1만원 사이 중 1분봉이 5억이상이 되는 종목조건 하나와 1만원 3만원 사이의 종목 중 1분봉이 20억 이상이 되는 종목을 찾을 수 있는 조건 두개가 별도로 만들어졌다.
저렇게 두개의 조건이 만들어진 것들을 or로 묶어주면 하나의 조건 또는 다른 하나의 조건 종목으로 만들 수 있다.
정리하면
- 9시부터 9시 1분사이에
- 주가등락률이 전일 대비 오늘 시가 3 ~ 10퍼센트로 시작하는 종목들 중
- (1천원 이상 1만원 미만의 주가범위를 가진 종목 and 5억이 거래대금이 터지면 발견) or (1만원 이상 3만원 미하의 주가범위를 가진 종목 and 20억이 거래대금이 터지면 발견)
참고로 저 거래대금이 1분이 아닌 일 주기로 변경해도 무방하다. 어차피 실시간으로 검색이 되기 떄문이다. 1분봉이 불안하니 일봉으로 변경해놓아야겠다. 가끔 종목이 검색 안되는 경우도 있는 것 같아서..
4. 조건검색식에 일봉상 현 시점이 양봉인 조건 넣어주기
끝난게 아니다. 여기까지만 조건검색을 걸어놓으면 갭뜬 종목 모두를 가지고 오기 때문에 양봉 음봉 상관없이 모두 다 가지고 온다. 음봉을 피하기 위해서 양봉 조건을 주어야 한다. 다시 주가등락률 조건으로 가보자.
위와 같은 조건을 주도록 한다. 해석하면 일주기 이니 일봉기준으로 0봉전(중) 시가이니 오늘시가를 의미하며 0봉전 종가 등락률은 현재가를 의미한다.
즉 현재가가 오늘 시가대비 0퍼센트 이상이어야 한다는 조건이다. 어차피 장 시작 후 첫 1초를 노리는 것이니 음봉조건만 아니면 될 듯 하다. 음봉조건을 피해야 하는 이유는 상한가 이후 갭상승을 한 종목 혹은 갭상승은 했지만 바로음봉으로 꽂아 내리는 종목들이 있기 때문이다. 이 조건만 추가해줘도 장 시작 후 음봉으로 때려 박는 종목은 피할 수 있을 것 같다.
1초를 위한 조건검색식은 완성이 된 듯 하다.
5. 조건검색식 저장
이제 저장을 한다. 나는 프로그램매매가 h,o,c,n 조건으로 의미하는 바는 각각 다음과 같다.
h : high
c : close
o : open
n : nulimok
그 다음, 3.00,-10.0 이런 조건들은 수익률 조건이다.
만약 키움api에서 내가 만든 조건검색식 중 [c,1.00,-3.00]갭상승 1초 조건검색식 (1천원미만 5억, 1~3만 20억) 의 종목으로 발견 될 경우 발견되자 마자 매수를 하게끔 되어 있다. 하지만 어떤 오류인지 모르겠으나 몇분 혹은 몇십분이 지난 뒤에 매수가 되는 경우가 있어서 방어코드로 종목이 발견된 시간 이후 2초가 지났을 경우 매수를 하지 못하게 막아놨다.
그리고 한 종목당 하루에 한번씩만 매매를 하도록 설계했다.
뭐 아무튼 이런식으로 해 놓으면 이 프로그램이 내일 시작하면서 저 조건에 맞는 종목을 가져온다면 발견되자마자 2초가 지나지 않았을 경우 바로 시장가 매수를 할 것이고 그 종목이 1퍼센트 이상의 수익을 낼 경우 시장가 매도 -3.00 퍼센트가 될 경우 시장가 매도 손절을 바로 할 것이다.
손절라인을 -3 퍼센트로 잡은 이유는 모의매매이기 때문에 사자마자 약 0.5퍼센트의 손실이 난다. 테스트가 안된다.
실전매매는 아마 0.015? 0015인가.. 모의는 0.3일 것이다. 그래서 수수료랑 세금하면 아마 사자마자 0.5퍼센트 정도가 나기 때문에 여유있게 해 놓았고 조건검색식 모두가 거래대금을 기반으로 만들어졌기 때문에 거래대금의 주체인 세력형님들을 믿고 매매한다는 의미도 있다. 물론 수익은 나지 않는다 조건검색식을 찾아야 한다.
흠 장이 끝나서 검색시간이 끝났는데도 불구하고 종목들이 서치된다. ..흠.
아무튼 해당 조건으로 돌렸을 때 위처럼 서치타임을 알 수 있는데 이게 c 조건일 경우에 매수할 시점과 시간을 비교해서 2초이상 차이가 나면 매수주문을 넣지 않는다. 왜 오류가 나는지 나는 모르겠다. 방어코드만 넣어놨다.
일단 1초봉 조건검색식을 만들어 놓았으니 이제 1분봉 조건검색식을 만들어보자. 사실 조건검색식 자체가 완벽한게 아닌것 같아서 몇개의 조건을 추가로 해놓는 것이 좋을 것 같다.
원래 이 조건도 9:00 ~ 9:01 조건이 있으니 지금은 실시간검색이 되면 안되는 시간인데 왜 될까.. 이 조건으로 검색이 안 됐을 경우를 대비해서 갭상승 3 ~ 10퍼센트 매매를 하기 위한 첫 1분봉 기준을 잡는 조건검색식을 만들어보자 이번에는 검색시간이 아닌 첫 1분봉 주가등락률을 이용해야겠다.
다음 포스팅에서 1분봉 조건검색식이 이어집니다.
조건검색식에 대해서 의견 주시면 감사히 받겠습니다.
[키움API를 이용하여 퀀트 자동매매를 해 보시고 싶은 분들은 아래 링크를 참조]
유튜브 강의(무료) : 프로그램동산님의 키움 API를 이용한 유튜브 강의
클래스 101(유료) : 프로그램동산님의 클래스 101 크레온 강의
책 : 손가락 하나 까딱하지 않는 주식 거래 시스템 구축
구글링 : 유튜브 강의만들어도 파이썬 기초부터 알려주시니 어지간한 뼈대는 다 완성이 되며 모르는 부분은 카페 문의 및 구글링하면 왠만한 자료는 모두 찾을 수 있음
책 구매는 쿠팡링크입니다. 해당 링크를 통해 구매하시면 소정의 수수료를 받을 수 있습니다.