处理工作日计算的函数

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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用java向dropup html/css添加项目   如何从java中的向量向量打印   Java Maven库项目模板   java使用atmosphere api还是直接使用grizzly?   java JComponent仅部分显示   如何将动态值传递给自定义注释,以从Java数据进行映射。性质   java破解已实现方法的返回类型的最佳方法?   java Netbeans在JFrame Gui布局中覆盖图像   spring java仅向登录用户显示注销按钮   java如何对com进行身份验证。谷歌。云bigquery。带有服务帐户的BigQuery`   java禁止空字符串参数和抛出RuntimeException以阻止方法继续的利弊   java分析项目中的所有JAR以获取版本和许可证信息   Java,数据库为什么要分配一个新对象,而我们可以直接将它放入数据库