Financial Engineering
Financial engineering, also refered to as computational finance or quantitative finance, encompasses a range of disciplines used to effectively manage portfolios of often disparate financial instruments. These disciplines include derivatives pricing, asset allocation and econometrics.
Each of these disciplines brings together aspects of financial theory, applied mathematics and software engineering. They are typically used to analyze and/or model the historical performance of potential investments and use them to predict future potential performance. Investment decisions are then made according to which investments are likely to provide the highest portfolio returns for an acceptable level of risk.
These pages contain numerous tutorials and articles that discuss the mathematical fundamentals of financial engineering with an emphasis on how the underlying algorithms may be efficiently implemented in various software languages.
The following links provide more details and tutorials on specific financial engineering disciplines,
Tutorials covering general introductory and advanced usage of leading data analysis, statistics and visualization software such as MATLAB, VBA and C++ are also available.
Option Pricing
The scope and size of derivatives markets has grown seemingly exponentially over the past 15 to 20 years. This has driven a desire to go beyond the standard Black-Scholes pricing approach to more accurately model price movements of the assets underlying a given derivative and to more accurately model other critical factors such as future interest rates. The overall goal being to more accurately price the derivatives themselves.
The tutorials presented here give examples of the three most commonly applied numerical methods for modeling and pricing derivatives. The tutorials presented discuss both the mathematics behind each of the option pricing methods and give examples showing how to implement the algorithms efficiently in MATLAB.
The tutorials cover,- Lattice methods, including discussions of
- The general mathematical concepts behind the binomial model, with particular attention paid to the original binomial model formulation of Cox-Ross-Rubinstein.
- Several common alternative binomial models including Jarrow-Rudd, Tian, Jarrow-Rudd Risk Neutral, Cox-Ross-Rubenstein with Drift and Leisen-Reimer models.
- Modifications to the binomial models for handling items such as dividends and interest rate term structure.
- Several common trinomial models.
- MATLAB tutorials on the implementation of the Cox-Ross-Rubenstein, Jarrow-Rudd, Tian, Jarrow-Rudd Risk Neutral, Cox-Ross-Rubenstein with Drift and Leisen-Reimer binomial models.
- Monte-Carlo Simulation methods, including discussions of
- General mathematical concepts.
- Variance reduction techniques, including antithetic variates, control variates, importance sampling and the use of quasi-random sequences.
- Generating correlated random sequences.
- The Longstaff-Schwartz approach for pricing American style options.
- Finite difference methods, including discussions of
Econometrics
Econometrics involves the application of standard mathematical methods and statistical techniques to model and analyse economic data. The typical purpose of this is to understand past relationships between economic variables with a goal of forecasting any future relationship between the same variables.
The tutorials presented here cover a range of econometric techniques. They include,
- Basic statistics and probability distributions.
- Studying cross-sectional and time-series data.
- Ordinary linear regression.
- Testing and compensating for serially correlated data.
- Non-linear and maximum likelihood methods, including ARCH and GARCH.
- Jump diffusion models.
- Time-series modeling, including non-stationary data and co-integrated pairs.
- Using Kalman Filtering techniques.
Portfolio Optimization
Modern Portfolio Theory provides a rigorous mathematical approach for selecting a portfolio of risky assets such that they minimize the portfolio's risk (measured as the standard deviation of returns) for a given expected portfolio return. Although many of the assumptions underlying MPT are known to not hold in practise, it is still considered a cornerstone of financial engineering.
The tutorials presented here cover the fundamentals of MPT, including,
- Linear programming.
- Quadratic programming.
- Mean-variance optimization to generate the efficient frontier.
- The Capital Allocation Line.
- Utility functions.
Technical Analysis/Charting
Technical analysis is based on the assumption that historical prices can be mined for information on future price trends.
The tutorials presented here for technical analysis demonstrate how to implement various technical indicators in the MATLAB technical computing environment. This includes both the numerics behind efficiently implementing the indicators and building a suitable user interface to display them appropriately.