FEC Career Path and Prep (2) - Financial Engineering Club at

Financial Engineering Club
Career Path and Prep
Entry Level Career Paths
Type 1: Research based
Background: Physics, Electrical Engineering, Applied Maths, Computer Science
Initial Career Path: Pricing researchers, algorithmic developers for high-frequency
trading or broking firms, strategy researcher
Roles: pricing complex securities and derivatives, research high frequency trading
algorithms, replicate strategies reported in academic journals
Entry Level Career Paths
Type 2: Program development
Background : Software Developers, Computer Science
Initial Career Path: Financial application developer, financial system integrator,
programmer supporting analytics or research team
Roles: Develop maintainable and robust codes, know how to translate business
requirements into specs for application development
Entry Level Career Paths
Type 3: Analyst
Background : Business, Economics, MBA, CFA
Initial Career Path: analyst/associate position, performance and risk analytics, risk
management positions
Roles: roles with more internal clients facing responsibilities, roles with business
knowledge, strong intuition regarding financial markets and institutions
Entry Level Career Paths
Type 4: Trader
Background : Mathematics, Finance, Engineering, Statistics, Economics
Initial Career Path: agency trader, prop trader, securities analyst and trading
Roles: execute orders for the clients, invest the firm’s money, make trading decisions,
analyze securities and decide what to trade, create firm’s trading strategies
Example Position
Job Title: Quantitative Research Consultant
Company: WorldQuant
Job Description:
- Seeking engineering, science, mathematics
and finance majors for research consultant
-Candidates need not have prior knowledge
of financial markets, but must have a strong
Job Qualifications:
- Hold or working toward a Bachelor’s degree
or advanced degrees from a leading US
university in engineering, science,
mathematics, finance or any other related
field that is highly analytical and quantitative
- Competent in a programming language
- Strong interest in learning about worldwide
financial markets
Example Position
Job Title: Software Developer Engineer
Company: Tower Research Capital LLC
Job Description:
-Developing and improving Tower’s C++
coding environment
-Proactively assisting other developers in
diagnosing and solving coding issues-Using
dynamic programming languages, as Lua,
Python, and NodeJS, to architect, implement
and integrate build software and productivity
-Working closely with developers and traders
to improve code quality
Job Qualifications:
-A bachelor’s degree in computer science,
math, or physics from a top-tier college or
-Excellent programming skills, including
experience with development in dynamic
programming languages, knowledge of the
C++ compiler and linker, and stron knowledge
of Python
-Extremely strong working knowledge of the
Linux operating system, especially building
C++ software and expertise in scripting
languages, such as Bash shell scripting
-Experience with GNU make, Git, and Open
Source software
Example Position
Job Title: Risk Management Consultant
Company: Protiviti
Job Description:
-Evaluate possible impact of new
business/products on economic risk capital
-Perform regression analysis on firm financial
ratios and economic data to evaluate
-Assist in benchmarking risk capital
(economic and regulatory) to other
- Validation, stress testing and
documentation of risk models and
Job Qualifications:
-MBA, PhD or equivalent advanced
Quantitative/Analytical degree
- Specific subject matter expertise regarding
technology application control disciplines and
a solid understanding of Model Risk
Management concepts, such as model
governance, inventory, documentation,
validation and use.
- Ability to deliver under tight deadlines
- Strong interpersonal skills for interfacing
with all levels of internal senior management
The Three Most Important Skills
1. Mathematics (including statistics) – This industry is quantitative, you need to
have a strong math background.
2. Programming – Nearly always required or extremely helpful at a basic level. In
some roles it can be extremely important as 90% of your work will be
3. Finance/Economics – Ironically, not required for many entry level jobs, especially
at most prop trading firms. Yet with the growth of Masters of Financial
Engineering programs this has become more important to stay competitive.
● Programming Languages
o C++: CS225
o R/MATLAB: STAT 420, STAT 425
o Python (Numpy, Scipy, Pandas, etc.)
o Java and C#
o Excel/VBA
o Automating daily tasks for their desk.
o Understanding the code in their system and being able to work with developers.
o Performing research using numerical packages.
o Heavy amount of programming required to test ideas in research
o Make heavy use of numerical packages.
o In some instances you may require C++ when building tools or working with large
amounts of data.
Software Developers
o Yes
Programming – The Basics
CS 125 – Intro to Computer Science
Teaches Java and fundamental computer science concepts.
CS 225 – Data Structures
Teaches C++ and fundamental data structures, touches on algorithms
Highly recommended for a good basic understanding of computer science.
Programming – Low Level
CS 241 – Systems Programming
General systems courses, programming is low level and covers networking, operating systems,
multithreading and other related topics
Fundamental for developers, could be useful for some researchers
CS 425/ECE 428 – Distributed Systems
Covers distributed algorithms and topics in distributed applications.
Very good class for developers, especially those interested in low-level programming.
CS 438/ECE438– Network Programming
Another good class for those interested in low level programming – covers the 7 layer OSI network model.
ECE 391 – Computer Systems Enginering
CS 423 – Operating System Design
CS 421 – Programming Languages & Compilers
CS 426 – Compiler Construction
Programming – Research Oriented
CS 450 – Numerical Analysis
Numerical Analysis is all about solving math problems with computers.
Most of the homework requires coding and you will make heavy use of Matlab, Python(Numpy/Scipy), or
another statistical package.
CS 446 – Machine Learning
Heavily theoretical approach to machine learning algorithms and principles
Highly recommend taking course with Dan Roth (he usually teaches in the Fall)
CS 374/CS 473/CS 573 – Algorithms
CS 574 – Randomized Algorithms
CS 598 – Machine Learning for Signal Processing
CS 555 – Numerial Methods for PDEs
Statistics courses – see later slide
Prerequisite for most of higher level math courses: Math 241 – Calculus III
● Probability
o Math 461: Probability Theory
 Basic calculus-based statistics
 Has a probability emphasise
o Math 463/Stat 400: Statistics and Probability I
 Basic calculus-based statistics
 Has a statistics emphasise
o Math 464/Stat 410: Statistics and Probability II
 Advanced, recommended before taking other high level classes involve
For people who wants to go deep into probability or Math major students:
● Advanced Probability:
o Math 561 + Math 562: Theory of Probability
Prerequisite: Math 447 + Math 540
Math 561: Probability Measure, Stochastic Processes
Math 562: Brownian Motion, Stochastic Integral, Ito’s Lemma. Etc
o Math 564: Applied Stochastic Processes
Prerequisite: Math 461
No profound measure theory background required
Probability background recommended
Discrete and continuous markov chain
o ECE 534 and CS 481 both cover stochastic processes at a less rigorous level
● Linear Algebra
o Math 410: Linear Algebra & Financial Apps
o Math 415: Applied Linear Algebra
o Math 416: Abstract Linear Algebra
o Math 482: Linear Programming
o Math 484: Nonlinear Programming
● Partial Differential Equations
o Math 441: Differential Equations
o Math 442: Partial Differential Equations
Statistics Courses
STAT 410 – Probability & Statistics II
STAT 424 – Analysis of Variance
STAT 425 – Applied Regression
STAT 428 – Statistical Computing
STAT 429 – Time Series Analysis
ECON 471 – Econometric
● Corporate Finance
o FIN 221: Corporate Finance(Recommended!)
o FIN 321: Advance Corporate Finance
● Fixed Income
o Math 210: Theory of Interest
o Fin 415/515: Fixed Income Portfolio
● Derivatives
o Math 476: Actuarial Risk Theory
o Fin 412: Options and Futures Market
● Investment Management
o Fin 411: Investment & Portfolio Management
o Fin 419: Real Client Managed Portfolio