行业入门|量化分析,一个工作语言是Python和Chinese的行业
Offer帮官网:offerbang.io
量化分析一个工作语言是Python和Chinese的行业
什么是Quant
Quant的工作就是通过编程设计来实现金融的数学模型,有点类似码农和金融狗的结合体,也被戏称为“矿工”。Quant其实是很多量化(Quantitative)有关的职位的统称,包括数据处理(Data Processing),衍生品定价(Derivative Pricing),风险管理(Risk Management)和投资策略(Investment Strategy)等等。
很多和数据, 建模有关的职位都可以叫自已Quant。不过大家通常所说的Quant,也是这里主要介绍的,是指卖方(Sell Side)投行和买方(Buy Side)资产管理的Quantitative Researcher和Quantitative Developer。
Quant里的五花八门
Sell-Side Quant
卖方投行的Quant主要做衍生品定价,风险管理, Beta Strategy等等,大致分为以下几类:
Desk Quant
在有的银行也叫Strats或者Desk Strategist。Desk Quant,顾名思义,就是在交易组(Trading Desk),帮助交易员做一些日常常用的工具,包括定价(Pricing),风险对冲(Hedging),Beta Strategy有关的工具/操作界面/电子表格(Tool/Dashboard/Spreadsheet)。Desk Quant对编程能力有一定要求,但是不会特别复杂,有些会涉及到一些前端的语言,比如Javascript。由于Desk上对时效的要求比较高,很多时候都是用Model原型修改一下马上投入使用。
Desk Quant的优势在于直接坐在Trading Desk上,平时和交易员的接触比较多,也会直接接触市场。缺点在于工作时间比较长,且压力大。由于工作是直接辅助交易员,工作内容就由交易员需求决定,如果需要做很多Dashboard,可能就会比较无趣。
值得注意的是,随着现在金融机构自动化程度的提高,一些简单产品的交易已经可以由Quant算法执行,比如简单的Equity或者FX的做市(Market Making),程序和算法已经可以直接取代交易员, 所以这些Quant自己就是前台(Front Desk)了,所以薪酬和对市场的接触会比一般的Desk Quant更好一些。
Front Office Research Quant
Research Quant 的工作主要是一些相对长期的项目,一般包括产品定价和风险管理的模型或者长期策略研究等等。比如Desk根据客户的需要,要交易新的产品,那这些复杂的产品如何定价、之后的风险参数如何监控就需要Quant进行研究并指导负责实施的Developer编入系统。
Research Quant的优势是比较有趣(当然是对喜欢这些人来说), 会用到一些比较深度的统计模型(Statistical Modeling), 机器学习(Machine Learning)的技术方法,可以做一些 “真正” 的研究,并且可以学到很多东西。劣势是有时存在感可能会比较难以证明 (就像科学家一样, 在你一鸣惊人之前,可能没有什么人注意到你) ,而且Trading Desk一般常用的模型短期的偏多,长期的比较少,很多研究成果不一定能产生直接的收益。
Mid-Office Quant
相对于Front Office Quant,Mid Office Quant不直接辅助某个特定的Trading Desk,而是服务于其他中台(Middle Office)的部门,比如Market Risk Quant, Chief Investment Office Quant等等。优势是比较稳定,也算是个小金饭碗。工作内容也一般以长期的项目为主,工作时间比较自由,Life Style也会比较好,缺点是和市场的联系相对远一点。
Quant Developer
在模型开发出来之后,需要有人进行实际操作(Implementation),建立基础框架(Develop Infrastructure),通俗的说就是把这些模型写到系统里来实现功能,本质还是Developer。优点是靠技术吃饭,收入一般不错而且需求比较稳定;缺点是可能一直在写代码, 或者调试其他人的大型系统。
Buy-Side Quant
买方的Quant和卖方大致相同,也是分为Quant Developer和Quant Researcher。
Quant Developer
主要是实际执行策略(Implement Strategy),建立框架(Develop Infrastructure),和卖方比较类似,在此就不赘述了。
Quant Researcher
由于买方和卖方的功能不同,Quant Researcher在买方主要寻找Alpha (超出市场平均水平的收益)和预测市场变化,通过研究数据寻找一些自动交易策略。具体可以参见Asset Management里面的Quant。
做Quant的优点
有挑战 & 学习新东西
随着聪明的中国人快速包围Quant行业,工作竞争越来越激烈。一个优秀的Quant经常要在高压下独立研究,解决复杂的问题、完成任务,非常具有挑战性,而且可以锻炼独立学习的能力。Quant工作涵盖的范围也会很广,包括研究,数学模型的开发和部署,数据分析,金融知识等等,所以可以学到很多东西。
对金融机构的各个部门都有一定接触
Desk Quant和Front Office Quant Researcher需要支持Sales & Trading Desk,对培养市场的了解是很有帮助的。另外,在做出研究之后,Quant在很多项目中和Tech,风险管理等部门的接触也非常多,所以作为一个Quant,可以对银行系统有一个全面的认识,对培养自己的Project Management Skills也很有帮助。
收入不错 & 一般比较稳定
Quant 无论是从脑力挑战上还是报酬方面都是非常具有吸引力的。由于Quant工作本身很有挑战性,对各种技能的要求都比较高,Quant的薪酬一般都是很不错的。一般研究生或者PhD毕业之后在银行/投行里可以直接做Associate。第一年的总收入几乎都可以达到六位数以上,这对刚毕业参加工作的同学们来说还是非常有吸引力的。
买方Quant的薪酬往往会更好, Starting Package (基本工资 + 第一年保底年终奖 + 签约奖) 可能高达$200K,甚至更多。
必备技能/适合人群
软技能(Soft Skills)的话主要是解决问题和沟通的能力。很多人开玩笑说Quant需要会的语言是Python和中文。没错,我们勤劳勇敢的中国人目前已经占据了Quant界的大半壁江山,但对于沟通和解决问题的能力仍然不可小视。
沟通的话最重要的就是了解一个Project或者Trader的需求,明白要解决的问题。对于一个优秀的Quant,在明确需求之后要有大量的时间独立思考、研究、解决问题,这个过程中就需要对金融、编程、数学统计建模等等,十八般武艺,样样精通。
说到十八般武艺,到底有哪些呢?如果你想做Quant,这也正是你需要准备的Technical,下面如何为入行做准备的小节会为你细细讲来哦!
未来发展路径
大多数的Quant一般都是在同一领域内,随着工作经验的增加,一般每过三四年左右的时间可以从Associate升职成VP,ED。还有些卖方Quant在工作几年,对所在行业有了充分了解之后会跳去买方。
如果是经常接触交易的Quant,在工作过程中可以对市场有比较多的了解,如果对交易比较感兴趣的话将来跳去做Sales & Trading也是有机会的。
除此之外,因为Quant对编程的要求很高,有的Quant积攒了几年的经验之后,培养出了出色的编程能力,跳去了Tech行业。
大多数Quant的工作时间都不会特别长,也不会要求周末加班,因此从压力和薪酬综合考量的话Quant的性价比还是很高的。另外,因为Quant需要的硬技能(Hard Skills)很多,相对Sales & Trading等一些起伏比较大的职位, Quant也更稳定一些。
薪酬、工作时长
薪酬水平
矿工的收入还是很不错的。对于顶级投行(Bulge Bracket Investment Bank)来说,刚入职的起薪一般在$125K到$140K不等,之后逐年递增。年终奖(Bonus)根据公司和工作性质差别还是不小的,偏前台的职位可能会达到30%-50%,偏实际执行类(Implementation)的相对少一点,不同的组根据每年的业绩差别也有很大的区别。有的银行对刚毕业的学生还有$40K-$50K的签约奖(Signing Bonus)。
工作时长
Quant的工作时间其实还是很不错的。如果是Desk Quant可能工作时间会长一些,需要每天七点半到晚上六七点。如果是不直接接触交易的Quant,每天八点半九点上班,到晚上六点左右下班就可以了。而且周末一般不需要加班。
常见公司
由于Quant的定义比较广,任何沾上量化和金融的工作理论上都可以称为Quant,所以拥有“矿工”岗位的公司也不在少数。总体来说,Quant会出没于以下几个类别的公司。
商业银行
总体来说,在商业银行Quant相关的职位都是偏向风险管理的,例如信用风险模型(Credit Modeling),CCAR Compliance等。这类工作的特点是比较稳定,也不需要有极强的Technical Skills,但是相对于买方的Quant来说薪酬没有那么高。这类的公司有CITI Bank,PNC Bank, Capital One等等。
投资银行
相比于商业银行的Quant职位,投资银行的“矿工们”的工作时间会长一些,相对没有那么稳定,当然薪酬也会有所提升。投行里的Quant职位涉及面很广,有和交易定价相关的,有和建模估值相关的,也有和风险管理相关的。这类公司有JP Morgan, Bank of America, Morgan Stanley等。
对冲基金
身处于金融行业鄙视链最顶端的对冲基金也不乏有Quant的身影,尤其是量化类(Quantitative Funds)的基金里Quant尤其多。在对冲基金工作的“矿工”时间上虽然相对灵活一些,但工作量比较繁重,压力也比较大。如果业绩好的话,收入可以冲破天际,但要是一直亏钱的话,老板随时可能让你卷铺盖走人。这类的公司有D.E. Shaw, Two Sigma,Renaissance Technology等。
自营交易公司(Prop Shops)
在Prop Shops工作的Quant和对冲基金非常的类似,工作累,但是有实力的人有机会赚大钱。而且由于自营交易公司都是用公司自己的资金来进行交易,所以理论上收入的潜力会更大(压力也更大)。这类的公司有Optiver, Hudson River Trading,Akuna Capital等。
申请流程、时间线
申请流程
Quant申请和其他很多金融方面的职位比较类似。
对于实习生的申请。一般的大行都会对Target School金融/金融工程方面的硕士以及STEM专业的PhD项目有校招的活动。感兴趣的同学可以通过校招申请, 也可以在网上提交你的简历。有一份Draft简历之后,一定要记得去找一些有经验的人来帮你修改(例如学校的Career Center,同学或者目标公司的员工;Offer帮的简历完善计划也会有专业的招聘官来帮你逐行逐句修改简历)。
简历通过筛选之后一般会有一轮在线的编程测试。接下来就是一轮电话面试,如果表现出色的话会被邀请到公司来进行Superday。这时候一般会有两三个组的七八个面试官对你进行全方位的考察,每轮面试一般在30-45分钟,这个过程会持续一天时间。Superday也是一个双方相互考察的过程,如果有好几个组的面试官对你感兴趣,你可以在这几个组里面选一个来进行实习。
申请时间
Fulltime的申请就没有这么程序化了,一般是通过网申或者猎头来推荐,也可以通过自己Networking。差不多按下图所示:
如何为入行做准备
由于Quant是门技术活,因此Technical是重中之重,具体包括下面几部分:
编程能力
可以说,对于Quant/矿工而言,如何强调编程能力都不过分,尤其是在买方,当然卖方对编程要求也不低。Quant使用的主要编程语言包括Python, C++, Matlab, C#, R, Java以及 Scala。
近年有许多码农都走上了Quant这条路。尽管对码农而言在Tech公司工作可能有更好的基本收入,但是除非码农有很吸引人的Package,否则优秀矿工的收入常常有更高的潜力。当然,这完全取决于你的能力。
数学 & 统计 – 概率 微积分 线性代数
统计和传统的时间序列分析,虽然已经不是很多量化对冲基金或投行最看重的技能了,但对于资管公司和还是相当重要。很多团队都要从事一些数据清洗和建立交易的Infrastructure的工作。时间序列分析和计量经济学在这里可以派上用场。当时间尺度放大的时候,这些技术仍然十分有效。
随机分析、金融工程和基本的金融知识
尽管现在Quant越来越看重编程和机器学习相关的技能,但金融工程/随机分析对于很多岗位仍是必备技能。现在在金融工程(MFE)项目求学的人越来越多,所以竞争十分激烈,并且和你比拼的都是我们聪明能干的中国小伙伴。所以并不是说有了MFE的文凭就能找到Quant Trader的工作,想要脱颖而出,一定要有自己的特点或者绝招。
Risk Quant和Model Validation Quant的工作机会有很多。而这一类工作对随机分析和衍生品模型仍然有着较高的要求。如果你想做Quant,也可以关注Model Validation或者风控/风险管理方面工作的准备,而不要仅仅专注于Quant Trader。
Excel,VBA和数据库技能
并不是所有的Quant都要处理复杂的模型,以及用C++写程序。现在有些入门级Quant职位要求员工会做数据清理。一些量不大,对速度要求不高的工作,如单个衍生品的定价,用Excel就可以完成。熟练掌握Excel和VBA技能会大大提高工作效率,所以也因此被雇主所看重。数据库技能则是另一个加分项,一般的要求是SQL,如果你会使用Pandas的话,也会非常加分。
机器学习
Statistical Machine Learning and Deep Learning
机器学习无疑是现在最火热的话题之一,在金融数据分析中,机器学习有重要的应用。对矿工的雇主而言,机器学习可以说是最有吸引力的技能之一。除了传统的机器学习之外,深度学习的重要性因其预测的有效性越来越得到认可。
量化对冲基金对机器学习和深度学习的研究和应用早已开始。例如Kernel模型,树模型和回归等机器学习方法已经得到了广泛应用。由于近几年机器学习的飞速发展,各大金融公司也纷纷加大了对机器学习和数据科学(Data Science)方向的投入,想要用机器学习模型取代传统的金融模型。因此,如果你有相关的知识,能够对一些常用的工具有基本的了解,对面试以及之后的实际工作都是很有帮助的。
综上所述,相信大家从Quant需要的技能可以看出,Quant比较适合对建模和编程比较感兴趣的同学。Quant每天至少有50%-60%的时间都花在编程和建模上,如果对编程完全没有兴趣,Quant可能并不是一个很合适的选择。
面试考点解析
Behavioral Questions的准备
Quant的面试准备主要是以Technical为主。当然Behavioral也不能忽视, 很多时候面试都是以“Tell Me about Yourself”这类问题开始的,最起码要做到语言通顺流畅,给面试官留下一个良好的第一印象。
Technical Questions的准备
1. 基本的算法和数据结构
了解一些基本的算法和数据结构,比如:
· Sorting/Order Statistics
· Greedy
· Dynamical Programming
· Stack/Queue/Priority Queue
· Binary Tree
· Hash Table/Set and Map in C++
· Graphs (Usually Not Necessary)
可以通过LeetCode和TopCoder进行准备。下面是比较推荐看的一本书:
2. Programming
有一门熟练掌握的语言即可。推荐 Python,部分对运行速度要求高的工作(以前台为主)会对C++有要求。
面试题可以刷Leetcode Interview Questions。数学题可以参考Project Euler 。此外TopCoder上有Coding Competition,可以用来估计自己的水平。
3. 概率统计
熟悉基本的概率分布和他们的性质,了解Goodness of Fit, Confidence Interval, Central Limit Theorem, Linear Regression, 等等。以下两本书推荐大家看一下:
4. Machine Learning
推荐下面两本书:
· The Elements of Statistical Learning or An Introduction to Statistical Learning: with Applications in R
· Coursera Deeplearning.AI with Andrew Ng and Machine Learning Course @ Stanford
5. 金融和交易
了解什么是Trading and Exchanges Book自己开户,试着做实际交易。
在线算法交易平台有:
· Quantopian in Python
· Quantconnect in C# (也有Python)
6. Brain Teaser
刷一下面试书和Brain Teaser也是必不可少的,推荐以下三本书:
想做Quant工作,需要系统梳理数理、金融、编程Technical知识点,科学刷题,了解各类考点难点易错点,理清解题思路。即使在面试高压环境下,也要学会自如应对。祝大家早日拿到心仪Offer!
微信扫码关注该文公众号作者