A Domain-Specific Language for Financial Products Arie van Deursen May 2001.

Slides:



Advertisements
Similar presentations
Software development process. Explanation of the iterative nature of the software development process.
Advertisements

Lecture # 2 : Process Models
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Domain Engineering Arie van Deursen May Software Product Line  Group of products  sharing a common, managed set of features  to satisfy the.
BUSINESS MATHEMATICS 1.Calculation of Simple Interest 2.Calculation YTM 3.Capital Budgeting Techniques 4.Depreciation Methods.
Requirements and Design
Information System Design IT60105 Lecture 3 System Requirement Specification.
Software Testing and Quality Assurance
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
Risk Management in Financial Institutions (II) 1 Risk Management in Financial Institutions (II): Hedging with Financial Derivatives Forwards Futures Options.
Reasons to study concepts of PL
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Ch3: Software Engineering Principles 1 What is a principle?  Definition:  Goals of accounting principles:  Goals of software engineering principles?
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Programming Languages Structure
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
7M822 Software Requirements Introduction 7 September 2010.
Domain-Specific Software Architecture
Software Life Cycle Model
Data Structures and Programming.  John Edgar2.
Topic 5: The Management of Risk in Banking
 As a growing financial industry, Islamic finance needs hedging tools.  Islamic Profit Rate Swap (IPRS) is a contract designed as a hedging mechanism.
Kirt C. Butler, Multinational Finance, South-Western College Publishing, 3e 8-1 Chapter 8 Currency Swaps & Swaps Markets 8.1Parallel Loans: Necessity is.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Managing Software Quality
Hedging Financial Market Exposure Interest Rate Swaps Cross Currency Interest Rate Swaps.
Chapter 2 The process Process, Methods, and Tools
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
DBMS USERS.
Spring OBJECTIVES:  Generating financial forecasts (a fundamental element of any business plan)  To better understand the economics and drivers.
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
The Program Development Cycle
6.1.  All swaps involve exchange of a series of periodic payments between two parties usually through an intermediary which runs a swap book.  Given.
CHAPTER SEVEN Using Financial Futures, Options, Swaps, and Other Hedging Tools in Asset-Liability Management The purpose of this chapter is to examine.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Kirt C. Butler, Multinational Finance, South-Western College Publishing, 3e 8-1 Chapter 8 Currency Swaps & Swaps Markets 8.1Parallel Loans: Necessity is.
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
Professor XXX Course Name & Number Date Risk Management and Financial Engineering Chapter 21.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Kirt C. Butler, Multinational Finance, South-Western College Publishing, 2e 20-1 Chapter 20 Currency Swaps and Swaps Markets 20.1Parallel Loans: Necessity.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Swap Contracts. Swaps Swap: An agreement between two parties (“counterparties) to exchange a series of cash flows in the future –Essentially a series.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
SWAPS: Total Return Swap, Asset Swap and Swaption
Derivatives in ALM. Financial Derivatives Swaps Hedge Contracts Forward Rate Agreements Futures Options Caps, Floors and Collars.
SWAPS Mario Cerrato. Interest Rate Swaps (Hull 2008 is a good reference for this topic). Definition: an interest rate swap is an agreement between two.
Software Design and Development Development Methodoligies Computing Science.
Financial Risk Management
Financial Risk Management
Chapter 30 – Interest Rate Derivatives
Systems Analysis and Design
Dr Kishor Bhanushali Financial Swaps Dr Kishor Bhanushali
مقدمه اي بر مهندسي نيازمنديها
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Financial derivatives: swaps
Software development process
Building Order Cash-Flow Management, Invoicing
Presentation transcript:

A Domain-Specific Language for Financial Products Arie van Deursen May 2001

2 Financial Products  Financial needs of large customers  Start date, short / long maturity, currency  Manage risks (opportunities)  currency / interest rates  Interest rate products:  Loan, bond, option, future, swap  Different rate expectations / risk reallocation  Interbank trade.

3 Deposit Cash Flows Principle Amount Flow startmaturity Interest Amount Flow startmaturity Interest Payment period

