트레이딩 회사와 헤지펀드의 퀀트 면접은 시간 압박 속에서 불확실성을 어떻게 추론하는지 봅니다. 대부분의 라운드는 확률 퍼즐, 기댓값 게임, 암산, 약간의 통계, 그리고 옵션이나 코드에 관한 몇 가지 질문이 섞여 있습니다. 아래에는 풀이가 포함된 퀀트 면접 질문 21개가 있습니다. 여기 나오는 모든 숫자는 게시하기 전에 정확한 계산이나 시뮬레이션으로 확인했습니다.
퀀트 면접에서 평가하는 것
| 라운드 | 어떤 모습인가 | 무엇을 평가하나 |
|---|---|---|
| 확률과 브레인티저 | 주사위, 동전, 카드, 조건부 확률 | 문제를 올바르게 설정하고 침착함을 유지하는지 |
| 기댓값과 베팅 | 게임을 할지, 멈출지, 베팅 규모를 정할지 결정하는 문제 | 계산뿐 아니라 의사결정 |
| 암산과 마켓 메이킹 | 빠른 산술, 양방향 가격 제시 | 속도, 그리고 틀렸을 때 어떻게 갱신하는지 |
| 통계 | 회귀, 상관관계, p-value, 과적합 | 데이터로 스스로를 속이지 않는지 |
| 금융 | 트레이딩 직무를 위한 옵션 기초 | 공식보다 직관 |
| 코딩 | Python 또는 C++, 짧은 문제 | 깔끔하고 올바른 코드 |
트레이더와 리서처 직무는 이 항목들의 비중이 다릅니다. 트레이딩 면접은 위의 처음 세 행에 무게를 둡니다. 리서치 면접은 통계와 코드에 더 많은 시간을 씁니다.
확률 질문
1. 주사위 두 개를 굴렸습니다. 합이 7일 확률은 얼마인가요?
동일하게 가능한 결과는 36가지이고, 그중 여섯 가지가 합 7이 됩니다: (1,6), (2,5), (3,4), (4,3), (5,2), (6,1). 확률은 6/36 = 1/6입니다.
자주 나오는 후속 질문은 합이 10 이상일 때입니다. 결과는 (4,6), (5,5), (6,4), (5,6), (6,5), (6,6)이며, 이것도 36가지 중 6가지이므로 1/6입니다.
2. 어떤 가족에게 자녀가 둘 있고, 적어도 한 명은 아들입니다. 둘 다 아들일 확률은 얼마인가요?
동일하게 가능한 경우를 나열하세요: 아들-아들, 아들-딸, 딸-아들, 딸-딸. '적어도 한 명은 아들'이면 딸-딸이 제외되어 세 가지 경우가 남습니다. 그중 하나가 아들-아들이므로 답은 1/3입니다.
면접관은 이 질문으로 1/2라고 성급하게 답하는지 봅니다. 질문이 '나이가 더 많은 아이가 아들이다'였다면 답은 1/2입니다. 아들-아들과 아들-딸만 남기 때문입니다.
3. 몬티 홀 문제: 바꾸는 것이 유리할까요?
문이 세 개 중 하나를 고릅니다. 자동차의 위치를 아는 사회자가 다른 문 하나를 열어 염소를 보여 주고, 바꿀 기회를 제안합니다. 바꾸세요. 처음 고른 문이 맞을 확률은 1/3이고, 사회자의 행동으로 그 확률이 달라지지는 않습니다. 나머지 2/3의 경우에는 자동차가 남은 문 뒤에 있습니다. 바꾸면 2/3의 확률로 이깁니다.
4. 방 안에 사람이 몇 명 있어야 두 사람의 생일이 같을 확률이 50%보다 클까요?
여사건을 이용하세요. n명 모두 생일이 다를 확률은 (365/365) × (364/365) × ... × ((365 − n + 1)/365)입니다. 22명이면 생일이 겹칠 확률이 47.6%이고, 23명이면 50.7%입니다. 답은 23명입니다.
5. 어떤 질병이 인구의 1%에게 있습니다. 검사는 실제 환자의 99%를 잡아내고, 5%는 거짓 양성이 나옵니다. 양성 판정을 받았습니다. 실제로 병에 걸렸을 확률은 얼마인가요?
10,000명을 기준으로 Bayes 정리를 사용하세요. 100명이 병에 걸렸고, 그중 99명이 양성입니다. 병이 없는 9,900명 중 5%인 495명이 어쨌든 양성이 나옵니다. 양성 594명 중 실제 환자는 99명입니다: 99/594 = 1/6, 약 16.7%입니다.
요점은, 드문 질환은 검사가 좋아도 대부분 거짓 양성을 만든다는 것입니다.
6. 카드 한 벌에서 다섯 장을 뽑았습니다. 에이스가 적어도 한 장 나올 확률은 얼마인가요?
여사건을 다시 쓰세요. 에이스가 없는 다섯 장 패는 C(48,5)가지이고, 전체는 C(52,5)가지입니다. 에이스가 없을 확률은 65.9%이므로, 적어도 한 장 나올 확률은 34.1%입니다.
7. 막대를 무작위 두 지점에서 부러뜨렸습니다. 세 조각이 삼각형을 이룰 확률은 얼마인가요?
세 길이가 삼각형을 이루려면 어떤 조각도 막대 길이의 절반보다 길면 안 됩니다. 확률은 1/4입니다. 간단한 논리는 이렇습니다. 특정한 한 조각이 절반을 넘을 확률은 1/4이고, 절반을 넘는 조각은 최대 하나뿐이며, 조각은 세 개입니다. 따라서 너무 긴 조각이 있을 확률은 3/4입니다.
기댓값 질문
8. 첫 앞면이 나올 때까지 동전을 몇 번 던질 것으로 기대하나요? 앞면이 두 번 연속 나올 때까지는요?
첫 앞면: 매번 던질 때 성공 확률이 1/2이므로 기대 횟수는 2입니다.
두 번 연속 앞면: 답을 E라고 합시다. 첫 번째가 뒷면이면(확률 1/2) 한 번 던졌고 처음부터 다시 시작합니다. 앞면 다음 뒷면이면(1/4) 두 번 던졌고 다시 시작합니다. 앞면 다음 앞면이면(1/4) 두 번 만에 끝납니다. 따라서 E = 1/2 × (1 + E) + 1/4 × (2 + E) + 1/4 × 2이고, 이를 풀면 E = 6입니다.
후속 질문: 앞면 다음 뒷면이 나오는 경우는 평균 4번만 던지면 됩니다. 첫 앞면이 나온 뒤에는 진행이 되돌아가지 않습니다. 앞면이 더 나와도 뒷면이 나올 때까지 기다리는 상태가 계속될 뿐입니다.
9. 주사위를 굴려서 여섯 면이 모두 나올 때까지 기대되는 던지기 횟수는 얼마인가요?
이것은 쿠폰 수집가 문제입니다. k개의 면을 본 뒤에 새로운 면이 나올 확률은 (6 − k)/6이므로, 기다리는 기대 횟수는 6/(6 − k)입니다. 모두 더하면 6/6 + 6/5 + 6/4 + 6/3 + 6/2 + 6/1 = 14.7번입니다.
10. 주사위를 굴려 나온 눈만큼 달러를 받습니다. 한 번 다시 던질 수 있습니다. 이 게임의 가치는 얼마인가요?
한 번 던졌을 때의 가치는 3.5입니다. 따라서 4, 5, 6이 나오면 유지하고, 1, 2, 3이 나오면 다시 던집니다. 절반의 경우 평균 5를 유지하고, 나머지 절반은 가치 3.5의 재던지기를 선택합니다: 0.5 × 5 + 0.5 × 3.5 = 4.25.
재던지기를 두 번 허용하면, 첫 던지기 후 게임의 가치는 4.25가 되므로 이제 5 또는 6만 유지합니다: (2/6) × 5.5 + (4/6) × 4.25 = 4.67.
11. 주사위 두 개 중 큰 눈의 기댓값은 얼마인가요?
최댓값이 k 이하인 경우는 36가지 결과 중 k²가지이므로, 최댓값이 정확히 k인 경우는 k² − (k − 1)² = 2k − 1가지입니다. 기댓값은 (1×1 + 2×3 + 3×5 + 4×7 + 5×9 + 6×11)/36 = 161/36이며, 약 4.47입니다.
12. 3달러를 가지고 있습니다. 매 라운드 공정한 동전 던지기로 1달러를 따거나 잃습니다. 0달러나 10달러가 되면 멈춥니다. 10달러에 도달할 확률은 얼마인가요?
공정한 게임에서는 기대 재산이 변하지 않으므로 10 × p + 0 × (1 − p) = 3이고, p = 3/10입니다.
후속 질문은 게임이 평균적으로 얼마나 오래 가는지입니다. 0과 N에 경계가 있고 k에서 시작하는 공정한 무작위 걸음에서, 기대 라운드 수는 k × (N − k) = 3 × 7 = 21입니다.
13. 동전이 60%의 확률로 앞면이 나오고, 맞히면 1:1로 받습니다. 매 라운드 자금의 몇 퍼센트를 걸어야 할까요?
전부 걸면 한 라운드의 기댓값은 최대가 되지만, 여러 라운드를 거치면 파산이 보장됩니다. Kelly 기준은 장기 성장률을 최대화합니다. 1:1 베팅의 경우 자금의 2p − 1을 걸라고 하며, 이는 2 × 0.6 − 1 = 20%입니다.
좋은 답변은 여기에 덧붙여, 실제 확률은 정확히 알 수 없고 과하게 베팅하면 비용이 크기 때문에 많은 트레이더가 Kelly보다 적게 베팅한다고 말합니다.
암산과 마켓 메이킹
14. 17 × 23은 얼마인가요?
구조를 찾아보세요. 17 × 23 = (20 − 3)(20 + 3) = 400 − 9 = 391입니다. 면접관은 방법이 있는지, 그리고 그 방법을 소리 내어 말하는지를 봅니다. 두 자리 곱셈, 분수를 소수로 바꾸기, 백분율 계산을 빠르게 할 수 있을 때까지 연습하세요.
15. 주사위 세 개의 합에 대해 시장을 만들어 보세요
매수 호가와 매도 호가를 요청받습니다. 기댓값부터 시작하세요: 3 × 3.5 = 10.5입니다. 주사위 하나의 표준편차는 약 1.71이고, 세 개의 경우 약 2.96이므로 중심 주변에 실제로 퍼짐이 있습니다.
적당한 호가는 매수 10, 매도 11입니다. 면접관이 11에 매수한다면, 면접관이 무엇을 알고 있을지 스스로에게 묻고, 다음 호가를 올리세요. 판단 기준은 합리적인 공정 가치 주변에서 빠르게 호가를 내는지, 호가 폭을 적당하게 유지하는지, 그리고 거래 후 첫 번째 숫자를 고집하지 않고 조정하는지입니다.
통계 질문
16. A와 B의 상관계수는 0.8이고, B와 C의 상관계수도 0.8입니다. A와 C의 상관계수는 얼마가 될 수 있나요?
반드시 높을 필요는 없습니다. 범위는 ρ(A,B) × ρ(B,C) ± √((1 − ρ(A,B)²)(1 − ρ(B,C)²))이며, 이는 0.64 ± 0.36입니다. 따라서 A와 C의 상관계수는 0.28에서 1 사이 어디든 될 수 있습니다.
17. 전략의 일일 평균 수익률은 0.05%이고, 일일 표준편차는 1%입니다. 연율화한 Sharpe 비율은 얼마인가요?
무위험 이자율을 무시하면, 일일 Sharpe 비율은 0.05/1 = 0.05입니다. 일별 수익률이 독립적이고 거래일이 252일이라고 가정하면, 평균은 시간에 비례하고 표준편차는 시간의 제곱근에 비례하므로 √252, 약 15.9를 곱합니다. 연율화 Sharpe 비율은 약 0.79입니다.
이 가정을 소리 내어 말하세요. 자기상관이 있는 수익률이라면 이 스케일링은 틀립니다.
18. p-value란 무엇이며, 왜 그렇게 많은 백테스트가 실제보다 좋아 보일까요?
p-value는 귀무가설이 참이라고 가정했을 때, 관찰한 결과만큼 또는 그보다 극단적인 결과가 나올 확률입니다. 가설이 참일 확률이 아닙니다.
백테스트가 지나치게 좋아 보이는 이유는 몇 가지입니다. 전략을 100개 검정하면, 우연만으로 5% 유의수준 검정을 통과하는 전략이 약 5개 나옵니다. 미래 정보 편향(lookahead bias)은 당시에는 이용할 수 없었던 정보를 사용합니다. 생존자 편향(survivorship bias)은 실패한 기업을 빼 버립니다. 그리고 평가에 쓴 것과 같은 데이터로 조정한 파라미터는 잡음에 맞춰집니다. 좋은 답변은 표본 외 검증, 시도 횟수 보정, 현실적인 거래 비용을 언급합니다.
옵션 질문
19. 풋콜 패리티란 무엇인가요?
배당을 지급하지 않는 주식의 유럽형 옵션에서, 같은 행사가 K와 만기 T를 가진 경우 C − P = S − K × e^(−rT)입니다. 콜에서 풋을 뺀 포지션은 만기에 주식을 보유하면서 행사가를 갚아야 하는 것과 같은 손익을 가집니다.
예: 주가는 100, 행사가는 100, 금리는 5%, 만기는 1년 후입니다. 행사가의 현재가치는 95.12입니다. 콜이 10.45에 거래된다면 풋은 10.45 − 100 + 95.12 = 5.57이어야 합니다. 다른 가격은 차익거래입니다.
20. 델타, 감마, 베가를 설명하세요
델타는 주가가 1 움직일 때 옵션 가격이 얼마나 움직이는지입니다. 콜의 델타는 0에서 1 사이입니다. 등가격 콜의 델타는 0.5 근처이며, 금리와 만기까지의 기간이 길수록 조금 더 높습니다. 위 예에서 변동성이 20%일 때 약 0.64입니다.
감마는 주가가 움직일 때 델타가 얼마나 빠르게 변하는지입니다. 만기가 가까운 등가격 옵션에서 가장 큽니다.
베가는 내재 변동성이 변할 때 가격이 얼마나 변하는지입니다. 변동성이 오르면 콜과 풋 모두 가치가 올라가며, 만기가 긴 옵션일수록 베가가 큽니다.
코딩 질문
21. 가격 시계열의 최대 낙폭을 반환하는 함수를 작성하세요
최대 낙폭은 고점에서 이후 저점까지의 가장 큰 하락폭을 고점에 대한 비율로 나타낸 것입니다. 지금까지의 최고가를 추적하고, 한 번의 순회로 그 고점에서 가장 큰 하락을 계산하세요.
def max_drawdown(prices):
peak = prices[0]
worst = 0.0
for p in prices:
if p > peak:
peak = p
drawdown = (peak - p) / peak
if drawdown > worst:
worst = drawdown
return worst
print(max_drawdown([100, 120, 90, 110, 80, 130])) # 0.3333333333333333
답은 33.3%이며, 120에서 80으로 떨어진 하락입니다. 이 함수는 O(n) 시간과 O(1) 추가 공간으로 동작합니다. 2,000개의 무작위 시계열에서 모든 날짜 쌍을 확인하는 무차별 대입 방식 버전과 비교해 테스트했습니다. 더 연습하려면 Python 면접 질문과 빅오 치트 시트를 참고하세요.
준비 방법
- 설정이 자동으로 떠오를 때까지 고전 문제를 반복하세요. 조건부 확률, 점화식으로 구하는 기댓값, 여사건 기법이 대상입니다.
- 몇 주 동안 매일 암산을 연습하세요. 여기서 속도는 훈련으로 좋아질 수 있습니다.
- 모든 문제를 소리 내어 풀어 보세요. 면접관은 추론 과정을 채점하며, 논리가 명확하면 답이 틀려도 좋은 평가를 받는 경우가 많습니다.
- 막혔을 때는 더 작은 경우로 풀어 보세요. 문 두 개, 주사위 두 개, 한 번만 부러뜨린 막대처럼요.
- 트레이딩 직무라면, 친구와 함께 마켓 메이킹을 연습하고 거래 후마다 호가를 갱신하세요.
- 자신의 이야기도 준비하세요. 회사들은 여전히 왜 트레이딩이나 리서치를 하려는지, 무엇을 만들어 왔는지 묻습니다. 자기소개 질문 가이드가 이 부분에 도움이 됩니다.
트레이딩 회사에 지원한다면 DRW 온라인 평가에 관한 메모도 참고하세요. 은행 직무라면 투자은행 면접 질문이 다른 주제를 다룹니다.
풀이 과정을 소리 내어 설명하는 연습을 해 보세요
YesToTheOffer가 답변을 텍스트로 받아 적어 설명의 어느 부분이 틀렸는지 검토할 수 있습니다. 스크린샷을 이용한 코딩 도움은 0.2배속. 30분 무료, 구독 없음.



