분기별 종목 리밸런싱을 하는 날에는 이전에는 종가 시간 근처에서 매도와 매수를 하였으나 이제 투자 금액이 커지다보니 한번에 큰 금액을 일시 매도, 매수 하는 부담이 생기기 시작했다. 그 후 매도할 때도 30분 간격으로 분할 매도를 하고 매수도 30분 혹은 1시간 간격으로 분할 매수를 했었는데 이게 방구석지니 프로그램 앞에 계속 앉아서 매수 시간 설정과 동일비중 %를 계속 변경 입력 해줘야 하는 번거로움이 있었다. 명색이 퀀트 자동매매 프로그램인데... 분할매매도 자동으로 되게 해야하는거 아닌감?
오늘처럼 한가한 날 한번 만들어 보기로 했다.
1. 현재 시간이 09:00 ~15:20 사이라면1-1. 현재시간 < 시작시간2. 현재 시간이 09:00 ~15:20 아니라면2-1. 시작시간 < 종료시간2-2. 매도 시작종료 시간과 매수 시작종료 시간 안겹치게2-3. 매도시간 < 매수시간2-4. 매도시 시작비중 > 종료비중2-5. 매수시 시작비중 < 종료비중2-6. 분할횟수 1 이상
이제 스케줄링 된 시간에 따라 자동 매매가 나가도록 개발해야 하는데...
현재시간을 스케줄링 표 시간과 비교해서.. 해당 설정에 맞게 매매를 하면 되겠고... 매매가 완료 되었는지 여부 확인 위해 컬럼 하나를 더 추가해야겠구나... 근데 분할 매매 같은 경우 전 시간 매매가 완료되지 않더라도 누적해서 매매 주문이 나가면 되기 때문에 그냥 해당 시간 설정에 따라 매매주문이 나가기만 하면 될거 같네. 혹시 미체결 주문이 있으면 일괄 주문취소 하는 기능도 넣어야겠다.
지금 분할매매를 하는 이유가 리밸런싱에 목적이 있기때문에 기존 보유 종목 중 전량 매도될 종목(교체)이 있고, 동일비중금액을 초과한 금액만 매도(유지)하는 경우가 있다. 매수같은 경우도 전량 매수가 있고 부분추가매수 부분이 있고...
전량매도 경우는 스케줄링에 따라 하면 되고, 동일비중 초과부분매도는... 기존과 같이 한번에 초과부분만 매도하는 걸로 하자..
생각해보니 기존 리밸런싱 로직을 스케줄링의 해당시간 동일비중금액에 맞게 매도만 되게 하면 될거 같다.. 어렵게 생각했는데 기존 로직을 약간만 수정하면 될 듯...
근데 또 언제 다 만드냐...
댓글 없음:
댓글 쓰기