diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/Dawn/views.py | 11 |
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(): |
