Phillip Park
퓨쳐리즘 전략 개발 문화
제가 알고리즘 트레이딩을 시작하면서 가장 먼저 겪은 문제는 기술적 진입장벽이었습니다. 떠오르는 아이디어가 있어도 바로 테스트하고 실행해보기 어려워 수차례 포기를 반복했었는데요. 저는 대학 시절을 통째로 반납하며 관련 기술을 모두 터득하고 전략을 돌리기 시작했습니다. 하지만, 결국 수익으로 이어지는 전략을 개발하지 못해 또 한 번 절망에 빠졌었습니다.
사실 위의 사례는 철저히 개발자인 저의 관점에서 서술한 알고리즘 트레이딩의 진입 장벽입니다.
반대로 트레이더의 관점에서의 진입 장벽은 바로 기술과 개발입니다. 돈을 버는 전략이 시장에 많이 보여도 이를 일일이 손으로 매매할 수 없기 때문에 답답할 겁니다.
그래서 퓨쳐리즘은 트레이더와 개발자가 힘을 합쳐 시장에서 안정적이면서도 높은 수익률을 낼 수 있는 전략을 함께 찾고, 토론하며, 개발하고 있습니다. 이렇게 하면 부족한 부분을 상호 보완해주며 더 우수한 전략을 쉽고 빠르게 개발할 수 있다고 믿습니다.
판교 사무실 떠나기 직전 어수선한 모습. 30인 사무실에서 8명이 머물렀는데, 정말 천국이었습니다. 👍
개발팀 온보딩 과정
알고리즘 트레이딩에서 성공하려면 금융 지식뿐만 아니라 테크놀로지에 대한 센스 또한 필수 역량입니다. 퓨쳐리즘의 개발팀은 이를 인지하고 회사 운용 시스템에 기여하기 위한 필수 역량을 3개월간의 온보딩 과정을 통해서 쌓으려고 노력하고 있습니다.
이번에 처음으로 온보딩 프로세스를 적용해보며 아래 3가지 영역의 경험을 쌓는 것이 매우 중요하다는 것을 알게 되었습니다.
- 데이터
- 백테스팅
- 실매매
첫째, 시장 데이터를 눈으로 관찰하며 수익화할 수 있는 알파를 발견합니다.
둘째, 백테스팅을 통해서 과거에 어떤 전략이 수익으로 이어지는지 리서치합니다.
그리고 마지막으로, 리서치를 통해 발견한 전략을 자동으로 투자하는 매매 엔진을 개발합니다.
수년간의 자동 매매 시스템 개발 노하우를 토대로 알고리즘 트레이딩에 대한 재미를 느낄 수 있도록 발전시켜주는 것을 목표로 하고 있으며, 이는 자연스럽게 성과로 이어져 커리어 성장도 함께 누릴 수 있을 겁니다.
첫째달 - 데이터의 달
온보딩 기간의 시작입니다. 당장 전략 개발에 뛰어들고 싶은 마음을 충분히 이해하지만, 너무 빨리 목표를 이루면 재미없지 않을까요? 😉 고생 끝에 얻은 성공이 더 달콤한 법입니다.
사실, 그런 깊은 뜻보다는 알고리즘 트레이딩도 결국 데이터 사이언스를 금융에 적용한 것이기 때문에 데이터보다 중요한 것은 없습니다. 금융 데이터는 시장의 역사이며, 저희는 데이터를 보고 시장의 비효율성을 발견하고, 반복되는 패턴을 발견하여 매매에 적용해봅니다.
여기서 핵심이 되는 것은 한눈에 시장의 상황을 파악할 수 있는 모니터링 시스템을 개발하는 것입니다. 온보딩 기간 첫째 달에는:
- 시장의 여러 엣지를 실시간으로 스트리밍 받으면서
- Charting할 수 있는 시스템을 개발하게 될 겁니다.
또, 퓨쳐리즘은 엑셀을 적극적으로 활용하고 있습니다. 실시간 데이터를 엑셀로 export하여 프로그래밍을 모르는 사람도 쉽게 시장을 모니터링할 수 있는 수단을 마련하고 있습니다. 이는 https://futurism.oopy.io/data 에서 확인할 수 있습니다.
둘째달 - 백테스팅의 달
퀀트, 데이터 사이언티스트들의 특징이 있습니다. 데이터만 보고 있으면 몸이 근질거려서 참을 수 없습니다. 퀀트가 타 데이터 사이언스 영역과 다른 점은 중요 인사이트는 바로 수익으로 이어진다는 점입니다.
온보딩 둘째 달부터는 본격적으로 돈을 버는 전략을 찾기 위한 여정을 떠날 겁니다. 전략 개발 과정에서 가장 신나는 부분입니다.
하지만, 금융 데이터는 시계열 데이터이기 때문에 통계적 우위를 테스트하는 과정을 매우 조심스럽게 설계해야 합니다. 잘못하면 수많은 bias로 인해서 overfitting 현상을 피할 수 없으며, 이에 따라서 테스트한 결과가 실매매로 이어지지 못하는 경우가 많습니다.
이를 해소하고자, 퓨쳐리즘에서는 다양한 백테스팅 방식을 통해서 stress test를 진행하고, 우리가 발견한 전략이 실제 시장에서도 살아남을 수 있을지에 대한 판단을 할 수 있는 기준에 대한 연구를 활발히 하고 있습니다.
2개월 차로 진행하게 될 예시 프로젝트를 나열하면:
- Pandas DataFrame을 활용한 백테스팅,
- Numpy Array를 활용한 백테스팅,
- Parallel, Distributed, GPU 컴퓨팅을 활용한 백테스팅 속도 최적화,
- 틱데이터 기반의 백테스팅 환경,
- Maker, Taker 주문을 simulate할 수 있는 호가 데이터 기반 백테스팅 환경
구축이 있습니다.
셋째달 - 실매매의 달
마지막은 실매매 엔진을 개발하는 기간입니다. 이 부분이 바로 알고리즘 트레이딩의 꽃입니다. 🌼
아무리 데이터를 많이 보고 테스트를 많이 진행해도 실매매는 항상 다릅니다. 시장의 상황은 매 순간 변하고 있으며 이에 맞서 싸워 이기는 전략을 개발하는 게 퓨쳐리즘 뿐만 아니라 모든 알고리즘 트레이딩 회사의 최종 목표입니다.
온보딩 기간의 마지막 달에는 앞서 연구한 엣지, 전략을 실제로 매매하는 엔진을 트레이딩팀과 함께 개발하게 될 겁니다.
퓨쳐리즘은 파이썬, C#을 활용하여 개발하고 있습니다. 초단타매매나 차익거래와 같은 퍼포먼스가 중요한 전략은 C#을 사용하고, 퍼포먼스보다는 빠른 개발이 요구되는 전략은 모두 파이썬으로 개발하고 있습니다.
온보딩 기간 이후
온보딩 기간 이후에는 퓨쳐리즘 팀의 중요한 개발 팀원으로서 더 많은 알파를 찾고, 백테스팅하고, 실매매로 이어가는 프로세스를 반복하게 될 겁니다.
아직 부족한 게 많은 퓨쳐리즘의 개발팀이지만, 하나둘 자리를 잡아가는 것 같아 기분이 좋습니다 :) 앞으로 회사에 합류하게 될 여러분을 기다리며 저는 어떻게 하면 퓨쳐리즘 팀원에게 더 많은 경험과 성과를 이룰 수 있는 발판을 마련할 수 있을지 끊임없이 고민해보려 합니다.
👉 Come and check out our service @ https://futurism.finance
퓨쳐리즘
크립토 알고리즘 트레이딩 서비스