import QuantLib as ql
SeoulCalendar = ql.SouthKorea()

'''휴일 입력'''
holiday = [
#---대표 휴일, 1/1, 3/1, 5/1, 5/5, 6/6, 8/15, 10/3, 12/25---#
ql.Date(1,1,2015),
ql.Date(1,1,2016),
ql.Date(1,1,2017),
ql.Date(1,1,2018),
ql.Date(1,1,2019),
ql.Date(1,1,2020),
ql.Date(1,1,2021),
ql.Date(1,1,2022),
ql.Date(1,1,2023),
ql.Date(1,1,2024),
ql.Date(1,1,2025),
ql.Date(1,1,2026),
ql.Date(1,1,2027),
ql.Date(1,1,2028),
ql.Date(1,1,2029),
ql.Date(1,1,2030),
ql.Date(1,1,2031),
ql.Date(1,1,2032),
ql.Date(1,1,2033),
ql.Date(1,1,2034),
ql.Date(1,1,2035),
ql.Date(1,1,2036),
ql.Date(1,1,2037),
ql.Date(1,1,2038),
ql.Date(1,1,2039),
ql.Date(1,1,2040),
ql.Date(1,3,2015),
ql.Date(1,3,2016),
ql.Date(1,3,2017),
ql.Date(1,3,2018),
ql.Date(1,3,2019),
ql.Date(1,3,2020),
ql.Date(1,3,2021),
ql.Date(1,3,2022),
ql.Date(1,3,2023),
ql.Date(1,3,2024),
ql.Date(1,3,2025),
ql.Date(1,3,2026),
ql.Date(1,3,2027),
ql.Date(1,3,2028),
ql.Date(1,3,2029),
ql.Date(1,3,2030),
ql.Date(1,3,2031),
ql.Date(1,3,2032),
ql.Date(1,3,2033),
ql.Date(1,3,2034),
ql.Date(1,3,2035),
ql.Date(1,3,2036),
ql.Date(1,3,2037),
ql.Date(1,3,2038),
ql.Date(1,3,2039),
ql.Date(1,3,2040),
ql.Date(1,5,2015),
ql.Date(1,5,2016),
ql.Date(1,5,2017),
ql.Date(1,5,2018),
ql.Date(1,5,2019),
ql.Date(1,5,2020),
ql.Date(1,5,2021),
ql.Date(1,5,2022),
ql.Date(1,5,2023),
ql.Date(1,5,2024),
ql.Date(1,5,2025),
ql.Date(1,5,2026),
ql.Date(1,5,2027),
ql.Date(1,5,2028),
ql.Date(1,5,2029),
ql.Date(1,5,2030),
ql.Date(1,5,2031),
ql.Date(1,5,2032),
ql.Date(1,5,2033),
ql.Date(1,5,2034),
ql.Date(1,5,2035),
ql.Date(1,5,2036),
ql.Date(1,5,2037),
ql.Date(1,5,2038),
ql.Date(1,5,2039),
ql.Date(1,5,2040),
ql.Date(5,5,2015),
ql.Date(5,5,2016),
ql.Date(5,5,2017),
ql.Date(5,5,2018),
ql.Date(5,5,2019),
ql.Date(5,5,2020),
ql.Date(5,5,2021),
ql.Date(5,5,2022),
ql.Date(5,5,2023),
ql.Date(5,5,2024),
ql.Date(5,5,2025),
ql.Date(5,5,2026),
ql.Date(5,5,2027),
ql.Date(5,5,2028),
ql.Date(5,5,2029),
ql.Date(5,5,2030),
ql.Date(5,5,2031),
ql.Date(5,5,2032),
ql.Date(5,5,2033),
ql.Date(5,5,2034),
ql.Date(5,5,2035),
ql.Date(5,5,2036),
ql.Date(5,5,2037),
ql.Date(5,5,2038),
ql.Date(5,5,2039),
ql.Date(5,5,2040),
ql.Date(6,6,2015),
ql.Date(6,6,2016),
ql.Date(6,6,2017),
ql.Date(6,6,2018),
ql.Date(6,6,2019),
ql.Date(6,6,2020),
ql.Date(6,6,2021),
ql.Date(6,6,2022),
ql.Date(6,6,2023),
ql.Date(6,6,2024),
ql.Date(6,6,2025),
ql.Date(6,6,2026),
ql.Date(6,6,2027),
ql.Date(6,6,2028),
ql.Date(6,6,2029),
ql.Date(6,6,2030),
ql.Date(6,6,2031),
ql.Date(6,6,2032),
ql.Date(6,6,2033),
ql.Date(6,6,2034),
ql.Date(6,6,2035),
ql.Date(6,6,2036),
ql.Date(6,6,2037),
ql.Date(6,6,2038),
ql.Date(6,6,2039),
ql.Date(6,6,2040),
ql.Date(15,8,2015),
ql.Date(15,8,2016),
ql.Date(15,8,2017),
ql.Date(15,8,2018),
ql.Date(15,8,2019),
ql.Date(15,8,2020),
ql.Date(15,8,2021),
ql.Date(15,8,2022),
ql.Date(15,8,2023),
ql.Date(15,8,2024),
ql.Date(15,8,2025),
ql.Date(15,8,2026),
ql.Date(15,8,2027),
ql.Date(15,8,2028),
ql.Date(15,8,2029),
ql.Date(15,8,2030),
ql.Date(15,8,2031),
ql.Date(15,8,2032),
ql.Date(15,8,2033),
ql.Date(15,8,2034),
ql.Date(15,8,2035),
ql.Date(15,8,2036),
ql.Date(15,8,2037),
ql.Date(15,8,2038),
ql.Date(15,8,2039),
ql.Date(15,8,2040),
ql.Date(3,10,2015),
ql.Date(3,10,2016),
ql.Date(3,10,2017),
ql.Date(3,10,2018),
ql.Date(3,10,2019),
ql.Date(3,10,2020),
ql.Date(3,10,2021),
ql.Date(3,10,2022),
ql.Date(3,10,2023),
ql.Date(3,10,2024),
ql.Date(3,10,2025),
ql.Date(3,10,2026),
ql.Date(3,10,2027),
ql.Date(3,10,2028),
ql.Date(3,10,2029),
ql.Date(3,10,2030),
ql.Date(3,10,2031),
ql.Date(3,10,2032),
ql.Date(3,10,2033),
ql.Date(3,10,2034),
ql.Date(3,10,2035),
ql.Date(3,10,2036),
ql.Date(3,10,2037),
ql.Date(3,10,2038),
ql.Date(3,10,2039),
ql.Date(3,10,2040),
ql.Date(25,12,2015),
ql.Date(25,12,2016),
ql.Date(25,12,2017),
ql.Date(25,12,2018),
ql.Date(25,12,2019),
ql.Date(25,12,2020),
ql.Date(25,12,2021),
ql.Date(25,12,2022),
ql.Date(25,12,2023),
ql.Date(25,12,2024),
ql.Date(25,12,2025),
ql.Date(25,12,2026),
ql.Date(25,12,2027),
ql.Date(25,12,2028),
ql.Date(25,12,2029),
ql.Date(25,12,2030),
ql.Date(25,12,2031),
ql.Date(25,12,2032),
ql.Date(25,12,2033),
ql.Date(25,12,2034),
ql.Date(25,12,2035),
ql.Date(25,12,2036),
ql.Date(25,12,2037),
ql.Date(25,12,2038),
ql.Date(25,12,2039),
ql.Date(25,12,2040),
#---그외 휴일---#
ql.Date(18,2,2015),
ql.Date(19,2,2015),
ql.Date(20,2,2015),
ql.Date(25,5,2015),
ql.Date(14,8,2015),
ql.Date(28,9,2015),
ql.Date(29,9,2015),
ql.Date(9,10,2015),
ql.Date(8,2,2016),
ql.Date(9,2,2016),
ql.Date(10,2,2016),
ql.Date(13,4,2016),
ql.Date(14,9,2016),
ql.Date(15,9,2016),
ql.Date(16,9,2016),
ql.Date(27,1,2017),
ql.Date(30,1,2017),
ql.Date(3,5,2017),
ql.Date(4,10,2017),
ql.Date(5,10,2017),
ql.Date(6,10,2017),
ql.Date(9,10,2017),
ql.Date(20,12,2017),
ql.Date(15,2,2018),
ql.Date(16,2,2018),
ql.Date(7,5,2018),
ql.Date(22,5,2018),
ql.Date(13,6,2018),
ql.Date(24,9,2018),
ql.Date(25,9,2018),
ql.Date(26,9,2018),
ql.Date(9,10,2018),
ql.Date(4,2,2019),
ql.Date(5,2,2019),
ql.Date(6,2,2019),
ql.Date(6,5,2019),
ql.Date(12,9,2019),
ql.Date(13,9,2019),
ql.Date(9,10,2019),
ql.Date(24,1,2020),
ql.Date(27,1,2020),
ql.Date(15,4,2020),
ql.Date(30,4,2020),
ql.Date(30,9,2020),
ql.Date(1,10,2020),
ql.Date(2,10,2020),
ql.Date(9,10,2020),
ql.Date(11,2,2021),
ql.Date(12,2,2021),
ql.Date(19,5,2021),
ql.Date(20,9,2021),
ql.Date(21,9,2021),
ql.Date(22,9,2021),
ql.Date(31,1,2022),
ql.Date(1,2,2022),
ql.Date(2,2,2022),
ql.Date(1,6,2022),
ql.Date(9,9,2022),
ql.Date(12,9,2022),
ql.Date(23,1,2023),
ql.Date(24,1,2023),
ql.Date(28,9,2023),
ql.Date(29,9,2023),
ql.Date(9,10,2023),
ql.Date(9,2,2024),
ql.Date(12,2,2024),
ql.Date(6,5,2024),
ql.Date(16,9,2024),
ql.Date(17,9,2024),
ql.Date(18,9,2024),
ql.Date(9,10,2024),
ql.Date(28,1,2025),
ql.Date(29,1,2025),
ql.Date(30,1,2025),
ql.Date(6,10,2025),
ql.Date(7,10,2025),
ql.Date(8,10,2025),
ql.Date(9,10,2025),
ql.Date(16,2,2026),
ql.Date(17,2,2026),
ql.Date(18,2,2026),
ql.Date(24,9,2026),
ql.Date(25,9,2026),
ql.Date(9,10,2026),
ql.Date(8,2,2027),
ql.Date(9,2,2027),
ql.Date(13,5,2027),
ql.Date(14,9,2027),
ql.Date(15,9,2027),
ql.Date(16,9,2027),
ql.Date(26,1,2028),
ql.Date(27,1,2028),
ql.Date(28,1,2028),
ql.Date(2,5,2028),
ql.Date(2,10,2028),
ql.Date(4,10,2028),
ql.Date(5,10,2028),
ql.Date(9,10,2028),
ql.Date(12,2,2029),
ql.Date(13,2,2029),
ql.Date(14,2,2029),
ql.Date(7,5,2029),
ql.Date(21,9,2029),
ql.Date(24,9,2029),
ql.Date(9,10,2029),
ql.Date(4,2,2030),
ql.Date(5,2,2030),
ql.Date(6,5,2030),
ql.Date(9,5,2030),
ql.Date(11,9,2030),
ql.Date(12,9,2030),
ql.Date(13,9,2030),
ql.Date(9,10,2030),
ql.Date(22,1,2031),
ql.Date(23,1,2031),
ql.Date(24,1,2031),
ql.Date(28,5,2031),
ql.Date(30,9,2031),
ql.Date(1,10,2031),
ql.Date(2,10,2031),
ql.Date(6,10,2031),
ql.Date(9,10,2031),
ql.Date(10,2,2032),
ql.Date(11,2,2032),
ql.Date(12,2,2032),
ql.Date(20,9,2032),
ql.Date(21,9,2032),
ql.Date(31,1,2033),
ql.Date(1,2,2033),
ql.Date(2,2,2033),
ql.Date(6,5,2033),
ql.Date(7,9,2033),
ql.Date(8,9,2033),
ql.Date(9,9,2033),
ql.Date(20,2,2034),
ql.Date(21,2,2034),
ql.Date(25,5,2034),
ql.Date(26,9,2034),
ql.Date(27,9,2034),
ql.Date(28,9,2034),
ql.Date(9,10,2034),
ql.Date(7,2,2035),
ql.Date(8,2,2035),
ql.Date(9,2,2035),
ql.Date(7,5,2035),
ql.Date(15,5,2035),
ql.Date(17,9,2035),
ql.Date(18,9,2035),
ql.Date(9,10,2035)
]
for i in range( len(holiday) ):
    SeoulCalendar.addHoliday( holiday[i] )

