Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complex schedule examples #12

Open
jameslairdsmith opened this issue Jul 27, 2019 · 2 comments
Open

Complex schedule examples #12

jameslairdsmith opened this issue Jul 27, 2019 · 2 comments

Comments

@jameslairdsmith
Copy link
Owner

My ambition for scheduler is for it to be sufficiently flexible so as to handle almost any recurring event pattern. As it develops the idea will be to test it in ever more demanding examples. I doubt there will be a shortage of case studies. This thread will be the place to catalogue these complex examples. Invented patterns are permitted, but real life examples are preferred; the more widely applicable the better.

@jameslairdsmith
Copy link
Owner Author

There are a few good ones in this wiki:

No date adjustment
Cycle dates are not adjusted for weekends or holidays and are forced to land within a cycle month.

Following business day/next good business day
Dates are adjusted for weekends and holidays to the next good business day.

Preceding/previous good business day
Dates are adjusted for weekends and holidays to the previous good business day.

Modified following/modified business day
Dates are adjusted to the next good business day unless that day falls in the next calendar > month in which case the date is adjusted to the previous good business day.

End of month – no adjustment
Dates are adjusted to land on last day of the month.

End of month – previous good business day
Dates are adjusted to the last day of the month but if that day is a weekend or holiday, then it is adjusted backward to the previous good business day.

Two business days prior to third Wednesday of month
Dates generated are two business days prior to the third Wednesday of the month (used in conjunction with Eurodollar futures).

Deposit rollover method
Each date is set so it occurs on the same day of the month as the previous date. Each date is set to the next good business day but no dates may be adjusted past the last good business day of the month.

@jameslairdsmith
Copy link
Owner Author

jameslairdsmith commented Aug 5, 2019

Another layer for this would be the wrapping of a schedule rule in a function. That would be hugely useful in finance where you could create schedules for a set of financial instruments, each with different inputs, but with the same rule set. Think for example of bonds, which each have their own start date, maturity date and frequency, but normally follow the same rule set if they are on the same exchange.

Edit: this could form part of a dedicated vignette on "using schedules in dataframes".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant