- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date 19/07/10 10:48:58수정됨
Name   굴러간다
Subject   퀀트는 어떤 일을 하고, 그 수준은 어느 정도인가
다른 게시판의 무슨 글인가에 댓글을 달다가, 이게 너무 길어져서 아예 별도의 글로 올립니다.

원래 댓글 달던 게시물의 주소는 https://redtea.kr/pb/pb.php?id=news&no=15927#77848 입니다.
(제목 : 독일 최대은행 도이체방크, 2만 명 감원 계획)

=========================================

제가 금융 쪽을 그만 둔 게 꽤 오래 전이라, 아래의 제 답변에 틀린 부분이 있을 수 있습니다. (이 쪽 현업들이 보시면 틀린 곳이 많을 수도 있습니다. 지적해 주세요. 흑흑... )

1. 머신러닝을 접목하려는 시도 자체는 계속 있었던 걸로 압니다만, 그 성과 자체는 아직 그리 크지 않은 걸로 압니다. 이유는...

2.1 일단 과거 데이터로부터 무엇인가 유의미한 (또는 유의미할 것으로 추정되는) 패턴을 추출해 내고, 이를 다시 과거 데이터를 통해 검증한 후, 실전에 도입하는 방식은 머신러닝 이전에도 계속 사용되어 온 유구하면서도 좋은 방법이죠. 그러다보니, 이 분야에서 `시도해 볼만한 방법론`은 이미 다 시도된 상태이며, 심지어는 `그럴싸한 아이디어` 수준의 각종 방법론조차 애저녁에 다 시도된지 오래라 보시면 됩니다. 그리고 그 중 괜찮은 방법론들은 당연히 실전에서 괜찮은 수익률로 그 가치를 증명해 왔고요. 멀리 갈 필요도 없이, 르네상스 테크놀러지에서 운용하는 펀드가 다 이런 기법으로 굴러가는 것들입니다. 박사들을 마구 갈아넣어서 오만 가지 현상에서 각종 알고리즘을 뽑아내서는, 수없이 시뮬레이션하고 검증하는 거죠.

2.2 10~20년 전에야 미국 (정확히는 월가)의 벌지 브래킷에서 쓰던 기법들이 `최신`이었죠. `이야... 이런 걸 잘도 생각해 내는구나` 싶은 기법들과 아이디어가 많았던 것도 사실입니다. 뭐, 리먼 브러더스를 한 방에 보내버리고 전세계를 금융공황으로 몰아넣어던 2008년 금융위기도 그 시작이 MBS, ABS, CDS였다는 건 잘 아실거고, 그게 무어 그리 대단한 아이디어냐고 하면 저도 할 말은 없습니다만, 어쨌거나 중요한 건 그런 신종 상품에 실제로 가격과 신용등급을 매겨서 시장에 내다 팔았다는 사실 그 자체, 그리고 그걸 소위 선진금융사에서 해냈다는 사실 그 자체니까요. 제가 근무하던 컨설팅펌의 상해 오피스에서 일할 때, 심지어는 뉴욕이나 런던 오피스에서도 아직 적용 안 된 기법들을 순수 중국인들이 개발해서 써먹는 걸 보면서 두려웠던 경험도 있었고요. 그 당시만 해도, 금융공학이라는 분야는 일종의 금광 비슷한 느낌이었어요. 진짜 금광에서야 운이 중요하겠지만, 금융공학이라는 금광에서는 실력만 있으면 누구라도 노다지를 찾을 수 있다는.

그런데 이젠 그런 시절은 갔습니다. 인간의 머리로 시도할 수 있는 기법이란 기법은 이미 다 해 봤고, 더 이상 깜짤 놀랄 아이디어가 나올 구석이 없거든요. 물론 기존 기법의 소소한 개량이나 캘리브레이션은 지금도 계속 됩니다만. 여하튼 상황이 그렇습니다. 이런 상황에서 머신러닝을 갖다 붙인다 해도, 사람이 미처 발견하지 못한 혁신적인 기법은 안 나올 겁니다.

