aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/Dawn/views.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/python/Dawn/views.py b/python/Dawn/views.py
index 3a3e694c..bf824a22 100644
--- a/python/Dawn/views.py
+++ b/python/Dawn/views.py
@@ -4,7 +4,8 @@ from .models import ModelForm, BondDeal, CDSDeal, Counterparties
from sqlalchemy.exc import IntegrityError
from wtforms.fields import BooleanField
import pandas as pd
-from pandas.tseries.offsets import BDay
+from pandas.tseries.offsets import CustomBusinessDay
+from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFriday
import os
import datetime
import redis
@@ -15,6 +16,10 @@ from Dawn import app
import socket
import psycopg2
+fed_cal = get_calendar('USFederalHolidayCalendar')
+bond_cal = HolidayCalendarFactory('BondCalendar', cal, GoodFriday)
+bus_day = CustomBusinessDay(calendar=bond_cal)
+
def cp_choices():
return Counterparties.query.order_by('name').\
with_entities(Counterparties.code, Counterparties.name)
@@ -65,7 +70,7 @@ def trade_manage(tradeid):
old_ticket_name = trade.ticket
else:
bond_form = BondForm(trade_date = pd.datetime.today().date(),
- settle_date = pd.datetime.today().date() + 3 * BDay())
+ settle_date = pd.datetime.today().date() + 3 * bus_day)
#add extra empty fields
bond_form.folder.choices = [(None, '')] + bond_form.folder.choices
bond_form.buysell.choices = [(None, '')] + bond_form.buysell.choices
@@ -114,7 +119,7 @@ def cds_trade_manage(tradeid):
tomorrow = today + pd.DateOffset(1)
cds_form = CDSForm(trade_date = today.date(),
effective_date= tomorrow.date(),
- upfront_settle_date = today.date() + 3 * BDay())
+ upfront_settle_date = today.date() + 3 * bus_day)
cds_form.cp_code.choices = cds_form.cp_code.choices + list(cp_choices())
if cds_form.is_submitted():
if cds_form.validate():