Re: schedule / full interface

Posted by Peter Caspers-4 on
URL: http://quantlib.414.s1.nabble.com/schedule-full-interface-tp16512p16517.html

here is my try

https://github.com/lballabio/quantlib/pull/230



On 25 April 2015 at 18:45, Peter Caspers <[hidden email]> wrote:

> I will try to send a PR which does that. Francois, you'd be happy with
> that kind of solution, too ?
> Peter
>
> On 25 April 2015 at 09:02, Luigi Ballabio <[hidden email]> wrote:
>> Yes, this would work.
>>
>> Luigi
>>
>> On Apr 25, 2015 8:52 AM, "Peter Caspers" <[hidden email]> wrote:
>>>
>>> ok thanks. Couldn't we do it just like that:
>>>
>>> Extend the already existing constructor (taking a vector of dates, a
>>> calendar and bdc) such that it accepts the other stuff (termination
>>> date convention, generation rule, tenor, end of month flag, a vector
>>> of booleans indicating regular periods, I guess that's it). Everything
>>> except the first vector of dates should be wrapped in boost::optional
>>> and defaulted to null.
>>>
>>> The inspector fullInterface() returns true if either the rule based
>>> constructor is used or the other one and _all_ meta information is not
>>> null.
>>>
>>> The single inspectors for the meta data return the meta data piece
>>> that is required, if not null, and throws otherwise (i.e. it does not
>>> check for the full interface given, only for the requested piece of
>>> information to be available).
>>>
>>> As far as I can see that would be a pragmatic solution giving full
>>> flexibility, wouldn't it ?
>>>
>>> Peter
>>>
>>>
>>> On 25 April 2015 at 00:38, Francois Botha <[hidden email]> wrote:
>>> > I remember I had a similar problem:
>>> >
>>> > http://quantlib.10058.n7.nabble.com/End-of-month-bond-coupons-for-leap-years-td15311.html
>>> >
>>> > It's been on my todo list to see if I can create a constructor for the
>>> > Schedule to accept an array of dates.
>>> >
>>> > Francois Botha
>>> >
>>> > On 24 April 2015 at 20:31, Peter Caspers <[hidden email]> wrote:
>>> >>
>>> >> Hello,
>>> >>
>>> >> I need to set up a swap with a nearly regular schedule. The only
>>> >> exception is the first date which is on a holiday. The clean way to
>>> >> generate this would be (?)
>>> >>
>>> >> - generate a preliminary schedule using the schedule's class date
>>> >> generation machinery
>>> >> - extract the dates, overwrite the first one with the correct value
>>> >> and then set up the final schedule based on this date vector
>>> >>
>>> >> However when feeding the second schedule into a VanillaSwap
>>> >> instrument, it complains that the schedule need to support the full
>>> >> interface, as far as I can see to extract the calendar and businessday
>>> >> convention which are used to get payment dates from the schedule
>>> >> dates.
>>> >>
>>> >> What can I do now ? As a workaround I just added a method
>>> >>
>>> >>         std::vector<Date>& datesModifyable() { return dates_; }
>>> >>
>>> >> to the schedule class which allows to modify the generated dates, but
>>> >> retaining the full interface. But this is not meant like this, is it ?
>>> >>
>>> >> Can we somehow make the schedule class more flexible without breaking
>>> >> something ?
>>> >>
>>> >> Thanks
>>> >> Peter
>>> >>
>>> >>
>>> >>
>>> >> ------------------------------------------------------------------------------
>>> >> One dashboard for servers and applications across
>>> >> Physical-Virtual-Cloud
>>> >> Widest out-of-the-box monitoring support with 50+ applications
>>> >> Performance metrics, stats and reports that give you Actionable
>>> >> Insights
>>> >> Deep dive visibility with transaction tracing using APM Insight.
>>> >> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>> >> _______________________________________________
>>> >> QuantLib-users mailing list
>>> >> [hidden email]
>>> >> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>>> >
>>> >
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> One dashboard for servers and applications across Physical-Virtual-Cloud
>>> Widest out-of-the-box monitoring support with 50+ applications
>>> Performance metrics, stats and reports that give you Actionable Insights
>>> Deep dive visibility with transaction tracing using APM Insight.
>>> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
>>> _______________________________________________
>>> QuantLib-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users