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