QuantLib/ObjectHandler usage in commercial appilcations...

Posted by Toyin Akin on
URL: http://quantlib.414.s1.nabble.com/QuantLib-usage-in-commercial-appilcations-tp11354p11355.html


Hi All,

As you may know, we at CapeTools QuantTools have used a large portion of the
QuantLib library within our commercial software.

Very recently, we had many requests for a light weight version where the
(2100+ functions) Excel Addin was to be broken up into several smaller
addins.

Each addin should know how to handle it's own subset of calculations.

The difficulty though was that some addins depend on others and because our
libraries construct objects, that meant passing financial objects from one
addin to another.

I myself have never encounted an Excel addin (or if you like, Excel c++ dll
library) before that allows you to pass objects between addins. Passing
ranges, basic data types yes, but never passing references to objects where
the original objects were created and reside within other addins.

Traditionally passing objects within C++, where the objects hold stl
containers or stl data types is an absolute pain in the ar@e. STL may be an
excellent toolkit within a library, but across dll boundaries it sucks.

This was the problem that we faced. How does one pass c++ objects across dll
boundaries where some objects may not implement copy constructors, may not
be copyable, may contain stl objects or even objects with static data
members.

We toyed for weeks on this. Then I remembered Eric Ehlers (and his team's)
ObjectHandler project.

Folks, this is quite an amazing library.

In just a few days, we were able to solve all of the above problems.

boost::any helps of course, but this is a nice little library.

We now have one library that functions as the repository of objects and any
of our financial addin libraries that are loaded into Excel can now have
access to objects created within another addin
(we used only a small subset of ObjectHandler's functionality).

For example, we have a curves addin which just builds yieldcurve objects,
volatility curve objects, repo curve objects, bond curve objects etc...

For those users that simply want to interrogate the curves, the curve addin
is enough.

For those users that wish to price an instrument and thus need access to the
curves, they will then need to load the appropriate addin (into the same
Excel instance). This other addin can then access these curve objects and
use the curves for pricing.

As Eric states, this is not just an Excel solution, but for us it saved us a
lot of hassle.

We have now released new libraries based on the new architecture.
Trial versions are avaliable (no need to register!!)

Best Regards,
Toyin Akin,
www.QuantTools.com

>From: "Toyin Akin" <[hidden email]>
>To: [hidden email],[hidden email]
>Subject: [Quantlib-dev] QuantLib usage in commercial appilcations...
>Date: Mon, 13 Nov 2006 15:47:01 +0000
>
>
>Hi all,
>
>Today I have posted up version #2 of my financial toolkit based largely
>upon QuantLib.
>
>We, www.QuantTools.com, have tried to deliver a pricing platform, pretty
>similar to FinancialCAD, MBRM and other such commercial financial
>application frameworks. The main difference between the said systems and
>our framework is that we use objects heavily within our functions (rather
>than rectangular ranges of information).
>
>Thus we have been able to provide functionality that is not possible under
>the said systems (ie - given an interest rate product, be able to compute
>interest rate yieldcurve/volatility curve/SABR risk within the library
>rather than within a spreadsheet).
>
>We used as much public domain code as possible so that our own costs were
>low as well as allowing the users to have access to most of the algorithms.
>
>You may have remembered that version #1 of my library (3 years ago) was
>based on .NET entirely and a free ASP.NET web site was created for the
>pricing of structured products.
>
>Unfortunatly, our hosting company did not like the fact that the server was
>running at 100% capacity and thus delivering poor performance for other web
>sites also hosted on the same box.
>
>I was advised to move this system onto a dedicated box, but that meant
>paying for one in which case the service would no longer be free.
>
>Version #2 is a complete rewrite in C++.
>
>The libraries can be downloaded and evaluated. There is an Excel Addin as
>well as C++, java (via JNI), .NET (does not use COM interp),  Excel VBA
>addin and an ActiveX (COM) component (for a small fee!!).
>
>The Excel Addin and the libraries all have the same interface and expose
>over 2100 functions and practically exposes most of the functionality
>within the QuantLib library.
>
>The library also boasts generic pricing routines via MonteCarlo, Tree and
>PDE frameworks as well as reading FpML files into Excel and applying XPath
>statement to display nodes.
>
>There are online code samples (in 8 languages) and object diagrams to help
>understand the relationship between objects during a function call.
>
>In summary I would like to thank the entire QuantLib team for providing
>such a wonderful framework.
>
>The last three years of coding this version was certainly stressful.
>However without QuantLib we could have easily added three more years (as
>well as hiring a lot of very expensive consultants/contractors!!).
>
>Check it out, I think you'll like it...
>
>Best Regards,
>Toyin Akin.
>www.QuantTools.com
>
>_________________________________________________________________
>Windows LiveĀ™ Messenger has arrived. Click here to download it for free!
>http://imagine-msn.com/messenger/launch80/?locale=en-gb
>
>


>-------------------------------------------------------------------------
>Using Tomcat but need to do more? Need to support web services, security?
>Get stuff done quickly with pre-integrated technology to make your job
>easier
>Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642


>_______________________________________________
>QuantLib-dev mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/quantlib-dev

_________________________________________________________________
It's Hotmail's 10th Birthday! Come and play Pass the Parcel
http://www.msnpasstheparcel.com