4 Currency Interest Rate Swap  Start date: Bank A and Bank B exchange a large principle amount.  Bank A: Currency A, fixed interest rate P.  Bank B: Currency B, floating market rate.  Interest payment intervals  Maturity: swap back principle amounts.  Valuation depends on market expectations

5 Staying Competitive  Banks introduce new interest rate products  Software implications:  Management information systems (risk!)  Financial administration  All sorts or reporting  Bank’s solution:  Software generation

6 Risla  Rente Informatie Systeem -- Language  Describe essence of interest rate products in domain-specific language  Appropriate level of abstraction  Generate necessary Cobol routines  Interface to bank’s existing systems  Started in 1990  CAP, MeesPierson, ING, CWI.

7 The Risla Language  Product characterized by cash flows  Object-oriented influences:  Product description ~ class  Contract ~ object  Product provides methods for access, query, registraction  Various built-in data types + operations  Based on existing Cobol library

8 Example Risla Data Types  cash flow:  Interval:  cf-list: [, … ]  rate-interval:  int-rate-set: [ri1, …, riN]  balance: [, …, ]  given int-rate-set, balance, and date convention, compute interest amount cash flow list. Unpleasant to express in Cobol

9 product LOAN declaration contract data PAMOUNT : amount % Principal Amount STARTDATE : date % Starting date MATURDATE : date % Maturity data INTRATE : int-rate % Interest rate RDMLIST := [] : cashflow-list % List of redemptions. information PAF : cashflow-list % Principal Amount Flow IAF : cashflow-list % Interest Amount Flow registration % Register one redemption. RDM(AMOUNT : amount, DATE : date) Risla Loan: Interface

10 local % Final Principal Amount FPA(CHFLLIST : cashflow-list) : amount % Final redemption FRDM : cashflow error checks "Wrong term dates" in case of STARTDATE >= MATURDATE "Negative amount" in case of PAMOUNT < 0.0 implementation local define FPA as IBD(CHFLLIST, -/-PAMOUNT, MATURDATE) define FRDM as Risla Loan: Internals

11 information define PAF as [ ] >> RDMLIST >> [FRDM] define IAF as [ >), INTRATE ), MATURDATE >] registration define RDM as error checks "Date not in interval" in case of (DATUM = MATURDATE) "Negative amount" in case of AMOUNT <= 0.0 "Amount too big" in case of FPA(RDMLIST >> [ ]) > 0.0 RDMLIST := RDMLIST >> [ ] Risla Loan: Semantics

12 Risla’s Generated Cobol Risla Compiler Risla Product Definition Management Info. Routines (Cobol) Registration Methods (Cobol Input Screens (CICS) Legacy Data Structures (VSAM)

13 Modular Risla  Different products share larger chunks:  Swap consists of two Deposits  Various loans share “principal amount construction”  Combinations of product (parts) required  Modularization constructs  Library of “Building Blocks”  “Flattener”, mapping mod. Risla to pure Risla.

14 Modular Risla (II)  Modularization constructs:  Uses “one”, uses “many”  export, parameterization, renaming.  Example components:  Principle amount, duration, interest computations,  Flattening:  pro: simplicity; con: code size explosion

15 From Risla to Cobol Modular Risla Flat Risla ASF + SDF Flat Risla COBOL C / lex yacc Cobol Library Risla Functions Risla Building Blocks

16 Risla Evaluation  Successful adoption  Time to market: 3 months -> 3 weeks.  100 building blocks, 50 products  Merger survivor thanks to flexibility  Problematic  Maintenance of Risla tools  Flattening code explosion

17 Domain-Specific Languages Benefits  Correct level of abstraction.  Self documenting  Portability  Optimizability  Testability Risks  Cost of DSL design and implementation  Education cost  Limited availability  Finding proper scope  Balance between general purpose / domspec  Loss of efficiency

18 In Conclusion  Risla users satisfied  Open issues  How to decrease cost of tool development and maintenance  How to find suitable domains: domain engineering