brunch

You can make anything
by writing

- C.S.Lewis -

by 권용진 Apr 05. 2016

금융 데이터를 요리하다

퀀트 트레이더의 하루

깔끔한 수트
유리로 된 회의장
블랙베리 수화기로 들리는 긴박한 협상


흔히 미디어에서 표현하는 금융권 사람들의 일상이다. 실제로 많은 사람들이 분주하게 일하면서 숨 가쁜 일상을 보내기도 한다. 클릭 한 번에 큰 돈이 움직이는 트레이딩 부서는 장 중에는 언제나 긴장이 감돈다. 평화로운 듯이 악수를 하고 있는 인수 협상 회의실에서는 상대의 의중을 읽기 위해 바쁘게 눈을 움직인다.


금융 업무는 굉장히 다양하지만 대부분은 기본적으로 커뮤니케이션 중심의 업무, 즉 영업이다. 고객에게 직접 상품을 파는 것도, 딜을 성사시키기 위해 협상을 하는 것도, 심지어 사내에서 새로운 프로젝트를 제안하는 과정 모두 사람과 사람 사이에서 이루어지는 영업이라고 볼 수 있다. 투자은행에서 일하던 시절, 실적 중심 부서인 트레이딩팀에서조차 적은 실적을 큰 프로젝트로 연결시키는 정치 능력이 굉장히 많은 부분을 차지했다. 때문에 금융권 채용 공고에 커뮤니케이션 스킬이 빠지는 경우는 거의 없다.


JP Morgan의 신입 채용 공고, 커뮤니케이션 스킬이 포함되어있다



하지만 퀀트의 일상은 다른 금융계 사람들과는 사뭇 다르다. 데스크 퀀트냐 리스크 퀀트냐 퀀트 트레이더냐에 따라(이들의 차이는 추후 설명하겠다) 약간 다르겠지만, 그들의 하루는 새로운 기술이나 이론을 찾아 떠나는 연구원과 비슷하다. 그래서 주로 사람과 씨름하기보다는 데이터와 씨름하게 된다.


시스템(퀀트) 트레이딩은 레스토랑 창업과 비슷하다


예전에 함께 일했던 한국인 퀀트 트레이더 분과 커피를 마시다 해주신 말씀이었다. 굉장히 인상 깊었던 표현이었다. 퀀트 트레이더로서 업무가 어떻게 진행이 되는지 궁금해하는 사람이 많아 레스토랑 창업에 비유하여 소개해보려 한다.


최근에 생긴 Pokeworks. 작은 음식점임에도 줄이 1시간 넘게 늘어져있는 날이 많다.



브레인 스토밍 - 아이디어 정하기


레스토랑을 창업하려면 먼저 아이디어가 필요하다. 어떤류의 음식을 만들 것인가? 어떤 레시피를 사용할 것인가? 고급 음식인가 길거리 음식인가? 마찬가지로 처음엔 트레이딩을 할 전략 아이디어가 필요하다. 아이디어는 기존의 전략을 살짝 고칠 수도 있고, 트레이딩 했던 결과에서 패턴을 발굴할 수도 있다. 또한 각종 논문이나 포럼에서 소개한 전략들을 조합하거나 변형시켜서 사용할 때도 있다. 최근에는 데이터 마이닝을 이용해서 아이디어를 발굴할 때도 있다.


예를 들어, 옥수수 가격과 날씨가 밀접한 관계가 있다는 논문을 읽고 나서 이를 이용한 전략을 세울 수도 있다. 완전히 새로운 이론은 아니지만, 떡볶이 집이 이미 있다고 떡볶이 집 차리지 말라는 법 없지 않은가?



Weather Trends 라는 기업에서는 2016년에 날씨 리스크 때문에 옥수수 가격이 상승할 것이라 예측했다.


데이터 다듬기 - 좋은 재료 선정, 다듬기


아이디어를 정했다면 이를 구현시킬 재료가 필요하다. 음식에서 재료가 차지하는 비중은 굉장하다. 좋은 재료를 구하고 이를 잘 다듬는 작업은 레스토랑에서 가장 중요한 과정 중 하나이다. 현대에는 하루에도 엄청난 양의 데이터가 수집되고 축적된다. 이 데이터 중에서 원하는 데이터를 추출해서 원하는 형태로 다듬는 기술은 생각보다 굉장히 어렵다. 다른 소스에서 가져온 다양한 데이터를 같은 형태로 맞추고 규격화시키는 작업은 퀀트가 가장 많이 시간을 보내는 단계이다. 시간이 뒤죽박죽인 데이터를 1분 단위로 맞춰준다던지, 시차가 나는 데이터를 그리니치 표준 시로 맞춘다던지, 두개 이상의 데이터 세트를 하나로 합쳐주고 중복 데이터를 없애는 등의 작업을 말한다. 또한 상한 재료를 걸러내듯, 오류나 잘 못 기록된 데이터를 필터링해줘서 없애주는 작업도 꼭 필요하다. 대형 투자은행에서는 데이터 애널리스트, 데이터 관리자 등의 이름으로 이 작업만 전문적으로 하는 직업도 있다.