2.2.1 이건 알파고가 이세돌을 이김으로써 생긴 자연스러운 질문, 즉 `인간으로서는 판단이나 계산이 불가능하다고 여겨왔던 분야에서조차, 어쨌거나 인공지능은 그걸 해 낼 수 있는 것 아닌가?` 라는 질문과는 궤가 다른 것이라 봅니다. 이유는 이렇습니다.
- 인간은 그런 부분을 `감`, 또는 바둑 용어로는 `세`란 것으로 판단하면서 커버해 왔습니다. 경험에 의한 경험칙으로 말이죠. 알파고가 가져 온 충격은, 사실은 그게 계산 가능한 부분이었다는 점도 있습니다.
- 바둑과는 달리, `돈 놓고 돈 먹는` 금융업에서는 `이해가 안 된다. 그러니 모르겠다`고 하는 태도보다는 `이해는 안 되는데, 돈이 벌리니까 믿을란다`는 게 지배적인 태도입니다. 어찌보면 양자역학에 대한 물리학자들의 태도와도 비슷하죠.
- 여하튼, 사람이 만들든 머신러닝을 통한 인공지능이 만들든, 금융 쪽에서는 수익률만 입증되면 닥치고 그걸 써 왔고, 개량도 해 왔습니다. 앞에 설명한 르네상스 테크놀러지가 그런 회사의 대표격이죠.
- 알파고는 인간과 인공지능의 싸움이었지만, 금융공학 알고리즘은 한 번 개발되고 나면 결국 인공지능과 인공지능간 경쟁이 됩니다.

2.3 여기에 관리감독 기관의 규제도 있습니다. 비판하는 쪽에서는 어차피 짜고치는 고스톱 아니냐고까지 말하지만, 여하튼 표면적으로나마 2008년 금융 위기 이전보다 관리감독 기관의 입김이 세진 건 사실이고, 옛날처럼 하이리스크 기법을 마구 쓸 수 있는 상황도 아니고요. 이것 또한 새로운 방법론(과 이에 따른 수익)을 적극적으로 추구하기 어려운 이유 중 하나죠.

2.4 금융공학에서 알고리즘의 혁신성이 덜 중요하게 된 다른 이유는 별로 언급되지 않더군요. 바로 IT의 발전입니다.

컴퓨팅 파워가 지금처럼 강력한 상황에서는, 최고의 효율성을 갖는 알고리즘을 개발할 동인이 약해지죠. 무슨 얘기냐면, 기존의 알고리즘의 효율에 비해 100% 강력한, 그러니까 두 배의 효율성을 갖는 알고리즘을 개발하려면 아마 기발한 아이디어가 일단 있어야 할 겁니다. 아니, 그냥 열 배 강력한 알고리즘이라 해 보죠. 예를 들어, 시간 복잡도를 무지막지하게 개선해서 O(2^n)를 O(n^x)로 변환하는 정도의 알고리즘이라 쳐 보자고요. 장담컨대, 이런 알고리즘을 개발하는 건 꽤 많은 인력과 돈을 박아야 할 거고, 그러고도 성공 가능성은 장담컨대 5% 미만일 겁니다 (에르디쉬나 노이만 정도의 굇수를 투입한다면 가능할지도. ㅎㅎ). 그래도 예전에는 이런 시도가 있었습니다. 컴퓨팅 파워를 늘리는 게 너무 비쌌거든요. 컴퓨팅 파워를 두 배 늘리면 비용은 대략 세 배 정도 오르는 게 보통이었습니다. 요즘은 이렇게 안 해요. 그냥 예전에 쓰던 모델을 그대로 AWS 같은 곳에 올려서 돌려버리면 됩니다. 알고리즘이 좀 구려? 그럼 하드웨어빨로 커버치지! 뭐, 이런 개념이랄까요.

2.4.1 실제 있었던 예입니다. 10년 정도 전, 국내 어떤 금융사의 리스크 관리 프로젝트에서 계산 서버를 구축하는데 3억 정도가 들어갔어요. 근데 그 사양이라는 게 64코어 제온, 64GB 램, 4TB 하드, 뭐 이런 거였습니다. 물론 멀티코어용 윈도우도 따로 샀고, 계산용 소프트웨어 값도 포함된 가격입니다만, 여하튼 당시로서는 꽤 비싸게 주고 산 `강력한` 물건이었죠. 근데 요즘은...? 단 돈 400만원이면 28코어 제온, 64GB 램, 2,500Mbps/s 급의 4TB SSD를 장착한 PC를 살 수 있습니다. 컴퓨팅 파워? 2019년의 개인용 PC가 예전의 그 제온 서버보다 열 배는 더 빠를걸요. (SSD가 이렇게 무섭습니다. ㅎㅎㅎ) (참고로 저는 개인용 노트북에 32GB 램과 기업용으로 나오는 1TB SSD를 씁니다. 물론 노트북이 허용하는 최대 업그레이드죠)

