개인적으로 생각하는 시스템 트레이딩을 위한 작업량&난이도 비중이다.
데이터 수집(5%)
처음에 시작하면 데이터부터 모아야 한다. 시뮬레이션을 위한 각종 종목의 데이터들.
현물 주식을 거래하기 위해서는 주식 종목 리스트, 가격(일봉, 분봉), 상장폐지 현황, 액면분할 현황. 최소 이 정도는 확보해야 한다고 생각된다. 액면 변경 현황 대신 수정가격으로 데이터를 모으는 방법도 있으나, 단계가 나아가면서 결국 무수정 주가와 액면분할 현황을 함께 쓰는 것이 좋다. 가격데이터도 일단 분봉까지만 확보하면 어떻게 시뮬레이션은 가능하다. 이것도 단계가 나아가면서 체결데이터까지 모으면 더 좋다.
데이터는 그냥 모으면 된다. 대신증권 등 API를 이용해서 데이터를 요청&수신하고 자신의 DB에 저장하면 된다. 아무 난이도가 없이 그냥 언어를 공부하고, DB를 공부하고, API를 공부하고 실행하면 될 일이다. 다만, 시뮬레이션하기 적절한 DB구조는 경험을 하면서 계속 변경되기 때문에 십 수 번 데이터를 지우고 다시 받는 시행착오는 각오해야 한다.
시뮬레이션 툴 만들기(10%)
데이터를 모으면, 본인이 원하는 전략을 시뮬레이션하기 위한 시뮬레이션 툴을 만들어야 한다. 처음에는 굉장히 비효율적이고 느린 시뮬레이션 툴로 몇십 분에 걸쳐서 한 번의 전략을 테스트해 보겠다. 이것을 점점 개선시키고 효율적으로 만들어서 변수 1회당 시뮬레이션 시간을 단축시켜야 한다. 이 부분도 조금의 개발 지식을 가지고 머리를 열심히 굴리면 가능한 부분이다.
전략 개발(80%)
시스템 트레이딩의 대부분은 전략 개발이라고 해도 과언이 아니다. 많은 수의 입문자들이 이 지점에서, 수익이 나는 전략을 개발하지 못하고 접는다. 난이도를 어느 정도라고 설명하기도 어렵다. 너무 쉽게 전략을 만들어 낼 수도 있고, 하나의 전략을 만들려고 몇 년을 파기도 한다. 처음에는 어떻게든 우상향 하는 전략을 만들어 보기 위해 무리한 가정을 넣어보기도 하지만, 여러 시행착오를 겪으면 결국 제일 보수적으로 접근했을 때 수익이 나는 전략을 찾아야 한다는 것을 알게 된다. 그리고, 전략을 한 개만 개발해서 평생 놀고먹을 생각이라면 오산이다. 전략을 많을수록 좋아서 계속, 계속 개발하게 된다. 해도 해도 끝이 없는 작업이다.
매매프로그램 만들기(5%)
수익이 나는 전략을 개발했으면 실제 돌아가는 매매프로그램을 만들어야 한다. 이것도 그냥 하면 되는 아주 단순한 작업이다. 애초에 매매구현이 너무 어려운 전략이라면, 시뮬레이션도 아주 어려웠을 테니, 선행 작업을 했다면 그에 따른 매매프로그램 구현은 당연히 할 수 있다. 다만 시뮬레이션과 매매프로그램이 정확히 일치하는지 후행분석을 지속적으로 해줘야 하는데, 이 부분을 소홀히 하는 경우도 많이 봤다.
다른 곳에 시간을 낭비하지 말고 중요한 것에 집중해야 한다. 특히 개발자 출신 중에서 전략 개발보다는 예쁜 분석 툴 만드는데 시간을 쏟는 경우를 많이 봤다. 직업적인 강박 때문에 이해는 하지만. 중요한 것은 따로 있다. 그래서 많은 사람들이 개발자 출신이 트레이딩을 배우는 것보다, 트레이더가 프로그래밍을 배우는 것이 성공 확률이 높다고 말한다. 나는 트레이더 출신도 아니고, 개발자 출신도 아니지만.. 어떻게 밥은 먹고살아서 다행이다.
'System trading' 카테고리의 다른 글
수정주가 이슈 (0) | 2023.12.12 |
---|---|
최적주문집행 알고리즘 분석 (0) | 2023.09.13 |
남의 정보로 투자하기 (2) | 2023.07.12 |
영화 헝거(Hunger)를 보고 - 성공의 욕망 (1) | 2023.06.17 |
사업과 트레이딩 (0) | 2023.05.22 |