시카고 선물 거래소에서 즉석으로 받아온 일별 옥수수 선물 가격. 가장 쉽게 이용하는 콤마 구분 파일(CSV)이다. JSON이나 XML형식도 지원한다.


하지만 주로 아이디어를 가진 사람이 직접 데이터를 다루는 편이 좋은데, 그 이유는 그때 그때 원하는 데이터가 바뀌었을 때 이를 매번 다른 사람이나 부서에게 요청하면 오랜 시간이 걸리기 때문이다. 그래서 스크립팅 언어인 SQL, Python, R, awk 등등을 익혀서 직접 데이터 관리에 사용하곤 한다.


옥수수 선물처럼 어느 정도 규격화된 데이터는 쉬운 편이지만, 날씨 데이터처럼 도무지 어디서부터 손을 대야 할지 모르는 방대한 데이터는 더욱 어려운 문제다. 


미국 기상청에서 받은 옥수수의 고장 일리노이의 샴페인의 날씨 데이터. 온도, 습도 등은 물론 토지 기온, 바람 등 복잡하다.



방대한 데이터인 경우 데이터를 간략화시켜줘야 하는데, 주성분 분석(PCA)이나 필터링, 요인 분석(Factor Analysis)과 같은 통계적 기법을 통해서 사용하기 쉬운 데이터로 만들어주는 것이 일반적이다. 이는 퀀트 분야뿐만 아니라 기계학습이나 빅데이터 분야에서도 좋은 결과를 위해 필수적인 코스다.



분석 -  재료 연구


자 이제 재료가 모였다. 이제 주어진 재료로 다양한 방식으로 조리를 해본다. 기온과 옥수수 가격과의 상관관계를 그래프로 나타내기도 하고, 시간대별로 어떤 움직임을 보이는지 만들어본다. 기온과 옥수수가 음(-)의 상관관계를 가진다면 온도가 떨어질수록 옥수수 가격이 오른다는 뜻이다. 만약 오전보다 오후에 기온이 떨어진다면 옥수수 가격이 예상보다 더 떨어질 수도 있다. 기온뿐만 아니라 습도와도 관계가 있을 수도 있다. 옥수수의 가격 추이와 수요와 공급에 따라 날씨의 영향이 세질 수도, 약해질 수도 있다. 이런 다양한 요소를 분석해서 정리를 한다. Python의 Pandas나 R, Matlab, 엑셀 등등 다양한 툴을 이용해서 그래프나 스프레드 시트로 표현을 한다.


Python Pandas를 이용하면 데이터 분석을 쉽게 그래픽으로 표현 할 수 있다.


원하는 결과가 나오지 않는 다면 데이터 자체를 다시 다듬는 경우도 있다. 데이터가 어떤 식으로 표현되어있냐에 따라서 분석 결과가 완전히 달라질 수도 있기 때문이다.



전략 만들기 - 구체적인 레시피 만들기


재료 연구가 끝났다면 구체적인 레시피를 만들 차례이다. 소금과 설탕을 몇 스푼 넣을지, 불의 세기는 어느 정도로 할지 등등을 정한다. 마찬가지로 데이터 분석을 마쳤다면 이를 토대로 구체적인 전략을 짜기 시작한다. 전략은 주로 알고리즘과 같은 형태로 이루어진다. 이때 여러 가지 수치를 조절하면서 구체적인 전략의 모습을 보이기 시작한다.


간단하게 즉석해서 만들어 본 옥수수 트레이딩 전략


매우 간단히 만들었지만, 실제론 다양한 수학 모델과 논리 연산이 포함된 경우가 많다. 실제로는 전략을 한 번에 만드는 경우는 거의 없고 끊임없는 테스트를 통해서 여러 가지 조건을 추가시키거나 변화시킨다.



백테스팅 시뮬레이션 - 조리 및 맛보기


좋은 조리기구는 조리 결과를 좌우하기도 한다.


모든 준비가 끝났다. 이제 실제로 요리를 조리하고 먹어 볼 시간이다. 이렇게 만든 전략을 고도로 비슷하게 구현한 모의 시장 시스템에서 테스트를 시작한다. 과거의 데이터를 가지고 테스트를 하기 때문에 백(Back) + 테스트(Test)를 합쳐서 백테스트라고 한다. 이 백테스트 시스템이 얼마나 철저하게 구현되어있느냐에 따라 실제 시장과 비슷한 결과를 보여준다. 마치 조리기구가 좋을수록 같은 재료와 레시피로도 좋은 요리가 나오는 것과 비슷하다. 최상급 헤지펀드들은 로우 레벨 시스템 프로그래머들을 이용해서 다양한 상황을 이식할 수 있는 백테스팅 시스템을 만들어서 사용하고 있다. 최근에는 퀀트들의 아이디어가 비슷비슷하기 때문에 고도의 백테스팅 시스템을 만들 줄 아는 엔지니어의 가치가 점점 더 높아지고 있다. 나도 인턴 시절 처음 했던 프로젝트가 백테스팅 시스템을 동시처리 버전으로 바꾸는 것이었다.



