Case study: A DSL for normalization of financial data sets Software Development Automation 2014 Edwin Hautus The Science of Finance.

Slides:



Advertisements
Similar presentations
Remedy Statistics April 2009 May 28th 2009 Paris Desktop Support Analysis only done with Remedy tickets (Incident-Task-Request) (GRS requests are not included.
Advertisements

Scenario Overview Purpose and Benefits: Purpose
© 2013 Sri U-Thong Limited. All rights reserved. This presentation has been prepared by Sri U-Thong Limited and its holding company (collectively, “Sri.
Pension Fund Trustees Liability Ncedi Mbongwe. Introduction to Camargue Underwriting Managers Established in 2001 Underwriters: Mutual and Federal and.
© 2014 Microsoft Corporation. All rights reserved.
“This workforce solution was funded by a grant awarded under Workforce Innovation in Regional Economic Development (WIRED) as implemented by the U.S. Department.
Innovations in Structured Products October 25, 2010 An Innovator’s Dilemma?
Mercer’s Climate Change Research 2011 to 2015
1 Copyright © 2012 Mahindra & Mahindra Ltd. All rights reserved. 1 Hybrid Projects - Defect Management - Process and Roles.
THE BUSINESS RESEARCH COMPANY TECHNOLOGY CASE STUDIES.
THE BUSINESS RESEARCH COMPANY HEALTHCARE CASE STUDIES.
The Business Research Company Understand Consumers.
Chapter 13 Prepared by Richard J. Campbell Copyright 2011, Wiley and Sons Auditing Human Resources Processes: Personnel and Payroll in Service Industries.
QBE European Operations The QBE Foundation: Giving something back.
The Business Research Company Develop Products and Services.
Infrastructure for REDD+ In-country Development Jane Lloyd \ Santa Marta \ June 29 th 2012 Forest Carbon Partnership Participants Committee.
Permission to reprint or distribute any content from this presentation requires the prior written approval of Standard & Poor’s. Copyright © 2010 Standard.
Web Policy Ensuring the Integrity, Consistency and Protection of UWI’s online brand Nazir Alladin Director Campus IT Services University of the West Indies.
PRODUCTIVITY – THE PICTURE FOR THE UK & THE WEST MIDLANDS SUSTAINING COMPETITIVENESS CONFERENCE – THE BELFRY RHYS HERBERT SENIOR ECONOMIST 6 JULY 2012.
Permission to reprint or distribute any content from this presentation requires the prior written approval of Standard & Poor’s. Copyright © 2014 by Standard.
National Alliance for Medical Image Computing Licensing in NAMIC 3 requirements from NCBC RFA (paraphrased)
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Manage Receipts.
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Put Away Loads.
14 June 2011 Global economic recovery: From a surging start to a softer patch? Rob Dobson.
S T R I C T L Y P R I V A T E A N D C O N F I D E N T I A L 1 [ PRESENTED AT THE ASIAN BANKER SUMMIT 2011 ] April 7, 2011 LIQUIDITY MANAGEMENT POST 2008.
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Manage Supplier Returns.
Permission to reprint or distribute any content from this presentation requires the prior written approval of Standard & Poor’s. Copyright © 2011 Standard.
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Manage and Disposition Inventory Returns.
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Inspect Material.
34 th Gas-Lift Workshop Singapore February , 2011 This presentation is the property of the author(s) and his/her/their company(ies). It may not be.
Oracle E-Business Suite R12.1 Accounts Payables Partner Boot Camp Training Courseware Part VIII – Transaction Taxes in Payables.
For Oracle employees and authorized partners only. Do not distribute to third parties. © 2008 Oracle Corporation – Proprietary and Confidential.
1 of 26 For Oracle employees and authorized partners only. Do not distribute to third parties. © 2009 Oracle Corporation – Proprietary and Confidential.
Introducing Novell ® Identity Manager 4 Insert Presenter's Name (16pt) Insert Presenter's Title (14pt) Insert Company/ (14pt)
Oracle E-Business Suite R12.1 Accounts Receivables Essentials Partner Boot Camp Training Courseware.
Customer Success Stories. How BlackBerry ® Enterprise Service 10 and BlackBerry ® 10 are helping to solve mobility challenges for leading enterprises.
Report on Jobs – Vacancy Trends 19 July 2012 Markit Economics.
-1- For Oracle employees and authorized partners only. Do not distribute to third parties. © 2009 Oracle Corporation – Proprietary and Confidential Oracle.
Permission to reprint or distribute any content from this presentation requires the prior written approval of Standard & Poor’s. Copyright © 2011 Standard.
Can Newspapers Survive Paul Harris / London / October 2012.
The secure site rendering issue (all navigation crushed together as a list at the top of the page) is a compatibility issue with Internet Explorer only.
TechM SAP Warranty. 2 Copyright © 2014 Tech Mahindra. All rights reserved. Warranty ‒ Manage Dealer claims using inbuilt system and business validations.
1 Parsing call numbers for labels Yoel Kortick Senior Librarian.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Oracle Proprietary and Confidential. 1.
Markit PMI James Kwan \ ***DATE*** The Science of Finance.
Connectivity to bank and sample account structure
RaboDirect Financial Health Barometer 2016
Automation in an XML Authoring Environment
Self-Registration walk-through
40th Gas-Lift Workshop Houston, Texas, USA Oct. 23 – 27, 2017
Population Age 65 and older
Presentation Title Presenter(s) name(s) and job title(s), if needed
Environmental Upgrade Finance
Motivation for 36OU Open Rack
41st Gas-Lift Workshop Houston, Texas, USA June 3 - 7, 2019
E-commerce payments for insurance
36th Gas-Lift Workshop Stavanger, Norway February 4 – 8, 2013
BEMS user Manual Fundación cartif.
© 2013 Sri U-Thong Limited. All rights reserved
41st Gas-Lift Workshop Houston, Texas, USA June 3 - 7, 2019
Presentation transcript:

Case study: A DSL for normalization of financial data sets Software Development Automation 2014 Edwin Hautus The Science of Finance

\ 2 Agenda —Problem Domain —First iteration —Second iteration —Lessons learned

\ 3 We are a leading global diversified provider of financial information services We help our customers reduce risk, improve operational efficiency and benefit from enhanced transparency Our customers include investment banks, hedge funds, asset managers, central banks, regulators, auditors, fund administrators and insurance companies Problem Domain 2003 Founded 3,000+ Employees 3,000+ Customers 20+ Offices

\ 4 Problem Domain

\ 5 Normalization questions —Identification - is it the same object? —Field mapping - do these fields have the same semantics? —Structural changes – how can the data be transformed? Problem Domain

\ 6 Workflow & Roles

\ 7 Problem Domain Problem Statement Define a framework to improve efficiency and quality of normalization

\ 8 First iteration (2007) —Standardize writing of normalization specifications —Create a domain model to describe the data structures —Create a XML-based DSL to define mappings —Use a runtime engine to execute the mappings First iteration

\ 9 Results —Good improvement in efficiency and quality —Applied in over 75 projects —The XML DSL is too technical for data analysts —Quite a few iterations required to make sure mappings meet the requirements —Mappings can become really complicated! First iteration

\ 10 Second Iteration (2013) —Have analysts write mappings directly —Create parsed language to replace XML (based on ANTLR) —Simplify business logic —Allow analyst to verify mappings with runnable tests before handover Second iteration

\ 11 Field name mapping Second iteration Instrument isin Bond isinCode input Bond bond Instrument instrument = from bond { isin = isinCode }

\ 12 Field mapping with simple transformation Second iteration InstrumentType cfiSedolcfiCode input Sedol sedol InstrumentType instrumentType = from sedol { cfi = cfiCode.substring(0,2) + “XXXX” }

\ 13 Field mapping via map Second iteration InstrumentType cfiAnnadebtEquityCode Map input Anna anna InstrumentType instrumentType = from Anna { cfi = debtEquityCodeToCfi[debtEquityCode] } Map debtEquityCodeToCfi = { "D" = "DBXXXX" "E" = "ESXXXX" >> "MMXXXX“ >> "MMXXXX“}

\ 14 Structural change: unfold Second iteration input MarkitMap markitMap Company company = from markitMap { from lei { lei = leiCode }} Company leiMarkitMaplei Lei leiCode

\ 15 Structural change: fold Second iteration input Company company MarkitMap markitMap = from company { lei = { leiCode = lei }} Company leiMarkitMap Lei lei Lei leiCode

\ 16 Structural change: fold list field Second iteration input Instrument instrument Sedol sedol = from instrument { details = from sedols { sedolCode = it actionIdentifier = “I” }} Instrument sedols[]Sedoldetails[] SedolDetails sedolCode actionIdentifier

\ 17 Conditional mapping Second iteration input Bond bond Instrument instrument = from bond { if isin { identifier = isin }else{ identifier = cusip }} Instrument identifier Bond isin cusip ?

\ 18 Annotations Second iteration Instrument isin Bond isinCode namename input Bond bond Instrument instrument = from bond { isin = name = name }

\ 19 Additional language features —Asserts —Functions —Imports —Comments Second iteration

\ 20 Lessons learned on DSL development —Using a syntax based approach is worth the effort —DSLs need to be periodically refined as you learn about the domain —Provide integrated testing solution Lessons learned

\ 21 Key factors in adoption of the DSL by business users —Requires more effort from users in order to be precise —Provides feeling of empowerment —Immediate feedback loop through test functionality is crucial Lessons learned

mines data pools intelligence surfaces information enables transparency builds platforms provides access scales volume extends networks & transforms business.

The information contained in this presentation is confidential. Any unauthorised use, disclosure, reproduction or dissemination, in full or in part, in any media or by any means, without the prior written permission of Markit Group Holdings Limited or any of its affiliates ("Markit") is strictly prohibited. Opinions, statements, estimates and projections in this presentation (including other media) are solely those of the individual author(s) at the time of writing and do not necessarily reflect the opinions of Markit. Neither Markit nor the author(s) has any obligation to update this presentation in the event that any content, opinion, statement, estimate or projection (collectively, "information") changes or subsequently becomes inaccurate. Markit makes no warranty, expressed or implied, as to the accuracy, completeness or timeliness of any information in this presentation, and shall not in any way be liable to any recipient for any inaccuracies or omissions. Without limiting the foregoing, Markit shall have no liability whatsoever to any recipient, whether in contract, in tort (including negligence), under warranty, under statute or otherwise, in respect of any loss or damage suffered by any recipient as a result of or in connection with any information provided, or any course of action determined, by it or any third party, whether or not based on any information provided. The inclusion of a link to an external website by Markit should not be understood to be an endorsement of that website or the site's owners (or their products/services). Markit is not responsible for either the content or output of external websites. Copyright ©2014, Markit Group Limited. All rights reserved and all intellectual property rights are retained by Markit. Disclaimer