Re: FpML support in QuantLib

Posted by Toyin Akin on
URL: http://quantlib.414.s1.nabble.com/FpML-support-in-QuantLib-tp565p566.html


Hi Patrick,

I have actually worked with FpML 4.1 for quite a few years now.

Even wrote a code generator to convert FpML 4.1 XSD elements/complex types
into c++ classes a couple of years back.

There are a host of tools for converting XSD files to classes (java, .NET
etc...) today, however the FpML 4.1 definition defines hundreds of classes.
This, I believe, would need to go into a separate library because, well,
it's simply an interface to FpML and with the number of classes that would
be generated, would add a significant size increase to your library.

The interaction between FpML classes is very complex and thus it is not
enough to simply generate the classes, you would really need to know and
understand the FpML specification in order to correctly use the generated
classes. I remember trying, at one point, to map CMS swaps to the FpML
specification and it wasn't there.

A lot of the definitions within FpML do not map onto QuantLib classes, thus
if you wanted to do some sort of QuantLib structure to FpML structure, you
would need to fill in the missing pieces within QuantLib (again FpML is
huge).

I think if one was to try and map QuantLib structures onto FpML
classes/structures, it would be best to use some sort of mapping tool. If
the QuantLib framework can be defined in XML (XSD) notation, I believe there
are a few tools out there that simply via a drag, drop process, would
generator the code to move from QuantLib to FpML (I believe Microsoft
Biztalk server has this functionality however this is more of a server
tool). But this assumes that you can serialise QuantLib objects to XML (and
thus there is a defined XSD file).

The question is what do you want to use FpML for?

Is it to simply read a FpML contract and price it in QuantLib?
Give QuantLib the ability to read and write FpML documents?

Again, the latter question would be hard to fulfill simply because you are
assuming that QuantLib (or any other financial library) is FpML compliant
(ie - every aspect of FpML can be mapped to the library's classes or series
of classes).

The first question can be solved by simply using XPath to read the sections
of the FpML document yourself and then creating the needed structure to
house the information within your pricing system (I have done this within my
own library).

You could I guess start small and concentrate on a small sub-section of FpML
that QuantLib supports (ie - vanilla swaps).

The only other difficult issue is that QuantLib is exported to quite a few
languages and I believe that unless you have a XSD c++ generator, the
QuantLib team would need another routine in order to expose this
functionality to .NET, Python, Perl etc...

Best Regards,
Toyin Akin,
CapeTools QuantTools
www.QuantTools.com


>From: "J. Patrick Bedell" <[hidden email]>
>To: [hidden email]
>Subject: [Quantlib-users] FpML support in QuantLib
>Date: Mon, 29 Jan 2007 21:59:11 -0800
>
>Hello,
>    I am interested in implementing the financial products markup
>language (FpML) support in QuantLib.  The FpML 4.1 standard is defined
>in part by a set of XML schema definition (.xsd) files, which can be
>processed with the GPL CodeSynthesis xsd tool
>(http://www.codesynthesis.com/products/xsd/).  The code generated by
>the xsd tool is available at
>http://infoeng.sourceforge.net/xsd-fpml-4.1-01 , but of course that is
>just the start of the code that must be written.  FWIW, the Javadoc
>for ApacheXMLBeans code from FpML 4.1 is at
>http://infoeng.sourceforge.net/fpml .
>    Does anyone have any real-world user scenarios for development of
>FpML?  Any pointers or suggestions as I work to prepare a QuantLib
>enhancement proposal and associated code?
>    Thanks!
>
>    Patrick
>    [hidden email]
>
>
>On 1/29/07, [hidden email]
><[hidden email]> wrote:
> > Welcome to the [hidden email] mailing list!
> > Mailing list for QuantLib developers.
> >
> > It's assumed that if you're a QuantLib developer you're also
> > subscribed to &lt;a
> >
>href="http://lists.sourceforge.net/mailman/listinfo/quantlib-users">quantlib-users&lt;/a>.
> > So far quantlib-dev is a low volume mailing list.
> >
> > To post to this list, send your email to:
> >
> >   [hidden email]
> >
> > General information about the mailing list is at:
> >
> >   https://lists.sourceforge.net/lists/listinfo/quantlib-dev
> >
> > If you ever want to unsubscribe or change your options (eg, switch to
> > or from digest mode, change your password, etc.), visit your
> > subscription page at:
> >
> >  
>https://lists.sourceforge.net/lists/options/quantlib-dev/jpbedell%40mises.com
> >
> >
> > You can also make such adjustments via email by sending a message to:
> >
> >   [hidden email]
> >
> > with the word `help' in the subject or body (don't include the
> > quotes), and you will get back a message with instructions.
> >
> > You must know your password to change your options (including changing
> > the password, itself) or to unsubscribe.  It is:
> >
> >   kabuiwid
> >
> > Normally, Mailman will remind you of your lists.sourceforge.net
> > mailing list passwords once every month, although you can disable this
> > if you prefer.  This reminder will also include instructions on how to
> > unsubscribe or change your account options.  There is also a button on
> > your options page that will email your current password to you.
> >
>
>-------------------------------------------------------------------------
>Take Surveys. Earn Cash. Influence the Future of IT
>Join SourceForge.net's Techsay panel and you'll get the chance to share
>your
>opinions on IT & business topics through brief surveys - and earn cash
>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>_______________________________________________
>QuantLib-users mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/quantlib-users

_________________________________________________________________
Get Hotmail, News, Sport and Entertainment from MSN on your mobile.  
http://www.msn.txt4content.com/


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users