# 1년을 몇일로 볼것인가? 한국은 ACT 즉 실제 그 해의 일수 365로 고정한 것을 씀.
day_count = ql.Actual365Fixed() #Actual/365

if __name__ == "__main__":
    print('Q.',ql.Date(15,5,2035),'은 영업일이니? A.',SeoulCalendar.isBusinessDay( ql.Date( 15, 5, 2035 ) ))
    print('Q.',ql.Date(15,5,2035),'은 휴일이니? A.',SeoulCalendar.isHoliday( ql.Date( 15, 5, 2035 ) ))
    print('휴일이구나! 그렇다면,')
    print('2013년 5월 15일 만기를 ModifiedFollowing으로 옮기면?', SeoulCalendar.advance( ql.Date( 15, 5, 2035), 0, ql.Days, ql.ModifiedFollowing ))
    print('2013년 5월 15일 만기를 preceding으로 옮기면?', SeoulCalendar.advance( ql.Date( 15, 5, 2035), 0, ql.Days, ql.Preceding ))
import QuantLib as ql
SeoulCalendar = ql.SouthKorea()

'''휴일 입력'''
holiday = [
#---대표 휴일, 1/1, 3/1, 5/1, 5/5, 6/6, 8/15, 10/3, 12/25---#
ql.Date(1,1,2015),
ql.Date(1,1,2016),
ql.Date(1,1,2017),
ql.Date(1,1,2018),
ql.Date(1,1,2019),
ql.Date(1,1,2020),
ql.Date(1,1,2021),
ql.Date(1,1,2022),
ql.Date(1,1,2023),
ql.Date(1,1,2024),
ql.Date(1,1,2025),
ql.Date(1,1,2026),
ql.Date(1,1,2027),
ql.Date(1,1,2028),
ql.Date(1,1,2029),
ql.Date(1,1,2030),
ql.Date(1,1,2031),
ql.Date(1,1,2032),
ql.Date(1,1,2033),
ql.Date(1,1,2034),
ql.Date(1,1,2035),
ql.Date(1,1,2036),
ql.Date(1,1,2037),
ql.Date(1,1,2038),
ql.Date(1,1,2039),
ql.Date(1,1,2040),
ql.Date(1,3,2015),
ql.Date(1,3,2016),
ql.Date(1,3,2017),
ql.Date(1,3,2018),
ql.Date(1,3,2019),
ql.Date(1,3,2020),
ql.Date(1,3,2021),
ql.Date(1,3,2022),
ql.Date(1,3,2023),
ql.Date(1,3,2024),
ql.Date(1,3,2025),
ql.Date(1,3,2026),
ql.Date(1,3,2027),
ql.Date(1,3,2028),
ql.Date(1,3,2029),
ql.Date(1,3,2030),
ql.Date(1,3,2031),
ql.Date(1,3,2032),
ql.Date(1,3,2033),
ql.Date(1,3,2034),
ql.Date(1,3,2035),
ql.Date(1,3,2036),
ql.Date(1,3,2037),
ql.Date(1,3,2038),
ql.Date(1,3,2039),
ql.Date(1,3,2040),
ql.Date(1,5,2015),
ql.Date(1,5,2016),
ql.Date(1,5,2017),
ql.Date(1,5,2018),
ql.Date(1,5,2019),
ql.Date(1,5,2020),
ql.Date(1,5,2021),
ql.Date(1,5,2022),
ql.Date(1,5,2023),
ql.Date(1,5,2024),
ql.Date(1,5,2025),
ql.Date(1,5,2026),
ql.Date(1,5,2027),
ql.Date(1,5,2028),
ql.Date(1,5,2029),
ql.Date(1,5,2030),
ql.Date(1,5,2031),
ql.Date(1,5,2032),
ql.Date(1,5,2033),
ql.Date(1,5,2034),
ql.Date(1,5,2035),
ql.Date(1,5,2036),
ql.Date(1,5,2037),
ql.Date(1,5,2038),
ql.Date(1,5,2039),
ql.Date(1,5,2040),
ql.Date(5,5,2015),
ql.Date(5,5,2016),
ql.Date(5,5,2017),
ql.Date(5,5,2018),
ql.Date(5,5,2019),
ql.Date(5,5,2020),
ql.Date(5,5,2021),
ql.Date(5,5,2022),
ql.Date(5,5,2023),
ql.Date(5,5,2024),
ql.Date(5,5,2025),
ql.Date(5,5,2026),
ql.Date(5,5,2027),
ql.Date(5,5,2028),
ql.Date(5,5,2029),
ql.Date(5,5,2030),
ql.Date(5,5,2031),
ql.Date(5,5,2032),
ql.Date(5,5,2033),
ql.Date(5,5,2034),
ql.Date(5,5,2035),
ql.Date(5,5,2036),
ql.Date(5,5,2037),
ql.Date(5,5,2038),
ql.Date(5,5,2039),
ql.Date(5,5,2040),
ql.Date(6,6,2015),
ql.Date(6,6,2016),
ql.Date(6,6,2017),
ql.Date(6,6,2018),
ql.Date(6,6,2019),
ql.Date(6,6,2020),
ql.Date(6,6,2021),
ql.Date(6,6,2022),
ql.Date(6,6,2023),
ql.Date(6,6,2024),
ql.Date(6,6,2025),
ql.Date(6,6,2026),
ql.Date(6,6,2027),
ql.Date(6,6,2028),
ql.Date(6,6,2029),
ql.Date(6,6,2030),
ql.Date(6,6,2031),
ql.Date(6,6,2032),
ql.Date(6,6,2033),
ql.Date(6,6,2034),
ql.Date(6,6,2035),
ql.Date(6,6,2036),
ql.Date(6,6,2037),
ql.Date(6,6,2038),
ql.Date(6,6,2039),
ql.Date(6,6,2040),
ql.Date(15,8,2015),
ql.Date(15,8,2016),
ql.Date(15,8,2017),
ql.Date(15,8,2018),
ql.Date(15,8,2019),
ql.Date(15,8,2020),
ql.Date(15,8,2021),
ql.Date(15,8,2022),
ql.Date(15,8,2023),
ql.Date(15,8,2024),
ql.Date(15,8,2025),
ql.Date(15,8,2026),
ql.Date(15,8,2027),
ql.Date(15,8,2028),
ql.Date(15,8,2029),
ql.Date(15,8,2030),
ql.Date(15,8,2031),
ql.Date(15,8,2032),
ql.Date(15,8,2033),
ql.Date(15,8,2034),
ql.Date(15,8,2035),
ql.Date(15,8,2036),
ql.Date(15,8,2037),
ql.Date(15,8,2038),
ql.Date(15,8,2039),
ql.Date(15,8,2040),
ql.Date(3,10,2015),
ql.Date(3,10,2016),
ql.Date(3,10,2017),
ql.Date(3,10,2018),
ql.Date(3,10,2019),
ql.Date(3,10,2020),
ql.Date(3,10,2021),
ql.Date(3,10,2022),
ql.Date(3,10,2023),
ql.Date(3,10,2024),
ql.Date(3,10,2025),
ql.Date(3,10,2026),
ql.Date(3,10,2027),
ql.Date(3,10,2028),
ql.Date(3,10,2029),
ql.Date(3,10,2030),
ql.Date(3,10,2031),
ql.Date(3,10,2032),
ql.Date(3,10,2033),
ql.Date(3,10,2034),
ql.Date(3,10,2035),
ql.Date(3,10,2036),
ql.Date(3,10,2037),
ql.Date(3,10,2038),
ql.Date(3,10,2039),
ql.Date(3,10,2040),
ql.Date(25,12,2015),
ql.Date(25,12,2016),
ql.Date(25,12,2017),
ql.Date(25,12,2018),
ql.Date(25,12,2019),
ql.Date(25,12,2020),
ql.Date(25,12,2021),
ql.Date(25,12,2022),
ql.Date(25,12,2023),
ql.Date(25,12,2024),
ql.Date(25,12,2025),
ql.Date(25,12,2026),
ql.Date(25,12,2027),
ql.Date(25,12,2028),
ql.Date(25,12,2029),
ql.Date(25,12,2030),
ql.Date(25,12,2031),
ql.Date(25,12,2032),
ql.Date(25,12,2033),
ql.Date(25,12,2034),
ql.Date(25,12,2035),
ql.Date(25,12,2036),
ql.Date(25,12,2037),
ql.Date(25,12,2038),
ql.Date(25,12,2039),
ql.Date(25,12,2040),
#---그외 휴일---#
ql.Date(18,2,2015),
ql.Date(19,2,2015),
ql.Date(20,2,2015),
ql.Date(25,5,2015),
ql.Date(14,8,2015),
ql.Date(28,9,2015),
ql.Date(29,9,2015),
ql.Date(9,10,2015),
ql.Date(8,2,2016),
ql.Date(9,2,2016),
ql.Date(10,2,2016),
ql.Date(13,4,2016),
ql.Date(14,9,2016),
ql.Date(15,9,2016),
ql.Date(16,9,2016),
ql.Date(27,1,2017),
ql.Date(30,1,2017),
ql.Date(3,5,2017),
ql.Date(4,10,2017),
ql.Date(5,10,2017),
ql.Date(6,10,2017),
ql.Date(9,10,2017),
ql.Date(20,12,2017),
ql.Date(15,2,2018),
ql.Date(16,2,2018),
ql.Date(7,5,2018),
ql.Date(22,5,2018),
ql.Date(13,6,2018),
ql.Date(24,9,2018),
ql.Date(25,9,2018),
ql.Date(26,9,2018),
ql.Date(9,10,2018),
ql.Date(4,2,2019),
ql.Date(5,2,2019),
ql.Date(6,2,2019),
ql.Date(6,5,2019),
ql.Date(12,9,2019),
ql.Date(13,9,2019),
ql.Date(9,10,2019),
ql.Date(24,1,2020),
ql.Date(27,1,2020),
ql.Date(15,4,2020),
ql.Date(30,4,2020),
ql.Date(30,9,2020),
ql.Date(1,10,2020),
ql.Date(2,10,2020),
ql.Date(9,10,2020),
ql.Date(11,2,2021),
ql.Date(12,2,2021),
ql.Date(19,5,2021),
ql.Date(20,9,2021),
ql.Date(21,9,2021),
ql.Date(22,9,2021),
ql.Date(31,1,2022),
ql.Date(1,2,2022),
ql.Date(2,2,2022),
ql.Date(1,6,2022),
ql.Date(9,9,2022),
ql.Date(12,9,2022),
ql.Date(23,1,2023),
ql.Date(24,1,2023),
ql.Date(28,9,2023),
ql.Date(29,9,2023),
ql.Date(9,10,2023),
ql.Date(9,2,2024),
ql.Date(12,2,2024),
ql.Date(6,5,2024),
ql.Date(16,9,2024),
ql.Date(17,9,2024),
ql.Date(18,9,2024),
ql.Date(9,10,2024),
ql.Date(28,1,2025),
ql.Date(29,1,2025),
ql.Date(30,1,2025),
ql.Date(6,10,2025),
ql.Date(7,10,2025),
ql.Date(8,10,2025),
ql.Date(9,10,2025),
ql.Date(16,2,2026),
ql.Date(17,2,2026),
ql.Date(18,2,2026),
ql.Date(24,9,2026),
ql.Date(25,9,2026),
ql.Date(9,10,2026),
ql.Date(8,2,2027),
ql.Date(9,2,2027),
ql.Date(13,5,2027),
ql.Date(14,9,2027),
ql.Date(15,9,2027),
ql.Date(16,9,2027),
ql.Date(26,1,2028),
ql.Date(27,1,2028),
ql.Date(28,1,2028),
ql.Date(2,5,2028),
ql.Date(2,10,2028),
ql.Date(4,10,2028),
ql.Date(5,10,2028),
ql.Date(9,10,2028),
ql.Date(12,2,2029),
ql.Date(13,2,2029),
ql.Date(14,2,2029),
ql.Date(7,5,2029),
ql.Date(21,9,2029),
ql.Date(24,9,2029),
ql.Date(9,10,2029),
ql.Date(4,2,2030),
ql.Date(5,2,2030),
ql.Date(6,5,2030),
ql.Date(9,5,2030),
ql.Date(11,9,2030),
ql.Date(12,9,2030),
ql.Date(13,9,2030),
ql.Date(9,10,2030),
ql.Date(22,1,2031),
ql.Date(23,1,2031),
ql.Date(24,1,2031),
ql.Date(28,5,2031),
ql.Date(30,9,2031),
ql.Date(1,10,2031),
ql.Date(2,10,2031),
ql.Date(6,10,2031),
ql.Date(9,10,2031),
ql.Date(10,2,2032),
ql.Date(11,2,2032),
ql.Date(12,2,2032),
ql.Date(20,9,2032),
ql.Date(21,9,2032),
ql.Date(31,1,2033),
ql.Date(1,2,2033),
ql.Date(2,2,2033),
ql.Date(6,5,2033),
ql.Date(7,9,2033),
ql.Date(8,9,2033),
ql.Date(9,9,2033),
ql.Date(20,2,2034),
ql.Date(21,2,2034),
ql.Date(25,5,2034),
ql.Date(26,9,2034),
ql.Date(27,9,2034),
ql.Date(28,9,2034),
ql.Date(9,10,2034),
ql.Date(7,2,2035),
ql.Date(8,2,2035),
ql.Date(9,2,2035),
ql.Date(7,5,2035),
ql.Date(15,5,2035),
ql.Date(17,9,2035),
ql.Date(18,9,2035),
ql.Date(9,10,2035)
]
for i in range( len(holiday) ):
    SeoulCalendar.addHoliday( holiday[i] )

