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