Upload
emelda
View
53
Download
0
Tags:
Embed Size (px)
DESCRIPTION
October 2008. FinE and Grid-Computing. Presentation by Claus Madsen. Agenda. About FinE Analytics. 2. About FinE. 5. Dyalog APL in FinE. 25. About FinE Analytics. Who is FinE Analytics ? - PowerPoint PPT Presentation
Citation preview
October 2008
FinE and Grid-Computing
Presentation by Claus Madsen
2
Agenda
Dyalog APL in FinE...
About FinE
About FinE Analytics 2
5
25
3
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)
4
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
5
Agenda
Dyalog APL in FinE...
About FinE
About FinE Analytics 2
5
25
6
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
7
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
8
FinE
FinE_BoligX
FinE_Bonds
FinE_BondOptions
FinE_CapsFloors
FinE_Credit
FinE_CreditBonds
FinE_CreditDerivatives
FinE_Correlation
FinE_CTD
FinE_Database
FinE_Datefunctions
FinE_Debt
FinE_EquityOptions
FinE_FlexMBB
FinE_FloatingRateBonds
FinE_Forwards
FinE_FXOptions
FinE_HPR
FinE_Inflation
FinE_IndexBonds
FinE_InflationDerivatives
FinE_MonteCarlo
FinE_MBB
FinE_OneFactorLattice
FinE_Portfolio
FinE_PCA
FinE_Swaps
FinE_Swaptions
FinE_System
FinE_Termstructures
FinE_Volatility
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
Agenda
Dyalog APL in FinE...
About FinE
About FinE Analytics 2
5
25
26
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++)
27
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!
28
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