aboutsummaryrefslogtreecommitdiffstats
path: root/python/dates.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/dates.py')
-rw-r--r--python/dates.py9
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)