处理工作日计算的函数
bizdays的Python项目详细描述
该版本已被完全重写,许多函数已重新设计,与早期版本略有不同。
在一些国家和市场中,要计算金融工具(主要是债券和衍生品)的价值, 必须使用不同的规则来计算日子的流逝方式。这些规定与下列节日有关: 与县和当地市场有内在联系。通常你都有一张假期清单,你只想 找出两个日期之间的工作日数,仅此而已。正确定价 金融工具。bizdays就是这样实现的,计算两个日期之间的工作日和其他抵押品 调整下一个或上一个工作日的给定日期等效果。bizdays是一个没有 依赖关系,什么使它适合于简单的实现。
bizdays是一个小函数集,用于帮助利用工作日进行计算。它基于一个列表工作 作为争论的节日。它的界面操作简单,操作灵活。工作日 可以公平地用于固定收益计算。许多国家都大量利用工作日为金融机构定价 工具,如债券和衍生品。
示例:
>>> from bizdays import Calendar, load_holidays >>> holidays = load_holidays('Brazil.txt') # Brazilian financial market holidays >>> cal = Calendar(holidays, ['Sunday', 'Saturday'], name='Brazil') >>> cal Calendar: Brazil Start: 2000-01-01 End: 2078-12-25 Holidays: 948 >>> cal.isbizday('2014-01-12') False >>> cal.isbizday('2014-01-13') True >>> cal.bizdays('2014-01-13', '2015-01-13') 253 >>> cal.adjust_next('2015-12-25') datetime.date(2015, 12, 28) >>> cal.adjust_next('2015-12-28') datetime.date(2015, 12, 28) >>> cal.adjust_previous('2014-01-01') datetime.date(2013, 12, 31) >>> cal.adjust_previous('2014-01-02') datetime.date(2014, 1, 2) >>> cal.seq('2014-01-02', '2014-01-07') <generator object seq at 0x1092b02d0> >>> list(cal.seq('2014-01-02', '2014-01-07')) [datetime.date(2014, 1, 2), datetime.date(2014, 1, 3), datetime.date(2014, 1, 6), datetime.date(2014, 1, 7)] >>> cal.offset('2014-01-02', 5) datetime.date(2014, 1, 9) >>> cal.getdate('15th day', 2002, 5) datetime.date(2002, 5, 15) >>> cal.getdate('15th bizday', 2002, 5) datetime.date(2002, 5, 22) >>> cal.getdate('last wed', 2002, 5) datetime.date(2002, 5, 29) >>> cal.getdate('first fri before last day ', 2002, 5) datetime.date(2002, 5, 24)