After my recent encounter with FpML I decided to write my thoughts on it. The aim of this post to present a general idea about FpML. FpML or Financial products Markup Language is an XML Specification for representing financial products and constructs as XML. The main purpose of FpML is to automate, standardize and integrate financial processes and systems. Examples of such processes are Trading, Trade Confirmation, Reporting and such.
What can I do with FpML?
You can download the FpML schemata and create XML documents that adhere to these XSDs. You can also accept XML Documents from third parties and validate them against these XSDs and parse these documents to feed into your back-end systems.
What tools do I use to program with FpML?
Really, you just use a standard XML Parser and validator. FpML is a specification and not a tool. For example it specifies how a Bond would be represented via XML (for example what should be the name of the XML Tag that stores the Bond's Identifier or Coupon or other properties) or how should a Trade be represented via XML. So all you need is a XML Parser and schema validator.
So what's the big deal about FpML?
A lot of work has been put in by the FpML Working Group to figure out how different financial instruments and processes should be represented in an XML Format. The schemata are very detailed and the Object Oriented-ness of structures has been maintained. To some this may seem as overkill while some may argue that such structure is necessary to achieve the high level of integration and interoperability desired.
Why do we need interoperability in Financial processes?
It would be hard to argue that there is a downside to interoperability in general. But to be specific in finance/trading there are many instances when trade information needs to be duplicated by manual methods (for instance a human being copies data from a screen to another). This is error prone and is a waste of time as well. Also, interoperability means that separate services can be delegated to different parties more easily if a common language is followed.
As I learn more about FpML and get some more time, I will update this page with more info.
This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at License)