280 likes | 302 Views
FinE Analytics offers a comprehensive financial framework system for analysis, keyfigure calculations, pricing, and risk management of various financial instruments. The system is flexible, database independent, and integrates easily with other IT systems.
E N D
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 ? • 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)
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
Agenda About FinE Analytics 2 About FinE 5 Dyalog APL in FinE... 25
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Agenda About FinE Analytics 2 About FinE 5 Dyalog APL in FinE... 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