본문 바로가기
잡담/생각

시스템 트레이딩 리뷰 2 / System Trading

by 행복론자 2020. 4. 15.

지난글 (2020/03/11 - [Daily] - 시스템 트레이딩 시작 리뷰 System Trading)에 이은 시스템 트레이딩 리뷰

 

3.11일에 최초 완성 이후 1달 동안 Pycharm 프로젝트 새로  파서 새로 만든 시스템 트레이딩 2 

 

포스팅 작성 당시 계획은 그래도 한 2-3달은 운영해보려고 했다.

그러나 여러가지 문제들이 발견되면서 그때 그때 땜빵식으로 임시 코드 박아두다가 오히려 그게 더 낭비라는 생각이 번쩍 들어 잘못된 부분을 아예 수술하는 것이 낫다고 판단했다.

 

완성 이후 바로 문제라고 생각했던 것들은 이랬다. 

1.전략별로 공용할 수 있는 함수는 상속해서 쓰도록 (호가, 수량만 전달받아서 주문 접수, 주문/체결 로그 DB 쌓기)
2.현재 운용하는 자산이 적어서 눈대강으로 땄다. 잃었다. 알 수 있지만 전체적인 트레이딩 보고서가 필요
3.시스템 스탑룰이 없음 + 전일 트레이딩 결과와 독립적임
4.접수한 주문 취소룰이 하드코딩 되어 있는데 룰을 DB에 넣어서 관리
5.현재는 노트북으로 24시간 돌리는데 안정화 되면 클라우드에 올리기 

 

+ 6. 코인별로 로깅이 아니라 모든 로그를 한 파일에 담다보니 날짜별로 구분하도록 했음에도 로그가 너무 많아서 문제가 생기면 찾아볼 수가 없었다. 

 

결론은 위에 문제들을 전부 다 보완했다. 

 

 

1.전략별로 공용할 수 있는 함수는 상속해서 쓰도록 (호가, 수량만 전달받아서 주문 접수, 주문/체결 로그 DB 쌓기)

 > 현재는 전략을 하나만 돌리고 있으나 다른 전략을 추가했을 때 같이 사용할 수 있는 코드들은 부모 클래스로 분리시켰다.

 

 

2.현재 운용하는 자산이 적어서 눈대강으로 땄다. 잃었다. 알 수 있지만 전체적인 트레이딩 보고서가 필요

 > 매일 밤 당일 매매 기록을 바탕으로 평가(손익합, 손익비 등) 하는 로직을 추가했다.

 

 

3.시스템 스탑룰이 없음 + 전일 트레이딩 결과와 독립적임

 > 위 결과로 최근 N일 동안의 손익이 (-)면 전체 투자 비중을 점진적으로 줄여나가는 방식을 추가했다.

반대로 손익이 (+)이면 투자 비중을 늘린다, 계속 줄어들어 투자 비중이 0%에 도달하면 시스템 스탑 동작

 

 

4.접수한 주문 취소룰이 하드코딩 되어 있는데 룰을 DB에 넣어서 관리

 > 이건 안 고쳤다ㅎㅎ 그냥 코드를 좀 더 직관적으로 깔끔하게 바꾸었다.

 

 

5.현재는 노트북으로 24시간 돌리는데 안정화 되면 클라우드에 올리기 

 > Google Cloud Platform에 올렸다. 예전에 사용해봤던 AWS를 쓸까 했는데, 운영비가 조금이라도 더 싼 GCP를 선택

(안 그래도 돈 잃는데 운영비라도 줄이려고..)

 

 

약 1달 동안 리팩토링 하면서 느낀 것은 아예 처음 만들 때는

다시 손 볼 날이 금방 오지 않을 거라고 생각했는데 실제로는 바로 수정 작업을 했고 이번에 리팩토링하면서 그래도 좀 더 Robust 하게 됐음에도 이거 또 고칠 수도 있겠다는 생각이 든다.

전략 자체도 계속 기름칠하고 닦고 조여야 한다는 것을 몸으로 깨닫고 있다.

 

현재 운영 자금은 상당히 낮은 수준이다.

마찬가지로 처음에는 큰 돈을 넣어야 겠다고 생각했지만 하면 할수록 시장이 무섭고 추가 입금이 어렵지만 확실한 것은 계속 리팩토링하면서 운영 금액을 늘여나갈 예정

 

앞으로의 계획은 코드 주석 달고 잘못된 부분 없나 다시 확인해본 다음 현재 전략과 보완적인 전략 운영에 대해 공부해보고 구현할 예정이다.

 

생각하고 있는 것은 좀 더 단기 추세적인 전략 또는 역추세 전략.

전략 추가로 1-2개 더 만들고 Robust하게 안정적으로 수익이 나오면 주식 시스템 트레이딩 만들 예정

 

일할 때는 쓸 일 없는 Git을 집에서 홀로 쓴다.

 

 

아예 새로 만든 프로젝트 

반응형
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글