金融工程学 quantlib 节假日和工作日计算

QuantLib 提供各种日历类,可以处理节假日和工作日计算

# 创建 TARGET 日历(欧洲银行日历)
calendar = ql.TARGET()

# 调整日期到工作日
next_business_day = calendar.adjust(d + 1, ql.Following)  # Following: 调整到后面的工作日
print("Next business day:", next_business_day)

# 判断是否为工作日
is_business_day = calendar.isBusinessDay(d)
print(f"Is {d} a business day? {is_business_day}")

QuantLib 的 Period 用于表示时间段(天、月、年)

one_month = ql.Period(1, ql.Months)
one_year = ql.Period(1, ql.Years)
print("One month:", one_month)
print("One year:", one_year)

# 日期加时间段
future_date = calendar.advance(d, one_month)  # 加一个月
print("One month later:", future_date)