본문 바로가기
개발일지/주식 단타 전략

3. 주식 단타 전략 모니터링 시스템 - 단기 기술적 지표 백테스팅

by kirion 2022. 10. 19.
728x90
반응형

단기 기술적 지표 백테스팅

 

앞 글에서 래리 윌리엄스의 전략을 간단하게 구현해봤는데 과연 이 전력이 잘 먹힐까 라는 의문을 갖게 되었다.

다른 포스팅 글에서 충분히 검증되었지만, 내가 직접 구현해서 검증하는 것과는 다르기 때문에 Python으로 직접 구현해보았다.

기준은 전일 고가 - 저가로 계산한 Range의 1.5배를 적용하고, 매도 수수료 0.1%를 적용했다.

입력 인수로 배수와 수수료를 바뀌가며 테스트할 수 있게 구현하였다.

먼저 동일하게 주가 정보를 불러오고 KOSPI만 뽑는다.

주가를 수집하기 위해 823개 기업에 대한 주가를 모두 수집한다.

나는 2019년부터 현재까지의 데이터를 수집했다.

시간이 꽤 소요되기 때문에 한 번 수집 후 저장해놓았다.

수집한 데이터를 불러오고

Range를 미리 계산해 놓는다.

시뮬레이션을 하기 위한 함수이다.

tmp에는 한 개 기업의 2019년 부터 현재까지 주가를 받도록 했다.
per는 Range의 몇 배를 이용할 지 입력받는다.(default :1.5)
tax는 매도 수수료 (default :0.999)
pr은 종가로 할지, 매수 기준가로 할지 선택한다(default : "Base", or "Close)
시간 순으로 계산이 되며 전날 Range를 이용해 당일의 매수 기준가를 계산한 후 당일 가격이 넘으면 매수한다.

한 가지, 이 데이터는 과거 데이터라 시가, 고가, 저가, 종가 밖에 없다.
따라서 어떤 가격으로 매수 시뮬레이션을 할지 선택해야 한다.
매수 기준가를 돌파하는 순간 매수할지, 종가에 매수할지 선택할 수 있도록 구현했다.

 

수집한 기업 중 한 개 기업을 선택한다.

기아로 해보자.

매수 기준가로 시뮬레이션 결과 100만원으로 투자 시 157만원이 되었다. 결과가 길어 생략했지만, 57% 수익이 볼 수 있다.
2019년부터 3년 9개월 정도 백테스팅 결과이다.
매수 기준가를 돌파하는 순간 제때만 사더라도 충분히 수익을 낼 수 있음을 확인했다.

매수 기준가 시점을 놓쳐 종가로 샀다고 가정했을 땐 142만원으로 42% 수익이 난다.



결론
단기 기술적 지표로 충분히 수익을 낼 수 있다는 것을 확인했다.
물론 매도 수수료를 각 증권사 별 정확한 수치를 넣어서 봐야 하지만, 가능성을 확인한 것에 의의를 둔다.
하지만 종목에 따라 편차가 심해 종목 선택을 잘해야 이 정도 수익을 낼 가능성이 있어 보인다.
등락이 심한 종목을 선택할 경우 제때 매수를 할 수 없을 뿐더러 수익률이 마이너스로 가는 경우도 나타났기 때문이다.

728x90
반응형

댓글