#經驗分享 美國量化研究 (Quant Research) 求職面試分享

**量化交易的介紹 or 美國財工 / 統計碩士的申請可以看我之前的文章  【前言】 留在美國做 Quant 是非常多在美國就讀 MFE 和其餘理工科系 (Math, Stats, CS, Physics, etc.) 同學的一個職涯目標, 不過這個圈子相對小且網路上也較難找到實用的資訊, 導致多數人眼中一直認為 Quant 是個高薪卻神祕的存在。剛好近期從 Yale 的 Quant Finance 碩士畢業, 也在畢業後順利地獲得美國一家 Hedge Funds 的 Quant Research Offer, 就將過程中遇到的一些面試題型和準備方向整理成一篇分享文, 希望給未來想要追求相同職涯的同學一些準備方向。   由於我一直以來做的都是研究 Alpha (Trading strategies) 的 Buy side Quant Research, 但單單一詞 Quant 的涵義非常廣泛, 有 Buy side / Sell side 之分; 有 Researcher / Trader / Developer; 有 Alpha / Risk / Portfolio / Pricing / Desk Support …, 我對其它方向只有略知一二並不熟悉, 因此這篇文只會著重討論 Alpha Buy side Quant Research。 若是不在乎工作內容而只是單純想要有 Quant title 的工作, 找工作難度大致上是:   Buy side > Sell side; Researcher > Developer / Trader; Alpha > Portfolio ≈ Desk Support > Risk  【相關背景學、經歷】 學歷: NCKU Bachelor in Stats (Double Major in Econ) Yale Master's in AM (Financial Mathematics) 工作經歷: Quantitative Research Off-Cycle Intern @Hedge Funds (大三學期間, 4 個月) Quantitative Research Off-Cycle Intern @Prop Trading Firm (大四學期間, 6 個月) Quantitative Researcher @Prop Trading Firm (大學畢業後 - 念碩士前, 1 年) 【建議背景】 理工科系。每間公司取向不同, 但大致都非常偏好 Stats 或 Physics 背景的 PhD。Researcher 並不像 Trader 一樣只需要好的大學 + 反應力好 + 速度快的 mental math 就能拿到面試, 由於這個職位接觸到交易最底層的 know-how, 需要較進階扎實的理論基礎 + 獨立研究的經驗才比較有機會受到 Hiring Managers 青睞 (MIT, Stanford 有拿過牌的本科生另當別論)。 可能很多人會有「是否一定要念 PhD 才有機會?」的疑問, 而我的答案是「不一定, 但要思考自己的優勢在哪, 自己真的值得公司放棄其他 PhD candidates 嗎?」。這個職位永遠都是僧多粥少且非常競爭, 1 間公司可能只有不到 5 個 headcounts, 卻在每一次招人時都能收到幾千甚至上萬封的申請, 其中多數申請者也都是來自各校的理工 PhD, HR 其實沒這麼多時間一個一個慢慢看, 有一堆 PhD 可以慢慢挑為甚麼要選一個 Master 呢? 從我的經驗來看, 我有面試到中後階段的競爭對手確實都是 PhD, 也有面到過一個 team 因為其中一人覺得我不是 PhD 就直接沒有興趣繼續面下去。 即便如此, 只要你過去的實習工作經驗非常相關 or 有直接可用的交易策略 + 前段的理工 Master, 還是有一些公司會願意給你一個面試的機會 (Ex. Two Sigma, Citadel 就有一群清北幫, 專收在美國念 Top MFE 的清華、北京大學學生)。 【面試大致流程】 1. Online Assessment (OA)  通常就分 3 大部分, 看公司喜好, 也有直接跳過 OA 直接開始面試。有些公司是有投就發, 有些是篩過 CV 才給, 全對不一定給過, 沒寫完也不一定不會過, 審核的標準很玄, 盡力做就好。 a). 數學、機率、統計多選題 b). Coding 2 ~ 3 題 (Leetcode medium ~ hard) c). 資料分析 (一些基本的時間序列資料處理 + Regression / Classification case) 2. Virtual interviews (非常多輪, 體感平均 6 輪) 全部都是 technical interviews, 不會有人花時間跟你 bullshit, 通常一進 Zoom 就直接開始考試, 頂多花個 3 分鐘簡短互相自我介紹, 時長多為 30 mins ~ 1 hour。面試涵蓋範圍極廣, 重要考點我會放在下一部份, 中間偶爾會穿插 1~2 關 Live coding 或是叫你回家做幾天的 Data projects。 3. Onsite / Final interview (一樣非常多輪, 體感平均 6 - 8 輪) 若是前幾輪很難, 通常最後一關不會特別刁難人。不過普遍會因為是最後一關 + 時間很多, 遇到的題型會更難更複雜, 可能會出那種需要花 2 小時慢慢跟你耗才能解出來的題目。 【面試著重考點】 題型主要圍繞在 Statistics, Machine Learning, Probability 上, CV 若有提到相關研究經驗就會深挖 (絕對不要在 CV 唬爛不然一定會自爆), 其餘範圍大到說也說不完, 考的方向也很隨機, 就大致給一些面試中常遇到的方向或關鍵字: - 統計學 Statistics a). 各式 Hypothesis tests 背後假設 & 使用時機, 解讀 P-value, Type-I error, Test power, False Positive, etc., Multiple comparison traps...等 b). Point / Interval estimation, Confidence Interval, Bootstrapping, Frequentist vs Bayesian c). Biasness, Efficiency, Consistency, Sufficiency d). Order statistics e). Statistical simulation. Ex. Random variable generation, Metropolis-Hastings, MCMC, Acceptance-Rejection - 機器學習 Machine Learning a). Linear / Logistic regression, Lasso, Ridge 原理、使用時機、實際會遇到的問題 + 解決方法、從矩陣和投影的角度去解釋...等 b). Bagging, Boosting, Classification, Clustering, NN 基本 Models 的底層原理 c). Data pre-processing, Outliers issues, Features engineering, Cross-Validation, Regularization techniques, etc.   d). Parameter estimation. Ex. Kalman-Filter, EM-algorithm, MLE, Backpropagation, Vanishing gradient issues, etc. e). Dimension reduction. Ex. PCA, Factor Analysis, Auto-encoder, etc. f). 如果有 LLMs 經驗可能會被問到 Sequential models, Self-attention, Transformers, etc.  - 機率 Probability a). Bayesian (鐵定考), Conjugate priors b). 各種機率分布的密度函數去解題目, Memoryless property, Exponential family, Moment generating function, etc. c). Multivariate normal 的各種變化, Multinomial d). Stochastic process 的 Markov chain, Martingale, Stochastic Calculus e). Central Limit Theorem - 線性代數 Linear Algebra Rank, SVD, Eigenvalue decompositions, Projection, (Positive) semidefinite, Structures, etc. - 演算法 Algorithms  幾乎都伴隨在 Live coding 後討論 Time complexity 的時候出現, 常見的是 Dynamic programming, DFS, BFS, Binary search, etc. - 資料結構 Data Structure 常見的 List, Array, Queue, Stack, Tree, Graph, etc. - 最佳化問題 Optimization 通常在解 Optimize portfolio weights 的問題會出現, 大致會碰到 Lagrange multiplier, Linear programming, Determinant of Hessian Matrix, Slack variables, etc. - 時間序列 Time Series Stationary, Random walk, Seasonal effect, ARMA, Heteroscedasticity, GARCH, etc. - 金融 Finance / Asset Pricing CAPM, Mean-Variance / Tangent portfolio, Efficient frontier, Fama–MacBeth regression, Black-Scholes Model, Factors exploration process, etc. - 物件導向程式設計 Object-oriented programming (OOP) 重要基本概念 - 資料庫 SQL 實務型的基本語法 【結語】 原先其實並沒有留在美國的打算, 想說念完書就繼續回台灣交易亞洲市場, 不過念書期間受到一些教授的啟發, 我也想要趁年輕時多嘗試不同類型的市場和交易風格, 思考了一陣子後才在畢業前決定開始投遞履歷。這次總共投了將近 60 間公司, 拿到 8 間面試, 3 間進到 Final, 最終只有 1 間給我 offer。 60 間公司裡有 40% 左右沒有開缺而是我主動詢問, 這些公司除了零星幾間有回復外多數都無疾而終。(由於個人過去經驗 & 喜好, 90% 是 Hedge funds, 幾乎沒有投 Market Making firms) 即便念碩士之前就已經有些許經驗, 面了一整趟下來後我只能說拿到面試和拿到 offer 的距離真的非常遙遠, 面試的過程基本上就是「一連串不斷的內耗和自我懷疑」。從頭面到 Final 至少都要經歷 3 ~ 4 個月, 10 幾輪的面試裡各類題型花樣百出, 每次題目沒有想法解不出來或是解題過程表現得很遲緩時, 都會在面試後不斷地懷疑自己是不是智商過低還是反應速度太慢。 不過轉個念想, 有些題目確實難到對工作內容完全沒幫助, 現實生活中也沒人在乎各種花式丟骰子的機率是多少, 很多複雜的題目也確實不需要手算直接給程式模擬就好。 若是真的遇到了也只能認命, 至少在面試當下努力地把自己的思路解釋給面試官並盡可能地解到後面, 有時候面試官本來就不期待面試者能解出來, 他們要看的只是面試者的思路和解決問題的方法。如果全力以赴後失敗也別氣餒, 人生中遇到一些挫折很正常, 這世界上本來就沒有人是完美的, 我只能建議把這些失敗的經驗累積起來, 好好地精進自己後再去面對下一間的面試。 希望這篇文章能夠幫助到有志往 Quant 方向發展的人, 有任何問題可以再問我, 在有限的能力下我會盡量回答!
Like
249
49