Code Monkey home page Code Monkey logo

a-guide-to-mfe-career's Introduction

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

(Portfolio Visualizer Link)

1.6 risk management

(Quantopian Risk Metrics)

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.

Vol Surface Monte Carlo

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.

Salary Range

  • The data below shows how experience impacts the salary scale of financial engineers.

Experience Scale

  • In gender ratio, 21% and 79% are the figures of female and male financial engineers.

Gender And Experience

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

Trader

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)

Trader

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:

  1. Foreign Exchange
  2. Interest rate
  3. Commodity
  4. Credit
  5. Equity
  6. Mortgage
  • Employer: bank (market making desks, front-office)
  • Skills: stochastic calculus, risk-neutral pricing, strong/fast programming
  • Package: $120k (analyst) $180k (associate)

Trader

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

Trader

a-guide-to-mfe-career's People

Contributors

wec7 avatar

Watchers

 avatar  avatar  avatar

Forkers

xiajun666

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.