Transcript Document
October 2008
FinE and Grid-Computing
Presentation by Claus Madsen
Agenda
About FinE Analytics
2
About FinE
5
Dyalog APL in FinE...
25
2
About FinE Analytics
Who is FinE Analytics ?
FinE Analytics was founded by Claus Madsen in 2001 on the idea of developing a framework
system consisting of a central container of financial components, which can be used by all of the
companys financial applications.
As the interest for FinE increased, the need for more manpower increased. In 2002 Søren
Andersen joined FinE Analytics.
In 2006 FinE made a partnership with IT-Practice A/S (www.it-practice.dk)
Furthermore, we have a partnership with Six Finansinformation A/S (www.six.dk). (Danish and
Swedish financial data)
In 2008 FinE made a partnership with Techila Technologies Ltd (www.techila.fi)
3
About FinE Analytics
What do we have?
A financial framework system, which covers all kinds of analysis, keyfigure calculations, pricing
and risk management of a wide range of financial instruments and derivatives
A framework system which offers efficient, centralised and robust financial calculations
A finansial system which is independent of the customers choice of database (for marketdata)
A framework system that can be used directly from MS Excel
We call the framework system: FinE
4
Agenda
About FinE Analytics
2
About FinE
5
Dyalog APL in FinE...
25
5
FinE
The core of FinE is a set of advanced financial components which:
Are built on 18 years of experience from similar development projects,
Include methods and calculations for a wide range of financial products – probably the largest
range compared to any similar system
Offers 1200+ financial functions
Very flexible and easy to integrate with other IT systems
COM (.NET) interface with all the integration possibilities that these offer (VB, VBA, C++, C#,
etc.)
Web Services etc.
Database indepencende
Use FinE with or without marketdata
Integrates with all common databases (Oracle, Sybase, MS SQL Server).
Generic database interface
6
FinE
QA
Automated tests
Focus on new and relevant financial science
Up-to-date with market conventions
Focus on operational optimization of financial problems => some of the fastest calculations in
the market on e.g. motgage backed-bonds, RenteMax, etc.
Flexibility
Database independence and integration possibilities gives higher fiexibility towards the
customers existing systems
We keep a close contact with our customers and a very anxious to hear about specific methods
and wishes for new components
Extremely fast Time-To-Market
7
FinE
FinE_BoligX
FinE_Forwards
FinE_Bonds
FinE_FXOptions
FinE_BondOptions
FinE_HPR
FinE_CapsFloors
FinE_Inflation
FinE_Credit
FinE_IndexBonds
FinE_CreditBonds
FinE_InflationDerivatives
FinE_CreditDerivatives
FinE_MonteCarlo
FinE_Correlation
FinE_MBB
FinE_CTD
FinE_OneFactorLattice
FinE_Database
FinE_Portfolio
FinE_Datefunctions
FinE_PCA
FinE_Debt
FinE_Swaps
FinE_EquityOptions
FinE_Swaptions
FinE_FlexMBB
FinE_System
FinE_FloatingRateBonds
FinE_Termstructures
FinE_Volatility
8
FinE
FinE_BoligX
Flexible and fast MC pricing engine with user controls
Specify you own extended BoligX Bond using tailor-made functions
Complete control over the fixing rules
Cash flow generator with optional convexity adjustment
Yield calculations – including:
Redemption Yield
Risk Measures - including:
Imp OAS Spread and Modified Duration
Delta-Vectors
9
FinE
FinE_Bonds
Jurisdictional specific models (27 countries)
T-bills
Zero-coupon Bonds
Amortizing Bonds
Bond Forwards and Futures
Specify your own Bond using Taylor made functions
Pricing and Accrued Interest calculations
Risk Measures – including: Imp. Yield Spread, Modified Duration and WAL
Yield calculations – including:
Redemption Yield and Japanese Yield
Cash flow generator
Cost-Of-Carry analysis
Barbell Strategies
Delta-Vectors
10
FinE
FinE_BondOptions
Models: Black76, CIR Deterministic Shifts, Ho-Lee, Hull-White, Quadratic
Price, Volatility
Implicit Strike and Volatility
FinE_CapsFloors
Models: Black76, CIR Deterministic Shifts, Ho-Lee, Hull-White
Price, Volatility
Implicit Strike and Volatility
Estimating model parameters using Caps/Floors Market Data
FinE_Credit
Estimation of default probabilities using a variety of methods, for example:
Using market prices of credit bonds
Using the Transition Matrix
Transition Matrix tools:
Calculating the Transition Matrix for any time-period
11
FinE
FinE_CreditBonds
Specify your own Credit Bond using Taylor made functions
Calculation using either the Credit Curve or using the default probabilities
Cash flow generator
Yield calculations – including:
Redemption Yield
Risk Measures – including:
Imp. OAS Spread and OAS adjusted Duration
Delta-Vectors
FinE_CreditDerivatives
Pricing, keyfigures etc.
CDS, 1st to default, nth to default
CDO’s – incl. STCDO and more
12
FinE
FinE_Correlation
Linear Correlation, Rank Correlation, Correlation assuming a GBM process and EWMA
Estimation of the Correlation Matrix given a Target Correlation Matrix
FinE_CTD
Know the Market rules f0r CTD-Futures, for example: CBOT, EURONEXT, EUREX etc
Cheapest-To-Deliver calculations and determination of Conversion-Factors
Specify you own CTD-Futures using tailor-made functions
Calculation of Risk-Measures and Delta-Vectors
FinE_Database
Linking to internal database with Danish/Swedish bonds
Flexible data queries
Define and manage generic bonds
Define and manage yieldcurves/swapcurves
Calculating poolfactors
13
FinE
FinE_Datefunctions
Around 30 Functions to handle anything in connection with day-calculation and 19 Calendar
Conventions
Built-in Holiday Calendars + The ability to Customize Holiday Calendars
FinE_Debt
Advanced payment structures – including for example Step-Up Coupon structures and variable
amortization schedules
Pricing
Cash flow generator
FinE_EquityOptions
Price European options using a variety of models:
Black 76, Black-Scholes, Garman-Kohlhagen, Displaced Diffusion, CEV and CRR
Price American options using a variety of models:
Barone-Adesi, Ju-Zhong and CRR
Powerful and flexible CRR implementation
Calculation of sensitivity numbers, like for example: Delta and Gamma
14
FinE
FinE_FlexMBB
Flexible and fast MC pricing engine with user controls
Define your own prepayment model
Specify you own extended Flex MBB using tailor-made functions
Complete control over the fixing rules
Cash flow generator
Highly flexible pricing engine for Flex MBBs:
User defined CPR/SQM
User defined CK92
Yield calculations – including:
Redemption Yield
Risk Measures - including:
Imp OAS Spread and OAS Adjusted Duration
Delta-Vectors
15
FinE
FinE_FloatingRateBonds
Specify you own extended Floating-Rate Bond using tailor-made functions
Complete control over the fixing rules
Fully flexible methods for specifying how to calculate the coupon, this includes for example:
Super Coupon
Cash flow generator
Yield calculations – including:
Redemption Yield
Risk Measures - including:
Imp OAS Spread and Modified Duration
Delta-Vectors
16
FinE
FinE_Forwards
FRAs – pricing and risk measures
FX Forwards – pricing and risk measures
Equity and Commodity futures – pricing and risk measures
Interest-Rate Futures – pricing and risk measures
FinE_FXOptions
Price European options using a variety of models:
Garman-Kohlhagen, Displaced Diffusion, CEV and CRR
Price American options using a variety of models:
Barone-Adesi, Ju-Zhong and CRR
Powerful and flexible CRR implementation
Calculation of sensitivity numbers, like for example: Delta and Gamma
17
FinE
FinE_HPR
HPR: “The return over a pre-defined period, given assumptions about the primo values of the
assets, the removed cash flows, the refinancing of the removed cash flows and the ultimo
values”.
Flexible and powerful generic HPR module
Include MBB prepayment model forecast in the calculation
User defined prepayment schedule
Work with multiple Yield-Curves
Control OAS/NPV evolution
FinE_Inflation
Imply CPI-Curve from IR-Changes and spill-over effect
Forecast missing CPI-Data using standard ISDA rules
Etimating CPI-Curves using Inflation Swaps-or Index Bond Data – taken into account seasonality
Switching between Inflation-Rate curves and CPI-Curves
Constructing CPI-Curves
18
FinE
FinE_IndexBonds
Type of Index Bonds include OATs, UK Index-Linked Gilts (IGs), Swedish Index Bonds, TIIS and
Danish Index Bonds or similar rules
Specify you own extended Index Bond using tailor-made functions
Complete control over the CPI-Data
Cash flow generator
Yield calculations – including:
Redemption Yield
Risk Measures - including:
Imp OAS Spread and Modified Duration
Delta-Vectors
19
FinE
FinE_InflationDerivatives
Specify you own extended Inflation Swaps using tailor-made functions – including YoY Inflation
Swaps
Cash-flow generator
Calculation of Spreads and Fixed Inflation Rates
Delta-Vectors
Risk Measures
FinE_MonteCarlo
Simulate models belonging to the MCEV class
Techniques for matching the initial yield-curve
Several ways to generate the random numbers - for example Box-Mueller
Multiple variance reduction techniques available, like for example Brownian
Bridge and Measure Transformation
20
FinE
FinE_MBB
Treat MBBs as straight bonds
Highly flexible pricing engine for MBBs
Include CK93
User defined CPR/SQM
User defined CK92
Any Yield-Curve model from One-Factor Lattice can be used
Specify your own MBB using Taylor made functions
Define your own prepayment model
Cash flow generator
Risk Measures – including:
Imp. OAS Spread and OAS adjusted Duration
Yield calculations – including:
Redemption Yield
Delta-Vectors
Calculation of refinancing profit
21
FinE
FinE_OneFactorLattice
Models: Hull-White, Black-Karisinski, BDT, Quadratic, CIR deterministic Shifts
European, American or Bermudan
Instrument coverage: Bond-Options, Swaptions and Cap-Floors
Pricing and Risk-measures
Estimating model parameters using Market Data
FinE_Portfolio
Calculations on portfolio level
Grid Calculation Interface
FinE_PCA
Principal component analysis
Estimating principal factors
Simultaneously work with 5 different PCA models
22
FinE
FinE_Swaps
Basis Swaps, Amortizing Swaps and Rollercoaster Swaps, Compounding Swaps, Libor-In-Arrears
and CMS/CMT
Power Swaps, Average Rate Swaps and General mismatch Swaps
Interest Rate Swaps and Cross Currency Swaps
Equity and Commodity Swaps
Par Swap Analysis and calculation of Libor-Spreads and Swap-Rates
Delta-Vectors
Cash flow generator
FinE_Swaptions
Models: Black76, CIR Deterministic Shifts, Ho-Lee, Hull-White
Price, Volatility
Implicit Strike and Volatility
Estimating model parameters using Swaptions Market Data
23
FinE
FinE_Termstructures
Estimate the Bond/MBB/Credit Yield-Curve
Estimate the Swap Yield-Curve – include:
Deposits, FRA’s, Futures, Swaps
Shift the Yield-Curve using Key-Rate Shifts, Bucket Shifts or Twists
Tools for Yield-Curve interpolation
Build the Yield-Curve using your favorite Yield-Curve model:
Hull-White, Ho-Lee, CIR, CIR Extended, Quadratic, CIR Deterministic Shift, Vasicek
Construct Forward Yield-Curves
FinE_Volatility
N-period Historic Volatility
6 Univariate Garch Models
Volatility assuming a GBM process
EWMA
Garch Volatility forecast
24
Agenda
About FinE Analytics
2
About FinE
5
Dyalog APL in FinE...
25
25
Dyalog APL in FinE
Dyalog APL is used as an in-process OLE-Server – 99.9% af all APL is embedded in a Com-Object!
Other Software used in FinE:
.NET packages:
ChilkatDotNet2.dll – used for FTP, ZIP, XML and Cryptation
AsPose.Cells.dll (.NET 2.0) – used for communicating with Excel
LaPack – for some math (eigenvalue calculation etc)
MatLab Com-Object – is in the process of being replaced with Extreme.Numerics.dll (.NET
2.0) – for optimization etc
C++ are used for connecting FinE-Core to Excel
VBA for building the interface in Excel
Generic Database Interface uses SQAPL 5.0, most widely use is with SQL-Server 2005
Most importantly – for the presentation here – we use Techila Grid for performing Grid-
Computation! (Java + C++)
26
Dyalog APL in FinE
Grid Computing…. Why is that of interest?
Some type of Instruments are fairly complex, and to price them (even more importantly to
obtain risk-measures) is therefore a relative slow process
In Risk-Management – at least if we do not wish to rely on a Gaussian Distribution
Assumption – we need to perform a lot of calculations in order to derive the return
distribution for the portfolio
This is even more pronounced when perform “What-If” calculations!
In ALM (Asset-Liability-Management) we in general also need to perform many calculations
Remark: All-in-All we need to do a huge amount of calculations, and even
on a moderate complex portfolio that is time-cosuming!
27
Dyalog APL in FinE
Implementing Grid Computing in FinE
FFL_Init initializes the Grid (incl. loading in methods from the Grid-dll)
PortCalculate
If Grid is not available (or PortSetInGrid = “NO”), then all calculations
are performed locally
If Grid is available (and PortSetInGrid = “YES”), then calculations are
done in the Grid
The Main function is: RUN_PORTFOLIO_IN_GRID
28