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 strategists 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 position -Candidates need not have prior knowledge of financial markets, but must have a strong interest 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 tools -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 university -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 institutions - Validation, stress testing and documentation of risk models and assumptions. 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 programming. 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 ● 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 SQL Programming ● Traders 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. ● Researchers 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 o Teaches Java and fundamental computer science concepts. CS 225 – Data Structures o o 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 o o 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 o o 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 o 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 o o 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 o o 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 Math 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 probability Math 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 Math ● 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 Finance ● 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