FpML support in QuantLib

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

FpML support in QuantLib

J. Patrick Bedell-3
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
Reply | Threaded
Open this post in threaded view
|

Re: FpML support in QuantLib

Toyin Akin

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
Reply | Threaded
Open this post in threaded view
|

Re: FpML support in QuantLib

eric ehlers
In reply to this post by J. Patrick Bedell-3
Hi Patrick,

On 1/30/07, J. Patrick Bedell <[hidden email]> wrote:
> FpML?  Any pointers or suggestions as I work to prepare a QuantLib
> enhancement proposal and associated code?

Please see

    http://quantlib.org/reference/faq.html#faq_fpml

Regards,
Eric

-------------------------------------------------------------------------
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
Reply | Threaded
Open this post in threaded view
|

Re: FpML support in QuantLib

Ferdinando M. Ametrano-3
In reply to this post by Toyin Akin
Hi Patrick,

I think you're on the right track, or at least the track I would love
and support :-)

On 1/30/07, Toyin Akin <[hidden email]> wrote:
> 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?
for me the goal should be the latter

> 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).
I think that FpML compliance should be a must, and I'm personally
willing to support any development in this direction.

I look forward to your QuEP

ciao -- Nando

PS and let me add that any name AT mises.com immediately gets my
wholehearted sympathy :-)

-------------------------------------------------------------------------
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
Reply | Threaded
Open this post in threaded view
|

Re: FpML support in QuantLib

Toyin Akin
Hi,

Okay, if full FpML compliance is needed, you could check out

www.liquid-technologies.com

They provide a toolkit that can turn a FpML document schema into c++, java
or .NET classes.
In fact it turns any XSD into c++, java or .NET classes.

I have used it and it works wonderfully.

You can actually use it to generate FpML classes, package this as a library
and then write interface code that will map between QuantLib and FpML (in
time of course).

The library that is generated is freely distributed. (I'm not too sure if
the source itself is freely distributed).

The genrated FpML library will contain hundreds of classes thus you will
need a FpML domain expert in order to do the mapping.

I actaully helped beta test the toolkit a couple of years ago and today it's
used by a number of top banks.

I think it's the cheapest solution compared to a lot of the competition I
played with. It also generates beautiful code. XSD enumerators are mapped to
enums. XSD patterns and restrictions are validated also in code.

The only other issue is that although you may have a schema that is valid
(according to the XSD), you can still package a deal that does not make
sense financially, thus there is yet another layer on top of the XSD that
trys to capture invalid trade structures within a FpML file (swapswire is
one such company that is looking into this). This is part of the validation
commitee within FpML and I do believe that they have published serveral
rules with examples.

This is certainly needed in the case of accepting a FpML document and trying
to price a deal in which internally, does not make financial sense. (ie -
accepting a FpML swaption document where the underlying swap has 0, 1 or
more than 2 cashflow legs!!).

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

>From: "Ferdinando Ametrano" <[hidden email]>
>To: [hidden email]
>CC: [hidden email], "Toyin Akin"
><[hidden email]>
>Subject: Re: [Quantlib-users] FpML support in QuantLib
>Date: Tue, 30 Jan 2007 12:39:28 +0100
>
>Hi Patrick,
>
>I think you're on the right track, or at least the track I would love
>and support :-)
>
>On 1/30/07, Toyin Akin <[hidden email]> wrote:
>>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?
>for me the goal should be the latter
>
>>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).
>I think that FpML compliance should be a must, and I'm personally
>willing to support any development in this direction.
>
>I look forward to your QuEP
>
>ciao -- Nando
>
>PS and let me add that any name AT mises.com immediately gets my
>wholehearted sympathy :-)

_________________________________________________________________
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