Quantlib

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

Quantlib

Przemyslaw Sliwa
All,

I would like to work (program) a little bit on Quantlib.
Is it possible at all? I have 3 years of C++ anf 5 of C experience.
If yes I would like to know if there is a design document for Quantlib.

Thanks for help,

Przemyslaw


Reply | Threaded
Open this post in threaded view
|

Re: Quantlib

Luigi Ballabio
On 01/06/05 18:52:01, Przemyslaw Sliwa wrote:
>
> I would like to work (program) a little bit on Quantlib.
> Is it possible at all?

Przemyslaw,
        sure it is. Is there anything in particular you'd like to work on?
In the meantime, you can have a look at the developer intro at
<http://quantlib.org/newdeveloper.shtml>.

> If yes I would like to know if there is a design document for Quantlib.

Alas, there isn't---and the lack of one is getting more of an issue as the  
library grows. On the other hand, new developers jumping in might share  
their notes as they get to know the library (and of course, we would be  
there to help.)  The recent proposal of setting up a wiki begins to appear  
to me in a whole new light... Joseph, are you listening? :)

Later,
        Luigi




Reply | Threaded
Open this post in threaded view
|

Re: Quantlib

Przemyslaw Sliwa
Thanks for reply.
I would like to work around credit derivatives if you need something in
this direstion, callibration of default probabilities, coupulas and some
stochastic volatility options: heston, white-hul, etc. Is there a need to
make it? I have also a bit of experince in numerical analysis,

So, if there is no spec for the Quantlib how should we know what C++
technique is prefered? Templates or multiple inheritance? What is the
prefered naming convention for the namespaces,classes, etc.

How should I start from scratch?

Thanks for help,

Pshem

> On 01/06/05 18:52:01, Przemyslaw Sliwa wrote:
>>
>> I would like to work (program) a little bit on Quantlib.
>> Is it possible at all?
>
> Przemyslaw,
> sure it is. Is there anything in particular you'd like to work on?
> In the meantime, you can have a look at the developer intro at
> <http://quantlib.org/newdeveloper.shtml>.
>
>> If yes I would like to know if there is a design document for Quantlib.
>
> Alas, there isn't---and the lack of one is getting more of an issue as the
> library grows. On the other hand, new developers jumping in might share
> their notes as they get to know the library (and of course, we would be
> there to help.)  The recent proposal of setting up a wiki begins to appear
> to me in a whole new light... Joseph, are you listening? :)
>
> Later,
> Luigi
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Quantlib

Luigi Ballabio
On 01/13/05 18:55:23, Przemyslaw Sliwa wrote:
> I would like to work around credit derivatives if you need something in
> this direstion, callibration of default probabilities, coupulas and some
> stochastic volatility options: heston, white-hul, etc. Is there a need to
> make it? I have also a bit of experince in numerical analysis,

Sure--in general, there is need of anything which in not in the library  
already :)  Credit derivatives would be an expecially welcome addition.


> So, if there is no spec for the Quantlib how should we know what C++
> technique is prefered? Templates or multiple inheritance? What is the
> prefered naming convention for the namespaces,classes, etc.

As to templates or inheritance, we usually go for abstract base classes  
defining an interface as virtual functions and derived classes implementing  
it. On the other hand, the implementation of the derived classes often uses  
templates :)  (you can see an example if you look at PricingEngine and its  
many children.)

As to naming conventions and such, there's a style guide at  
<http://quantlib.org/style.shtml> (which, methinks, I sometimes violate  
myself.) But don't take it too seriously.

And as to namespaces, there's only one namespace QuantLib, with the  
addition of a sub-namespace QuantLib::detail used for classes and functions  
which are not part of the library interface (in other words, they are  
implementation details) but that one can't avoid putting in a header file  
(e.g., because they're template.)  When it is possible to define such  
functions in a .cpp, they're defined in an anonymous namespace.


> How should I start from scratch?

Seeing as you're willing to work on credit derivatives, I'd suggest you to  
look at yield term structures to see how they're implemented---the relevant  
files are ql/basetermstructure.hpp, ql/termstructure.hpp, and those in the  
directory ql/TermStructures.  You can build on that framework. By all  
means, feel free to ask anything you need.

Later,
        Luigi