AI를 활용한 재밌는 것들을 개발합니다

2022년 1월 6일 목요일

[자동매매] 방구석지니 퀀트 자동매매 Ver 2.0 기능 간략 소개

 안녕하세요. 개미퀀트 입니다.

기다리고 기다리던 방구석지니 Ver2.0 프로그램이 95%정도 개발 되었습니다. 메인 로직은 다 개발되었고, 기타 설정값 저장등의 잡다구리한 일들이 남았습니다.

많은 회원님들의 요구사항을 다 만족드리면 좋겠지만 모두 반영 하지 못한점 죄송하게 생각합니다. 특히 마켓타이밍 요구사항은 모두 반영하지 않았습니다. 퀀트에서 마켓타이밍은 수익에 전혀 도움이 되지 않는다는 저의 신념(?)이 있기 때문에 프로그램에 반영하지 않았습니다. 그리고 수익률 로그 기능도 반영하지 않았습니다. 매수 후 다음 리밸런싱 날 까지 계좌를 안 열어본다는 의지 떄문입니다.

대신에 퀀트 투자를 하면서 이런 기능은 꼭 있었으면 좋겠다 하는 기능들을 추가 하였습니다. 사소한 것 부터 제법 유용한 기능까지 구현이 되었습니다.

일단 프로그램이 완성되는대로 배포를 하고, 사용 매뉴얼을 순차적으로 작성해서 올리도록 하겠습니다. 그 매뉴얼이 다 완성되면 전자책도 전면 개정하도록 하겠습니다.

1. [현황] 화면과 [자동매매 설정] 화면 분리

기존 UI에서 자동매매 관련 설정 화면 영역이 너무 작아 기능 추가에 어려움이 있어 설정 영역을 다른 탭으로 밖으로 분리시켰습니다.





2. 주문 일괄 취소 기능 추가

잘 못 나간 주문을 수동으로 일괄 취소 할 수 있습니다.





3. 포트폴리오 현재 주가 확인 및 평균모멘텀스코어 자동 계산 기능

퀀트킹 등에서 추출한 포트폴리오를 방구석지니에 등록하고, 바로 현재 주가를 확인해 볼 수 있습니다. 가끔 의도하지 않은 1주당 10만원이 넘는 종목이 포함되어 있을 때가 있는데 이럴때 미리 종목을 걸러 낼 수 있습니다. 그리고 평균모멘텀스코어도 자동으로 계산하는 기능을 두었습니다. 3개월, 6개월, 1년의 값이 자동 계산 및 결과가 출력됩니다.




4. 분할 매매 기능 기본

리밸런싱 하는 날 장 시작에 하는게 나을지, 장 마감 즈음에 하는게 나을지 항상 고민이 되실텐데요. 그래서 시간을 나누어 분할 매매가 되도록 만들었습니다. 매매 시간과 분할횟수를 지정하면 해당시간에 정해진 비중만큼만 매매가 되도록 하였습니다.




5. 분할 매매 기능 심화(동시매매)

위의 기능으로는 매도를 먼저하고 매수를 해야만 하기 때문에 리밸런싱 날이 장시작부터 마감까지 지속적으로 상승하는 장이었다면 그날의 수익을 전혀 못누리게 됩니다. 그래서 분할 매도를 한 금액만큼 분할 매수를 할 수 있도록 만들었습니다. 아래와 같이 설정 하면 리밸런싱 날에 하루 종일 투자잔액을 전액 유지하면서 종목만 조금씩 교체가 됩니다. 다만 제약사항으로는 리밸런싱날 기존 포트폴리오와 신규 포트폴리오의 중복종목을 제거한 종목수가 최대 60종목까지만 허용합니다.





6. 분할 매매 기능 고급(자동 비중 계산)

위의 심화기능인 동시매매는 기존 포트폴리오와 신규 포트폴리오의 종목수와 투자비중이 같을때 유효한 기능입니다. 반면, 기존 28종목을 보유하고 있는데 신규 20종목으로 포트폴리오를 리밸런싱을 해야 한다면 계산이 좀 복잡해지게 됩니다. 그런 복잡한 계산을 한방에 해결하도록 비중 자동계산 기능을 추가했습니다.

아래 그림 같은 경우 기존 28종목으로 투자비중 33%로 투자하고 있었던 것을 16종목의 신규 포트폴리오로 같은 비중 33%로 리밸런싱을 할때 기존 포트의 28종목의 한 종목당 동일비중 금액은 1,163,404원인데 비해 신규 16종목의 종목당 동일비중 금액은 2,051,113원이 되게 됩니다. 이와 같이 종목수가 달라지거나 투자비중이 달라지는 리밸런싱을 할 경우에는 아래 [비중변경 리밸런싱]을 체크하고 [자동계산] 버튼을 클릭하면 금액을 자동 계산해 줍니다. 그리고 매도할 종목, 매수할 종목, 계속보유하며 금액만 변경되어야 할 종목 3가지로 나누어서 각각에 해당하는 금액만큼 분할매매가 이루어 집니다.





아 그리고 모든 분할매매 각각의 종료시간 2분전에는 미체결된 종목이 있다면 강제 '시장가'로 전환되게 하였습니다.

7. 투입자금 추가 매수 특화 기능

퀀트 투자 중 중간에 여유자금이 생겨 추가로 돈을 더 투입했을 경우 기존 보유종목을 추가 매수 할 수 있는 특화 기능을 개발하였습니다. 추가 매수 방법은 3가지입니다.

(1) 균등 : 투입된 자금을 보유 종목수로 나누어서 골고루 매수합니다.

(2) 동일비중 이하 : 동일비중금액 이하 종목만 추가 매수 합니다.

(3) 비중 가중 매수 : 계좌에서 종목이 차지하는 비중만큼 추가 매수합니다. ( 투입금액*종목비중 )

기준은 '매입금액'이나 '평가금액'을 선택할 수있게 하였고, 실제 얼마만큼 추가 매수가 될지도 표로 나타내게 하였습니다.





8. RSI CCI MFI 매매전략 추가매수 기능

기존 매매전략에서는 익절만하고 익절한 금액을 그냥 보유하기만 하기 때문에 계속된 상승장에서는 수익이 감소하는 문제가 있죠. 그래서 익절한 금액을 계속 보유하지 않고, 보유 종목중 '2' 신호, 즉 상승 신호가 나오는 종목에 익절자금을 이용해 동일비중만큼 추가 매수해 주는 기능입니다. 백테스트상 이 기능을 사용하면 매수후보유 시의 수익률보다 단기적으로는 1~2%, 장기적으로는 5%정도 까지 수익률 상승 효과가 있습니다. 단, 20종목 등 적은 종목일 때는 효과가 오히려 마이너스 경향이 있고, 50종목 정도 큰 수의 포트폴리오에서 좋은 효과를 나타내고 있습니다.










댓글 없음:

댓글 쓰기

가장 많이 본 글