The holidays subproject in contrib is where this code is meant to go. And yes it has the potential to be very useful. It just needs some time to go through it and get it properly coded and setup.
There is more than one implementation in there ATM, but feel free to take a look and see how it compares to your code. Stephen Grégory Joseph wrote: > Hi Benoit, > > Did you have a look at the "holidays" subproject in the contrib > repository ? It might not do all you need, and I suppose Stephen will > be able to tell you more about it (and its state), but I suspect it > could be at least at starting point for what you need. > > Cheers > > g > > On 04/08/06, Benoit Xhenseval <[EMAIL PROTECTED]> wrote: > >> >> >> >>Dear *, >> >> >> >>I'm a fan of Joda time, especially the simple, immutable >>LocalDate/LocalDateTime (and formally YearMonthDay/DateTime). However, >>these are the basic building blocks. I feel that every time I join a >>financial project I have to re-do the same things and I'd like to suggest an >>add-on/contribution/sub-project to Joda time. It could become the reference >>implementation. >> >> >> >>The issue is of calculating "next good business" dates for the financial >>industry (or anything else that has 'holidays'). For a given date, we need >>to talk into account 2 parameters on top of a date: >> >>1/ a set of holiday/non-working days >> >>2/ a piece logic to define what to do if we fall on a holiday >> >> >> >>The most obvious ones are: >> >>1/ do nothing, fall on a holiday but set a warning flag of some sort >> >>2/ move forward 1 day until you fall on a working day, known as "forward" >> >>3/ move backward 1 day until you fall on a working day, known as "backward" >> >>4/ move forward 1 day until you fall on a working day, unless you cross into >>a new month in which case you reverse to a backward way; known as "modified >>forward" or "modified following" >> >>5/ move backward 1 day until you fall on a working day, unless you cross >>into a new month in which case you reverse to a backward way; known as >>"modified backward" >> >> >> >>The set of holidays can be explicit dates but we should also be able to >>consider weekends as holidays or not (in a flexible manner as some markets >>are closed Friday and Sunday but open Saturday). >> >> >> >>I have done this in the past and I am quite open to provide a first shot >>with a tad of guidance from Joda to make it efficient. >> >> >> >>The way I did this in the past is by defining a small inheritance structure >>e.g. ForwardCalendar, BackwardCalendar, etc such a calendar would: >> >>- accept a set of LocalDate (should they be kept as dates or >>something smaller?), or should we use DateTime instead, my feeling is that >>LocalDate is enough. >> >> >>- take a startDate (again LocalDate) >> >> >>- have a (unique) name >> >> >>- have some methods like: plusDays(…), plusBusinessDays(…) this >>modifies the value inside the Calendar and a getLocalDate() returns a >>LocalDate. The difference between plusDays(int) vs plusBusinessDays(…) is >>that the first one does the check only on the calculated date: start+offset, >>whilst the second one moves the date by a number of business days (i.e. if >>you have a holiday in the middle of the offset, you will move further). >> >> >> >>Next steps could include calculating the next IMM dates, IMM dates between 2 >>dates, handling tenors (1m,5y,S/N/, T/N, etc) and day count (with soooo many >>conventions) etc… this would become extremely valuable… >> >> >> >>Is there an open source project for this? Has anyone done this? Would they >>be willing to open source it? Would they be willing to help? >> >> >> >>Would Joda-Time accept their contribution as an add-on (joda-financial for >>instance). >> >> >> >>Steve, any suggestion, we can discuss offline if you want. >> >> >> >> >> >>Best regards >> >> >> >>Benoit >> >> >>------------------------------------------------------------------------- >>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 >> >>_______________________________________________ >>Joda-interest mailing list >>[email protected] >>https://lists.sourceforge.net/lists/listinfo/joda-interest >> >> >> > > > ------------------------------------------------------------------------- > 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 > _______________________________________________ > Joda-interest mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/joda-interest > ------------------------------------------------------------------------- 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 _______________________________________________ Joda-interest mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/joda-interest
