0. About myself
- Preparer: Chen, Weiyi
- Bachelor: Tsinghua Univ, CS
- Master: Baruch College, FE
- Contacts: [email protected], chenweiyi662109
1. What is Financial Engineering?
"The application of science-based mathematical models to decisions about saving, investing, borrowing, lending, and managing risk."
Financial engineering is applicable to -
1.1 derivatives pricing
1.2 financial regulation
1.3 execution
1.4 corporate finance
1.5 portfolio management
1.6 risk management
1.7 trading
1.8 structured products.
2. Financial Engineering Career Overview
The financial engineers are specialists making use of mathematical formulas, programming and engineering methods in financial theories, and analyses market trends to build data-backed financial models.
2.1 Jobs
Companies often employ people with advanced degree in Financial Engineering and these specialists work as quants, traders, portfolio managers, structurers or bankers using their financial engineering background to improve the quality of existing investment products.
2.2 Primary responsibility (quants / traders)
The primary responsibility of a financial engineer is to have thorough knowledge of financial markets, its volatility and knowledge of financial theories. This knowledge is used by engineers to develop simulations and predict market behaviour.
Apart from knowledge in finance, the engineer needs to possess sufficient computer programming skills. Programming skills are needed to build simulating financial models to learn about market behavior.
2.3 Financial risk management (risk / portfolio managers)
With the knowledge of computer simulations and market trends, the engineer helps to develop profitable investment plans for individuals and companies. Often, these investment plans have high risk factor, which might seem counter-productive to the goal of hiring financial engineers, but that’s a strategy used by risk management firms to yield higher return than comparatively stable investments.
3. Preparing for Financial Engineering Career: Education
3.1 Quanlifications
A Bachelors’ in Science, a Master’s in Science or a Masters’ in Financial Engineering (MFE) will gear you towards quantitative roles such as delivering risk models and trading directly, library control, model validation, risk management and programming.
3.2 PhD?
Many of the financial engineers don’t hold PhD as some employers feel the degree will have detrimental impact. A Masters’ degree in computer engineering and electrical engineering with strong programming skills and data handling ease is recommended.
Mathematical geniuses can go for PhD. Knowledge in programming like SAS, MATLAB, S+ or RAD or other statistical packages will place you at a disadvantage as higher advanced languages like Java and Scala are used.
3.3 Market Demand?
There is a high need for qualified quants in the market. The demand for new quants is particularly high in structured finance establishments. Over time, as the market gains higher traction, the demand for quants will increase. Emphasis will be on credit and risk ventures.
Moreover, the world of systematic, quantitative, algorithmic and automated trading offers various openings for quants.
The level of competition is high for entry-level quants as they need to display programming skills, knowledge of artificial intelligence methods and statistical theories. Good experience with languages like Python, Java, C++ and Scala is essential for financial engineering.
3.4 Employers
4. Preparing for Financial Engineering Career: Skills
4.1 Communication skills
- Anyone working as a financial engineer is ‘smart’ and the only reason why some people move ahead in the career ladder is because of their articulate communicative nature.
- You don’t need to be a refined public speaker but have the ability to communicate thoughts and ideas clearly.
4.2 Programming
- C++
- Python
- Java
- MATLAB
- Hadoop
- C#
- .NET
- Perl
def initialize(context):
context.security = symbol('AAPL')
schedule_function(myfunc, date_rules.every_day(), time_rules.market_open(minutes = 15))
def handle_data(context, data):
MovingAvg1 = data[context.security].mavg(10)
MovingAvg2 = data[context.security].mavg(30)
current_positions = context.portfolio.positions[symbol('AAPL')].amount
if (MovingAvg1 > MovingAvg2) and current_positions == 0:
order_target_percent(context.security, 0.25)
elif (MovingAvg1 < MovingAvg2) and current_positions != 0:
order_target(context.security, 0)
4.3 Mathematics
- linear algebra
- stochastic calculus
- geometry
- differential equations
4.4 Econ and Finance
Finance and economics aren’t that important in quantitative trading, other than giving the professional a well-developed approach towards the finance markets.
5. Job Market
- The median salary of financial engineers in USA is 91,330 USD.
- The data below shows how experience impacts the salary scale of financial engineers.
- In gender ratio, 21% and 79% are the figures of female and male financial engineers.
6. Quant Types
Quantitative positions within finance can be broadly categorised into four main types.
6.1 Quantitative Trader
- Employer: a bank (prop trading desk), a quantitative/systematic hedge fund
- Responsibility: alpha, the elusive returns above those returned as a component of standard stock market fluctuations
- Skills: statistical or machine-learning
- Package: $200K
6.2 Quantitative Researcher
- Employer: a bank (research desk, middle-office), alternative research firms, some larger hedge funds
- Skills: a pure mathematician or PhD in stochastic calculus
- Package: $180k (associate)
6.3 Desk Quants
Tasked with taking a product (FICC, Equity), often sold by sales teams to clients within large banks, and figuring out how to correctly price it. Business:
- Foreign Exchange
- Interest rate
- Commodity
- Credit
- Equity
- Mortgage
- Employer: bank (market making desks, front-office)
- Skills: stochastic calculus, risk-neutral pricing, strong/fast programming
- Package: $120k (analyst) $180k (associate)
6.4 Quantitative Developer
First type: work closely with desk quantits to implement and optimise their financial models, taking a prototype code from R or Python and rewriting it in another language such as C++ or Java
- Employer: bank (market making desks, front-office)
- Skills: programming
- Package: base similar to quants, bonus less
Second type: deal with financial pricing data and trading systems architecture, code up the raw infrastructure allowing the quant analysts/traders to run their models on and make money
- Employer: bank (middle-office), fund
- Skills: programming, large-scale legacy systems
- Package: eh..
Third type: star C/C++ developer who understands Unix network programming, low-latency systems and the ins and outs of the Linux Kernal
- Employer: Ultra High-Frequency Trading (UHFT)
- Skills: Unix network programming, distributed systems, Linux systems, parallel/threads programming
- Package: $300+k