boostify QL

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

boostify QL

Ferdinando M. Ametrano-3
On Fri, Nov 20, 2009 at 8:15 AM, Nicolai Lassesen <[hidden email]> wrote:
> I would be happy to help boostify QL. How would you go about doing it? Use the
> Boost date class and give up Quantlib date?

1) replace as much QuantLib:Date implementation as possible using
Boost, preserving backward compatibility and Excel date number
compatibility
2) extend discrete (integer) Date to continuous (decimal) Date, again
preserving backward compatibility and Excel date number compatibility
3) finally if the QuantLib wrapper layer is thin enough support me in
lobbying for getting rid of QuantLib::Date in a backward incompatible
QuantLib 2.0   :-)

Similar approaches could be used for math (especially distributions),
random numbers, and any other area where Boost and QuantLib overlap.

The black-belt developer might even try to replace QuantLib
Observer/Observable with Boost signals/slots, and maybe replace the
other patterns with Loki

Rest assured we'll pay due credit even if you just remove code
resulting in few source files with your name in it :-)

ciao -- Nando

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: boostify QL

Dimathematician
I'm not sure whether we should switch to boost's date library. Also, I
haven't seen how signals could potentially
replace observer/observables. However, I definitely think that a
boostification is the way to go. And the usage
of advanced classes like the Loki ones. As a first step, I'd really
suggest to replace the distribution functions with
the one in boost. This is I think easy to do and would be the first
boostification step.


Ferdinando Ametrano schrieb:

> On Fri, Nov 20, 2009 at 8:15 AM, Nicolai Lassesen <[hidden email]> wrote:
>  
>> I would be happy to help boostify QL. How would you go about doing it? Use the
>> Boost date class and give up Quantlib date?
>>    
>
> 1) replace as much QuantLib:Date implementation as possible using
> Boost, preserving backward compatibility and Excel date number
> compatibility
> 2) extend discrete (integer) Date to continuous (decimal) Date, again
> preserving backward compatibility and Excel date number compatibility
> 3) finally if the QuantLib wrapper layer is thin enough support me in
> lobbying for getting rid of QuantLib::Date in a backward incompatible
> QuantLib 2.0   :-)
>
> Similar approaches could be used for math (especially distributions),
> random numbers, and any other area where Boost and QuantLib overlap.
>
> The black-belt developer might even try to replace QuantLib
> Observer/Observable with Boost signals/slots, and maybe replace the
> other patterns with Loki
>
> Rest assured we'll pay due credit even if you just remove code
> resulting in few source files with your name in it :-)
>
> ciao -- Nando
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
>  


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: boostify QL

Ferdinando M. Ametrano-3
On Fri, Nov 27, 2009 at 12:29 PM, Dima <[hidden email]> wrote:
> I'm not sure whether we should switch to boost's date library.

Would you please elaborate your point ?

> Also, I
> haven't seen how signals could potentially
> replace observer/observables.

I might be completely wrong here as I'm not familiar about boost
signal/slot, anyway according to wikipedia it's one implementation of
the observer pattern:
http://en.wikipedia.org/wiki/Observer_pattern

> As a first step, I'd really suggest
> to replace the distribution functions with
> the one in boost. This is I think easy to do and would be the first
> boostification step.

and since I forgot in my first email, please let me add that also the
boost stats classes might be an improvement.
Maybe even a performance improvement in MC when you only need mean and
variance and don't need the higher moments which are calculate in QL
stat classes

ciao -- Nando

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: boostify QL

Dimathematician
Would you please elaborate your point?

Can I do it by taking back what I said :)? I was more referring to the
calendar classes, which I think work well in QuantLib
and might not be the focus of the boost library. The simple date classes
can be taken from boost I think. In particular, because
they already have linked dates and times, see the code below

    ptime now = second_clock::local_time();
 
    date today = now.date();
    date tommorrow = today + days(1);
   
    ptime tommorrow_start(tommorrow); //midnight
    time_duration remaining = tommorrow_start - now;


Regarding boost stats: I've seen the accumulator library, but found it
very painful/cryptic to use. Eg. to calculate the covariance
you need to setup a cummulator set with

accumulator_set<double, stats<tag::covariance<double, tag::covariate1>>> acc;

Or for a quantile calculation:

accumulator_set<double, stats<tag::tail_quantile<right>>> acc0(tag::tail<right>::cache_size = c);







Ferdinando Ametrano schrieb:

> On Fri, Nov 27, 2009 at 12:29 PM, Dima <[hidden email]> wrote:
>  
>> I'm not sure whether we should switch to boost's date library.
>>    
>
> Would you please elaborate your point ?
>
>  
>> Also, I
>> haven't seen how signals could potentially
>> replace observer/observables.
>>    
>
> I might be completely wrong here as I'm not familiar about boost
> signal/slot, anyway according to wikipedia it's one implementation of
> the observer pattern:
> http://en.wikipedia.org/wiki/Observer_pattern
>
>  
>> As a first step, I'd really suggest
>> to replace the distribution functions with
>> the one in boost. This is I think easy to do and would be the first
>> boostification step.
>>    
>
> and since I forgot in my first email, please let me add that also the
> boost stats classes might be an improvement.
> Maybe even a performance improvement in MC when you only need mean and
> variance and don't need the higher moments which are calculate in QL
> stat classes
>
> ciao -- Nando
>
>  


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev