커뮤니티
내가 만든 전략들과 지식을 공유하고 토론합니다.

개별종목별 거래량 컨트롤 예제

Europa 2021.09.28 20:34 조회수  421 추천 8

안녕하세요. 전략토론방에는 처음 게시물을 올립니다. (전략토론방에 최근 게시글이 너무 없어서 활성화를 의도하는 목적도 있습니다.)


알고리즘을 돌리다보면 거래액이 너무 커져서 시장에서 실제 거래될 수 없거나 혹은 시장 자체를 왜곡시킬 수준의 거래를 발생시키는 일이 자주 발생합니다. 실전 매매에서는 슬리피지를 아주 크게 만들거나, 혹은 실전 매매에 적용 불가능한 알고리즘이 됩니다.


이런 문제를 최대한 바로잡으려고 시도를 해 보았습니다. 각 개별종목별로 하루에 매매 시도하는 최대치를 일 거래량의 1% 정도로 셋팅해 두고 이를 강제하는 코드입니다. 아직 완전한 구현은 아닙니다. 배스킷의 최대 예산을 초과하지 않도록 매도와 매수를 보다 정밀하게 컨트롤해야 하지만, 가끔 매도보다 매수가 더 진행되서 오류를 출력하기도 합니다. 그래도 아마 실전에 적용하는 분들에게는 도움이 될 것 같아서 공유드립니다.


구현체는 인텔리퀀트에서 제공하는 기본 템플릿에 추가해 두었습니다. 기본 템플릿의 동작과 비교해 보시면 차이가 보입니다. 예를 들어, 아래 백테스트 결과를 보면, 매달 1일 리밸런싱임에도 불구하고, 1일에 리밸런싱을 충분히 마무리하지 못한 부분은 그 뒤로도 목표를 달성할때까지 매일 거래량을 컨트롤해가면서 매도, 매수를 진행한 것을 볼 수 있습니다.


감사합니다.

댓글 5
올리고서 보니 아래쪽의 '소형주 분할매수...' 구현과 비슷한 기능이네요. 그래도 참고하실 수 있도록 남겨두겠습니다.
Europa 2021.09.28 20:38
와오 감사합니다 참고할게요~
슈퍼공돌맨 2021.09.30 16:09
감사합니다. 참고해보겠습니다
강성준 2021.10.04 18:43
감사합니다~~ 도움이 되셨기를...
Europa 2021.10.05 07:43
오... 좋은 의도인것 같습니다 참고해보겠습니다!
대풍 2021.10.09 00:56
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글