# 1년을 몇일로 볼것인가? 한국은 ACT 즉 실제 그 해의 일수 365로 고정한 것을 씀.
day_count = ql.Actual365Fixed() #Actual/365

if __name__ == "__main__":
    print('Q.',ql.Date(15,5,2035),'은 영업일이니? A.',SeoulCalendar.isBusinessDay( ql.Date( 15, 5, 2035 ) ))
    print('Q.',ql.Date(15,5,2035),'은 휴일이니? A.',SeoulCalendar.isHoliday( ql.Date( 15, 5, 2035 ) ))
    print('휴일이구나! 그렇다면,')
    print('2013년 5월 15일 만기를 ModifiedFollowing으로 옮기면?', SeoulCalendar.advance( ql.Date( 15, 5, 2035), 0, ql.Days, ql.ModifiedFollowing ))
    print('2013년 5월 15일 만기를 preceding으로 옮기면?', SeoulCalendar.advance( ql.Date( 15, 5, 2035), 0, ql.Days, ql.Preceding ))
휴일 입력 #---대표 휴일, 1/1, 3/1, 5/1, 5/5, 6/6, 8/15, 10/3, 12/25---# #---그외 휴일---# # 1년을 몇일로 볼것인가? 한국은 ACT 즉 실제 그 해의 일수 365로 고정한 것을 씀. #Actual/365