만족시키는 맛이 나올 때 까지는 많은 노력이 필요하다


백테스트를 하면 결과로 수익률이 얼마나 되는지, 어느 날 얼마를 잃고 어느 날 얼마를 벌었는지와 같은 정보가 나온다. 이를 토대로 기존의 전략을 수정하거나 교체하면서 최적의 수익률을 찾을 때까지 반복한다. 이 단계에서 원하는 수익률이 나올 때까지 적게는 하루 이틀, 길게는 몇 년까지도 걸린다. 헤지펀드마다 수익률 커트라인을 정한 경우도 많기 때문에 정해진 수익률에 못 미칠 경우에는 끊임없이 조건이나 인자를 바꿔서 백테스팅을 반복한다. 경우에 따라선 모델이나 가설 자체를 바꾸기도 한다.





프로덕션 - 레스토랑 개업


시뮬레이션과 실전은 다르다


백테스트 상으로 일정 수익률을 기록했다면 드디어 실제로 거래를 시작할 때이다. 수없이 백테스트를 했지만 모의와 실전은 천지차이이다. 프로덕션 과정은 마치 레스토랑을 어디에 열지, 영업시간은 언제로 할지, 좌석을 몇 석이나 둘지 등을 정하는 것과 비슷하다. 어느 거래소에서 거래를 할지, 어느 정도 규모로 할지 등을 정해야 한다. 그 이후에 다양한 수수료와 규제 등을 고려해서 거래소와 계약을 하고 거래를 시작한다. 뭐든지 순조롭게 되는 백테스트와 다르게 장 중에 다양한 사건 사고들이 일어나고 예기치 못한 뉴스와 버그로 고생을 하게 된다. 또한 나의 거래로 인해 시장 상황 또한 변하기 때문에 분석을 하는 와중에도 나의 프로그램이 정상적으로 작동하는지 모니터링을 해줘야 한다. 물론 모니터링만 전문적으로 하는 사람을 두는 경우도 있다. 어떤 경우에는 장의 상황에 따라서 인자를 조절해 줘야 하는 전략도 있다. 이런 경우에는 종종 지켜보며 조절을 해줘야 한다. 



다시 분석으로 - 리뷰 및 평가


정신없는 영업시간을 마치고 나면 결과를 다시 복기해본다. 어떤 거래가 있었는지, 이 조건은 실제로 잘 작동하는지 등을 확인하고 다시 전략을 수정하거나 이를 이용해서 새로운 전략을 발굴한다. 옥수수가 잘 작동하였다면 그다음은 감자를 이용해서도 비슷한 전략을 구사할 수도 있을 것이다.


대부분의 퀀트 트레이더들은 새로운 전략 발굴보다 기존 전략 관리에 훨씬 더 많은 시간을 보낸다. 시시각각 변하는 트렌드를 맞추기 위해선 끊임없이 업그레이드를 해주고 반영해야 하기 때문이다.







퀀트에 대한 지식이 상향 평준화되고 진입 장벽이 많이 낮아졌지만 여전히 학석사 보다는 박사 인력을 선호하는 이유는 아마도 이러한 연구 능력이 검증되어 있고 연구가 익숙하기 때문일 것이다. 학부나 석사 공부는 주로 답이 있는 주제를 공부하지만, 연구는 주로 답이 없는 주제를 가지고 자신만의 결과를 도출해야 하기 때문이다.


내가 일하는 곳은 출근을 하면 시끌벅적한 다른 회사들과 달리 사람들이 조용히 모니터를 응시하며 타자를 치는 경우가 많다. 결과가 뜻대로 나오지 않을 때는 커피를 들고 테라스에 나가서 30분씩 명상을 하고 오는 사람도 있다. 일해보진 않았지만 아마도 연구소가 비슷한 분위기이지 않을까 싶다. 동료나 상사에게 막힌 부분을 물어보거나 토론을 하기도 하지만 대부분 모두 자신이 해보지 않은 부분은 그들 역시 잘 모른다. 결국 주로 나 자신과의 싸움이 되는 경우가 많다.


우리 회사에서는 자신이 만든 전략에 이름을 붙이곤 한다. 어떤 사람은 '판다', 어떤 사람은 '글라스', 어떤 사람은 '카르마'. 나는 디즈니를 좋아해서 첫 전략은 '엘사' 두 번째 전략은 '지니'로 명명했다. 3호점의 이름은 아직 정하지 않았다. 대박이 날지 어떨지 잘 모르겠다. 오늘도 재료들을 지켜볼 뿐이다.

매거진의 이전글 월가에서 일한다고? - 1

매거진 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari