diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/dates.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/python/dates.py b/python/dates.py index 2a946889..4418d857 100644 --- a/python/dates.py +++ b/python/dates.py @@ -1,5 +1,5 @@ import pandas as pd -from pandas.tseries.offsets import CustomBusinessDay, Day +from pandas.tseries.offsets import CustomBusinessDay, Day, QuarterBegin from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFriday import unittest @@ -18,6 +18,13 @@ def prev_immdate(valdate): return dates[-1] return d if d==valdate else dates[i-1] +def imm_dates(start_date, end_date): + start_date = bus_day.rollback(start_date)-19*Day() + start_date = QuarterBegin(startingMonth=3).rollback(start_date) + return (pd.date_range(start_date, end_date, freq='QS-MAR', closed='left'). + shift(19, freq='D'). + shift(0, bus_day)) + def days_accrued(tradedate): start_protection = pd.Timestamp(tradedate) + Day() delta = start_protection-prev_immdate(start_protection) |