개인용 PC가 10년 전의 기업용 서버를 성능과 가격에서 떡실신시키고 남을 정도로 하드웨어발 컴퓨팅 파워 증강이 진행 중인 판이니, 굳이 알고리즘을 개발/개선할 필요는 줄어들고 있는 게 사실이란 얘깁니다. 그리고 이와는 별도로, 지금까지 개발된 알고리즘들만 해도 충분히 좋은 것들이 많고요. 우리는 아마 이론상 100점 짜리 알고리즘을 발견하지 못할 수도 있겠지만, 그래도 지금까지 찾아 낸 99점이나 97점짜리 알고리즘만 갖고도 어느 정도는 충분히 만족할 수 있다는 얘깁니다. (물론 수학자들은 여기에 동의하지 않을 겁니다만. ㅎㅎ)

2.5 마지막으로, 기존 모델들의 안정화도 중요한 이유 중 하나입니다. 블랙 스완이라 할 수 있는 2008년 금융 위기와 그 이후의 자질구레한 여러 여진들 (예를 들자면 유로존의 PIGS 사태라든지, 브렉시트라든지...)이 역설적으로 기존 금융 모델들의 안정화와 캘리브레이션에 크게 기여했죠. 파생상품 모델을 예로 들자면, 어차피 가격책정모델pricing model의 구조는 크게 몇 가지로 나눌 수 있고, 각 모델들의 큰 뼈대는 수십 년 동안 변화가 없습니다. 다만 세부 요인들, 예를 들어 이자율 모델을 어떤 걸로 쓸 것인가, 특정 이자율 모델에서 이 변수는 어떻게 설정할 것인가... 따위가 좀 더 상세해지고 안정적이 되어 왔던 거죠.

어쨌거나, 금융공학이란 게 나온 지 이미 수십 년이 되어가는데, 그 동안 개발된 많은 모델들과 알고리즘들은 수십 년 동안 축적된 과거 데이터와 여러 예외적인 상황을 통해 역검증되면서 도태되고... 하는 과정을 거쳐 왔습니다. 그리고 그 결과 지금까지 사용되는 모델들은 상당 수준의 안정화를 이루었고, 이제는 충분히 그 효용성을 인정받고 있습니다. 이 또한 뭔가 혁신적인 것을 만들어낼 필요를 줄이는 상황이죠. 그리고 이런 모델들은 예전처럼 일부 소수의 퀀트나 벌지 브래킷의 전유물이 아니라, 어느 정도 사이즈가 되는 전세계 금융회사들이 다들 쓰고 있는 형편입니다.

3. 그래서 결론이 뭐냐... 퀀트가 파생상품의 가격 책정을 통해 큰 돈을 버는 시대는 이제 지났어요. 실제로 탑티어 IB인 골드만삭스나 모건스탠리의 데스크 퀀트조차도, 굳이 새로운 모델에 목매지 않습니다. 그냥 누군가 요청하면 기존 모델의 변수만 살짝 바꿔서 프로그램만 돌릴 뿐이죠. 즉, 이건 좀 이상한 얘기긴 한데, 퀀트는 `편하고 돈 잘 버는` 직업이 되어가고 있습니다.

3.1 하지만 개나소나 퀀트를 할 수 있다는 얘기는 아닙니다. 사실 데스크 퀀트가 되는 건 예전보다 더 어려워졌다고 봐도 됩니다. 정확히 말하자면, 퀀트가 되기 위해서는 쩔게 금융공학 공부하고 쩔게 코딩도 해야 합니다만, 일단 퀀트가 되고 나면 그냥 편한 직장인으로 살게 되더라, 는 겁니다. :)

4. 에이, 무슨 개소리여... 내가 아는/본 퀀트들은 안 그렇던데...? 라고 하실 분이 있을 것 같은데, 사실 가장 중요한 건 `퀀트는 어떤 사람인가?`라는 걸 미리 정하는 겁니다. 개인적으로 제가 가장 좋아하는 정의는 `공정 가격을 책정하는 사람`입니다만, 아마 대개는 사람들마다 다른 정의를 갖고 있겠죠. 이 글에서 제가 퀀트라 지칭하는 사람들은 `IB 정도의 회사에서 파생상품의 가격을 매기는 사람` 정도의 정의입니다.

5. 이제 제가 아는 한에서 lifer님의 질문에 답을 드리자면;
- 퀀트들이 regression, collaborative filtering 정도만 쓰는 경우는 실제 꽤 있을 겁니다. 그런데 이건 퀀트들의 실력이 없어서가 아니라, 그 이상이 필요하지 않아서인 상황이어서, 가 옳은 이유일 겁니다. 그리고 `regression`이라는 명칭은 여전히 동일하지만, 그 세부 내용이나 기술적 측면에서는 10년 전보다 지금이 더 어렵고 발전했을 가능성이 큽니다. 큰 줄기는 동일하겠지만요.
- 소프트웨어 엔지니어들, 소위 말하는 코더들, 중 일부는 정말로 아무런 금융공학 지식이 없습니다. 이건 맞습니다. 그냥 진짜 퀀트가 개발하거나 수정해 낸 알고리즘을 해당 소프트웨어로 구현하기만 하는 거죠.
- 다만 모든 코더들이 그렇지는 않습니다. 당연히 금융공학적 지식을 갖고 있으면 결과물의 질이 달라지기도 하니까요. 그래서 탑 티어 IB에서 일하는 코더 중 상당수는 경제학이나 금융공학을 컴공과 복수 전공으로 한 사람들입니다. 어차피 이런 회사들은 자기네들의 높은 기준을 충족하는 지원자가 올 때까지 몇 년씩 신규/경력 채용 없이 부서를 운영하기도 합니다. (얼마 전 들었던 얘긴데, 미국에서 탑 스쿨을 복수전공으로 졸업하고도 탑 티어 IB에 떨어질 뻔 했던 누군가가, 자신의 깃허브Github 스코어를 인증하고는 최종 합격했다는 경우도 있더군요)
(깃허브에서는 남에게 도움을 줄 경우, 포인트를 받을 수 있습니다. 이게 누적되면 자신의 실력이나 경력을 증명할 수 있는 거죠. 그런데 그 정도로 포인트를 모으는 게 쉽진 않습니다)
- 퀀트들이 C, C++에 몰빵하던 이유는, 한마디로 속도 때문입니다. 그래서 그 거지 같은 어레이array 따위를 참아가면서도 C, C++을 버릴 수가 없었던 거죠. 근데 요즘엔 궂이 그렇지도 않은 듯 싶더군요. 제가 본 퀀트 중에서는 MATLAB으로만 코딩하는 사람도 있었습니다. 요즘은 모르겠네요. 파이썬을 쓰는 사람도 아마 있을 겁니다. (아무리 그래도 설마 자바는 없겠지...? :))
- 예전에는 해외 선진사의 퀀트와 국내 회사의 퀀트 사이에 실력차가 분명 있었습니다. 그래서 lifer님이 들으신 바가 사실일 수도 있습니다. 예전이라면요. 근데 중요한 건, 실제 현업에서 사용하는 게 그 정도라 해서, 그 직업을 갖기 위해 필요한 수준이나, 현재 그 직업에 종사하는 사람들이 실제로 구현할 수 있는 수준까지 그 정도일 거라는 건, 아마 사실이 아닐 거란 얘깁니다. 다만 굳이 그렇게 빡시게 할 필요가 없으니까 안 하는 거고, 그래서 그닥 어렵거나 대단해 보이지 않는 것일 가능성이 있습니다. 특히 요즘처럼 선진사나 국내나 예전만큼 실력 차이가 크게 안 나는 상황이라면요.

6. 마지막으로 다시 언급하지만, `퀀트`의 정의는 사람마다 다르고, 따라서 `내가 생각하는 퀀트`가 `네가 생각하는 퀀트`와 다른 종류의 사람일 가능성이 높습니다. 예를 들어보죠.
- 상황 : 장기 금융 상품에 포함된 금융공학적 옵션의 적정 가격을 책정한다. (예: 30년 만기 변액보험의 만기원금보증 옵션의 적정가격은?)
- 해결 방법
1) 해당 금융 상품 (XX생명보험의 `아빠 힘내세요 가족사랑 변액보험`)의 상품 구조를 완벽히 이해하고,
2) 해당 상품의 자산 모델과 부채 모델을 별도로 구현한 후,
3) 이자율 모델, 인플레이션 모델, 보험가입자 행동 모델, 사망율 모델, 투자 수익률 모델 등을 별도로 구현하고,
4) 3)의 각 세부 모델을 2)의 자산 및 부채 모델에 각각 연동시키고,
5) 정해진 방법론 (결정론적 또는 확률론적)에 따라 시뮬레이션한다.
6) 이를 위해 계산 서버 (운영서버 및 테스트 서버)를 구축하고, 이를 기간계나 정보계에 연동시킨다
- 추가 고려 사항
1) 모델링 포인트를 샘플링으로 할지, 전수로 할지
2) 시뮬레이션 방법론은 무엇으로 할지
3) 각 모델의 상세 변수는 어떻게 설정할지

