-
Notifications
You must be signed in to change notification settings - Fork 300
Expand file tree
/
Copy pathdates.py
More file actions
58 lines (47 loc) · 1.76 KB
/
Copy pathdates.py
File metadata and controls
58 lines (47 loc) · 1.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import os
import ORE as ore
startDateString = '2020-05-01'
calendarString = 'Japan'
tenorString = '1M'
businessDayConventionString = 'F'
calAdjXml = os.path.join("..", "..", "Input", "calendaradjustment.xml")
startDate = ore.parseDate(startDateString)
calendar = ore.parseCalendar(calendarString)
tenor = ore.parsePeriod(tenorString)
bdc = ore.parseBusinessDayConvention(businessDayConventionString)
endOfMonth = False
## ADVANCE DATE -- pre adjustment
endDate = calendar.advance(startDate, tenor, bdc, endOfMonth)
print('---------------------------')
print("advance start date by", tenorString)
print("startDate", startDate.to_date())
print("endDate ", endDate.to_date())
## EXPLORE QL/ORE JAPAN CALENDAR
print('---------------------------')
print('holidays (pre adjustment):')
holidayList = calendar.holidayList(startDate, endDate)
for idx in holidayList:
print(idx.to_date())
## MAKE USE OF CALENDAR ADJUSTMENT
## new holiday : 2020-06-01
## new business day (previously holiday) : 2020-05-05
calAdj = ore.CalendarAdjustmentConfig()
calAdj.fromFile(calAdjXml)
print('---------------------------')
print('holidays (post adjustment):')
holidayList = calendar.holidayList(startDate, endDate)
for idx in holidayList:
print(idx.to_date())
## ADVANCE DATE -- post adjustment
endDate = calendar.advance(startDate, tenor, bdc, endOfMonth)
print('---------------------------')
print("advance start date by", tenorString)
print("startDate", startDate.to_date())
print("endDate ", endDate.to_date())
print('---------------------------')
mporDays = 3
print(startDate)
#print(ore.calculateMporDate(mporDays))
print(ore.calculateMporDate(mporDays, startDate))
print(ore.calculateMporDate(mporDays, startDate, calendarString))
print(ore.calculateMporDate(mporDays, startDate).to_date())