After finishing my studies at the University of Warwick I decided to start looking for jobs in the Financial sector with the aim of becoming a Quantitative Analyst (a.k.a. a Quant).
So, I moved to London, applied for lots of positions, attended career events, sent my resume to lots and lots of people, and had many interviews. Finally, in June 2016 I got my first job and I have been working as a quant since then.
One of the hardest part of this process was not knowing exactly what to expect or how to prepare for the interviews. Frankly speaking, I did not know much about what Quants actually did. This is why I want to share some insight with students who may find themselves in a similar position.
🔮 Types of Quants
You may know that there are many types of Quants. They do different things and therefore require different skill sets. Let’s start by discussing what these types are.
- Front Office/Desk Quants/Algorithmic Trading
They implement pricing models, analytics, and algorithms directly used for trading (either by traditional traders or algo-traders) and sales.
These quants develop models to work out the prices of assets on the markets and manage them: what to buy at and what to sell at, etc. The calculations they make also help to provide guidance on risk management and support the traders in the development of their risk strategies. They are also busy on the investment/business development side of things, using their mathematical and statistical techniques to spot potential new investment opportunities.
- Risk Management
Risk quants belong to the middle office and focus on one or more risk areas such as Market, Counterparty, Wholesale, or Liquidity Risk. Quants in this area produce analytics on the different kinds of risk and communicate their findings to risk managers. They also own the regulatory capital calculations and internal risk management measures.
- Model Validation
Independently review and implement pricing/risk models in order to assess their soundness and quantify its limitations. This kind of job is great to learn about many different models in a short period of time.
- 👨💼 👩💼 Researcher
As the name indicates, the job involves conducting research to solve problems that arise within the bank (e.g. creating pricing models for new products, improving simulation models, developing new trading algorithms, etc.) These are the most suitable positions for those who love mathematical modelling. It is also an ideal way to get a smooth transition from academia to finance. These jobs usually require a basic to intermediate level of coding.
- 👨💻 👩💻 Developer
Again, as the name indicates this kind of job is all about developing work. This includes, implementation and maintenance of mathematical models. Note that most of the time this involves working on libraries that already exist and were developed by other developers (so you have to be good at reading and understanding code). These jobs also may involve process automation (e.g., moving a process from 100 spreadsheets to a web application). This option is perfect for those who love coding and developing new tools. Unsurprisingly, these jobs usually require a high level of coding in one or more programming languages.
Hard Skills to become a quant can be classified in three areas: Maths, Statistics, and Programming. Next is a list of concepts that would give you a good foundation for the interviews. This list is definitely not exhaustive but if you are familiar with all these concepts, you will be in a good path to pass your interviews.
Please keep in mind that you don’t need to be an expert on everything. Having some knowledge on the basics of each topic is enough to start your career. Once you start in your new position you can focus on strengthening the areas that you use the most on your everyday activities.
Besides, every interview will focus on different aspects of these areas depending on the requirements of the job. This is why it is very important to read carefully the job description and tailor your preparation accordingly.
🧮 Maths and Statistics
- Probability Theory and Statistics
- Basic Distributions (Normal, Log-Normal, t-Student, Bernoulli, Binomial, Exponential, Poisson, etc.)
- Basic Probability Concepts such as Expectation, Variance, Standard Deviation, Covariance, Correlation, Quantiles (many people in banks prefer to call them percentiles), CDF, PDF, etc.
- Law of Large Numbers
- Central Limit Theorem
- Matrix Decompositions
- Principal Component Analysis (PCA)
- Stochastic Processes
- Brownian Motion/Wiener Process
- Geometric Brownian Motion Solving the GBM equation is a very common question for junior quants interviews.
- Orstein-Uhlenbeck I got this SDE in a couple of interviews as well.
- Ito’s Formula (Mainly to calculate expectations and solve SDEs)
- Black-Scholes Model in terms of SDEs
- Girsanov Theorem Most likely you will need to use this result for a Change of numéraire.
- Forward Measure (also called T-measure)
- Black-Scholes Model in terms of PDEs.
- Linear and Logistic Regression
- Generalised Linear Models
- Lasso Regression
- Hypothesis Testing Be ready to explain Type I and Type II error.
- Confidence Intervals
- Bootstraping Methods
- Maximum Likelihood Estimation MLE
- Time Series – For a quick summary I recommend this Introduction to the Fundamentals of Time Series Data and Analysis
- Basic concepts as trend, seasonality, stationarity,
- Autoregressive Moving Average Models ARMA
- Autoregressive Integrated Moving Average Models ARIMA
- Vector Autoregressive Models VAR
- Autoregressive Conditional Heteroscedasticity ARCH and Generalised Autoregressive Conditional Heteroscedasticity GARCH models.
- Bayesian Statistics (This one is becoming trendy!)
- Numerical Methods
- Monte Carlo
- Optimisation Methods
- Finite Differences Method
- Financial Mathematics
The level of programming skills will depend on the kind of position that you apply for. Broadly speaking, junior roles (immediately after graduation or with up to 2-3 years experience) will require a basic to intermediate level of programming.
Programming languages vary among banks but I would say Python, R, Java, and C++ are currently the most popular in the industry.
- Python and R are typically used to prototype models, perform data analysis, and testing.
- C++ and Java are typically used for production libraries.
Topics vary considerably but the following ones are popular in quant interviews in my experience.
- Sorting Algorithms
- Complexity of different algorithms. For this purpose, I recommend taking a look at the Big O Cheat Sheet 😃
- Object Oriented Programming concepts (what is: a class, encapsulation, inheritance, and polymorphism are typical questions)
🧰 Other Tools
- Data Bases
- Scientific Writing
- Version Control. Get familiar with some kind of version control documentation, for instance:
- Office – Yes, I know that this sounds a little bit outdated but I have to say that Excel, Word, and PowerPoint are still very well regarded within banking.
- Financial knowledge. Interviews for junior roles usually do not focus so much on your financial knowledge (you will learn on the job 😃) but it is a good idea to learn a bit before going for an interview. A book that helped me greatly to get familiar with finance was Inside the Black Box: A Simple Guide to Quantitative and High Frequency Trading.
⚾️ Soft Skills
In addition to all the technical knowledge, you will need to cultivate your Soft Skills. These are by no means less important than hard skills!
In fact, I have seen many examples where they play a key role in an interview process. Why? because Quants generally don’t work alone. You will be part of a team and will spend many hours discussing and sharing ideas with them.
In every interview, the interviewers want to answer two important questions:
- Can this person do the job?
- Can I work with this person?
The first question will be covered by the technical part of the interview. The second one is more difficult. Here are some important soft skills that you can focus on ahead of an interview:
For this, I recommend to prepare a 5 minutes summary of your PhD/MSc thesis. In many interviews I have been asked to explain my PhD thesis in simple terms. I know that every PhD can talk for hours and hours about his/her dissertation… however the key here is the simple terms bit. Try to prepare a 10 minutes summary of your PhD avoiding too technical terms (this is particularly challenging for theoretical mathematicians but it is worth the effort). Then try to cut it in half the time by making it briefer. Try to answer the following questions:
- What was the topic of your thesis?
- What was the research contribution?
- What are the implications? Theoretical/Applications/Improvements of Existing Results
If you have experience in finance, then you can do the same exercise with the projects that you have listed on your resume. The idea is to practice how to effectively communicate:
- What was the project about?
- What was your role on it? Leader/Individual Contributor/Main Owner
- What was your main contributions? Technical/Implementation/Presenting the project to stakeholders and/or regulators/Strategy and Planning
- What was the outcome of the project? Model submission/ New Algorithm Approved/ Improvement/ Process Automation.
As I mentioned, you won’t work alone. Projects in the industry are so big that is difficult (or impossible) for one person to do everything. Thus, you have to learn to work efficiently as a member of a team.
Banking, as most of the industries nowadays, is changing constantly and at a rapid pace. This means making sure that your education does not stop once you land a job. On the contrary, use the first months in the job to find out what are the most valuable skills in your area. Then, do a self-assessment and identify those areas that need improvement.
📝 Interview Process
Before sending your applications, take some time to update your resume and LinkedIn profile.
Get ready to answer the most common question: Walk me through your resume. Practice at home by trying to describe your academic background and experience in 5 to 10 minutes. The idea is to introduce yourself and give the interviewer a broad idea of your experiences and how they are relevant for the job. This question usually aims to open the conversation so you maybe interrupted and asked to elaborate on certain points.
Be prepared for explaining your resume in full. This means, making sure that you know every single word written on it. If you don’t know it well, don’t write it on your resume. Your interviewer expects you to be able to explain all the things written there.
🎯 General Tips
⭐Online Presence⭐ Keep in mind that your interviewer(s) will (almost surely) make a quick Google search with your name on it. So be mindful about your online image. Use your online presence to display your skills. You can use platforms like:
⭐Continuous Learning⭐ Include all your (MOOCs) Massive Open Online Courses certifications in your resume. It shows that you are motivated, committed to your development, and can learn new stuff independently. So, don’t forget all those Coursera, DataCamp, Udemy, Pluralsight, etc. certifications.
⭐Ad-hoc Preparation⭐ Once you have been invited for an interview, tailor your preparation towards that particular job.
- Do a quick Google search on your interviewers.
- Read carefully the job description and find what are the basic and preferred qualifications and match them with your resume and experience. When doing this, keep in mind that you don’t have to meet all the requirements to get the job. The idea of the exercise is to identify strong and weak points to focus your preparation on the latter.
- To give an example let’s imagine that he job description says that Python is the preferred (not required) programming language but you don’t have experience with it.
- Before the interview, you can get some familiarity with Python basic concepts following online tutorials or books. You can install Anaconda on your computer and start playing with Python. In this way, you will get more comfortable with what you don’t know. This will give you confidence on the fact that you can pick up Python quickly.
- During the interview, mention your experience with other languages and that you are keen on learning Python. Most of the questions can be answered in any programming language. So you can just tell the interviewer which language you are most comfortable with.
⭐Keep it Real⭐ Be honest when you don’t know. This is much better than inventing something. Nobody knows everything and the people who are interviewing you know that. So please, don’t be scared to ask for hints or suggestions. I have seen many candidates who are struggling with a question but just need a small hint and then they figure out the rest pretty quickly! This looks great because it shows that you can deal with difficult situations, ask for help, use that help to get a positive outcome!
⭐Show Interest⭐ Ask Questions about the team, what it does? is it a big or small? is everybody in the same location or in different places?, are you being hired for a particular project, for a backfill, or as part of a team expansion plan? what will the main task be? who are the “customers” of the team? what are the main objectives of the team? what are the opportunities to learn and grow? what are the main programming languages used in the team?
☎️ Telephone Round
Almost all recruitment processes include an initial telephone interview. This is usually less formal (which does not imply less technical) than the face to face (teleconference) round. The idea is to get to know the candidate.
- Find a quiet place to have the interview and make sure that you have good reception
- Print your resume and have it with you (or at least have it on the screen)
👥 Face to Face Rounds
Then there are several face to face (or teleconference) interviews. Here you will meet more members of the team and the questions will be more technical. In my experience you may have between 2 and 7 of these in a day (so have a good breakfast before going into one of those super days!).
- Be on time and wearing professional clothes
- Don’t be nervous, these are just people like you and me. I know that as a recent graduate the first interviews can be intimidating. But please be confident and keep in mind that being invited for this round means a high chance of success! You are already in the short list of candidates who passed.
- Bring printed copies of your resume, as well as bank paper and pens to write.
- Listen carefully to each question and make sure you understood it. If you are not sure, ask questions.
- Show interest on the role and the team.
- Ask for the next stages of the hiring process.
These are some of the most popular books for preparation. I bought all of them back in 2016 when I started interviewing with banks. All of them are good (and of course there is some intersection of the questions among them) but I would focus on the first two.
- Quant Interview Questions and Answers by Mark Joshi Amazon Link
- Frequently Asked Questions in Quantitative Finance Amazon Link
- Heard on The Street: Quantitative Questions from Wall Street Job Interviews Amazon Link
- A Practical Guide To Quantitative Finance Interviews Amazon Link
🌐 Free Online Resources
- Brainstellar for math puzzles
- On Becoming a Quant (pdf) document written by Mark Joshi with lots of information similar to what is in his book mentioned above
- Quant Interview Job Questions collection written by Oana Mocioalca, Assistant Professor at the Department of Mathematical Sciences, Kent State University
- Quantopian Lectures great collection of Python Notebooks explaining basic concepts in finance. You can clone the notebooks and reproduce the results. It is a great way to review your basic maths and practice Python at the same time.
- Quantpedia They describe themselves as “The Encyclopedia of Algorithmic and Quantitative Trading Strategies”. You can browse around 70 strategies for free.
- QuantStart Focus on Algorithmic trading techniques.
- Top 40 Python Interview Questions & Answers by guru99.
- 100 Essential Python Interview Questions (Edition 2019) by TechBeamers
- 50 Python Interview Questions and Answers by Dev.to
🖥 Coding Practice
For learning and practicing coding, I recommend
Finally, I want to talk a little bit about recruiters. In my experience, having a recruiter can have a huge positive impact on your job search.
- They know the market and have tons of experience with Quant interviews. They can help you to identify your strengths and find jobs that are more in line with them.
- They know people in all the banks and can give you insights on what is happening. They may know if a team is growing (which probably means that they have exciting projects coming… or lots of people leaving) or if a team is looking for juniors rather than experienced candidates.
- They really want to help you to get a job (that is what they do for a living :)) So, even if there is no positions at the moment, they will keep a copy of your resume and may call you later when something new comes up.
- They can help you to negotiate your salary. As a junior (especially as a recent graduate) negotiating a compensation package can be intimidating. Discussing your salary expectations with your recruiter can help you in two ways: (1) it will give you an idea of the salary benchmarks for someone with your profile; (2) it can give you confidence to talk about these topics.
- Speaking with recruiters can be useful to get familiar with long telephone conversations. They talk to people every single day and are very confident (you can learn from them!)
- They are part of the business. You will establish long lasting relationships and every time that you want to take a look at the market you will know who to contact 😉
You may be wondering how to find a recruiter. See the FAQ section below.
Please visit my FAQs post.
Finally, If you have comments, feedback, or further questions please leave a note below and connect with me.
All the best in your job hunting, I am sure you will do great 🌟
10 thoughts on “The Quant Project”
as a college student this definitely gives me more insight about quant realm. Thanks
Thanks for your insights!! Currently looking for Quant Analyst Intern in the US. Your post really helps a lot!
Very valuable experience sharing! Now I know what I should prepare for.
Acabo de encontrar este blog y me encantó! También soy mexicana, estudié Finanzas y ahora estoy explorando opciones de posgrado.
What are the prerequisite required for a business management student to learn before taking admission in Masters in Financial Engineering?
Do Pre MFE Courses suffice ?
Thanks a million! This is exactly what i am looking for.
Thank you so much for sharing. Couls please share more details on the projects you are working at the bank? Or do you have any comments where could I practice with real projects. Thank you so much again!