위의 상황에서 이 모든 것들을 다 파악하고 실제 진행하는 사람도 퀀트일 수 있고, 개별적인 항목 하나만을 하는 사람도 퀀트일 수 있다는 얘깁니다. 그리고 저는 그 중 어느 정의라도 다 맞다고 봅니다. 다만 전자는 아무래도 경력과 실력이 더 높겠죠. :)

6.1 흔히 말하는 소프트웨어 코딩을 전혀 못하는 사람도 퀀트라 할 수 있을까요? 저는 그렇게 봅니다.
금융공학 쪽에서 사용하는 소프트웨어는 다양합니다. 개중엔 한 사용자당 연간 몇 만불씩 받는 것들도 있죠. 당연히 이런 비싼 전용 소프트웨어 말고, 범용 프로그램을 사용하는 사람들도 많습니다. 대표적인 게 MS Excel이죠.
저는 나름대로 Excel을 조금은 쓸 줄 안다고 생각합니다만, 아마 한국 최고의 Excel 실력자들은 삼성생명이나 삼성화재에 있지 않을까 싶습니다. 이런 곳에서 일하는 (특히 경력 좀 되신) 보험계리사들 중에서는 코딩은 전혀 못하지만, 전용 소프트웨어에서 구현될 모델들을 Excel로 동등하게 구현하는 분들이 많거든요. 그래서 금융상품 (특히 변액보험처럼 금융공학적인 요인을 포함하는 상품)에 대한 적정가격을 Excel만으로도 훌륭히 계산해 내곤 합니다. 이런 분들은 퀀트일까요 아닐까요? 저는 그렇다고 보는 쪽입니다.



25
  • 유익보스
  • 좋은 글엔 추천이죠


목록
번호 제목 이름 날짜 조회 추천
공지 티타임 게시판 이용 규정 2 Toby 15/06/19 14621 5
9450 게임팔왕의 난과 칠보시 저퀴 19/07/18 100 0
9449 일상/생각우울함 직시하기 7 Xayide 19/07/17 363 12
9448 기타삼성전자 빈화그룹 에칭가스로 수입선 다변화 8 그저그런 19/07/17 567 0
9447 의료/건강문득 생각난 약국 이야기 6 켈로그김 19/07/17 362 5
9446 스포츠[사이클] 2019 TDF Stage 10 - 눈 뜨고 코 베인다 1 AGuyWithGlasses 19/07/17 88 0
9445 음악조지마이클 일화 한대목 8 tannenbaum 19/07/17 354 5
9444 일상/생각개인적인 기록 그저그런 19/07/17 223 3
9443 일상/생각수신의 어려움 6 化神 19/07/16 388 13
9442 스포츠[사이클][스압주의] 2019 Tour de France Stage 8 Review - 대활극 4 AGuyWithGlasses 19/07/16 101 3
9441 기타중고차와 ESP 12 굴러간다 19/07/16 391 9
9440 음악천막 아래의 서커스 7 바나나코우 19/07/16 213 2
9438 사회삼성은 역시 삼성인가보다 20 굴러간다 19/07/15 1245 13
9437 오프모임광주)벙개는 벙개불에~!! 금일 오후 8시 영미오리탕 술한잔!! 20 tannenbaum 19/07/14 657 5
9436 음악[클래식] 라벨 물의 유희 Ravel - Jeux d'eau 6 ElectricSheep 19/07/14 145 4
9435 일상/생각군대에서 주먹질한 썰 31 기아트윈스 19/07/13 1132 21
9434 일상/생각심용환의 근현대사 똑바로 보기 4 우디르 19/07/12 381 0
9433 음악하루 한곡 055. 전영호 - Butterfly 1 하늘깃 19/07/12 97 0
9432 일상/생각극단주의 7 OSDRYD 19/07/12 647 4
9430 스포츠[MLB] 류현진 올스타전 김치찌개 19/07/12 216 0
9428 의료/건강문득 생각난 파스 고르는 팁 18 켈로그김 19/07/11 694 19
9427 음악하루 한곡 054. KOTOKO - 覚えてていいよ 하늘깃 19/07/11 98 0
9426 일상/생각기억... 5 o happy dagger 19/07/11 385 28
9425 요리/음식캐러맬 화 양파와 울고싶은 날엔 5 바나나코우 19/07/11 410 1
9424 일상/생각금식, 금주, 금욕 마친 후기 2 Xayide 19/07/11 455 5
목록 이전 다음

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글