#holidays #calendar #date-time #nyse #business-day

bin+lib nyse-holiday-cal

纽约证券交易所假期日历库

3 个不稳定版本

0.2.1 2024年1月12日
0.2.0 2023年4月28日
0.1.0 2023年3月25日

115日期和时间

Download history 105/week @ 2024-04-20 94/week @ 2024-04-27 173/week @ 2024-05-04 152/week @ 2024-05-11 118/week @ 2024-05-18 73/week @ 2024-05-25 210/week @ 2024-06-01 326/week @ 2024-06-08 130/week @ 2024-06-15 217/week @ 2024-06-22 193/week @ 2024-06-29 340/week @ 2024-07-06 530/week @ 2024-07-13 609/week @ 2024-07-20 223/week @ 2024-07-27 269/week @ 2024-08-03

1,698 每月下载

MIT 许可证

45KB
816

概述

这是一个库crate,用于查找纽约证券交易所观察到的市场假日信息。

用例

  • 确定特定日期是否是/曾是NYSE市场假日
  • 确定NYSE在特定日期观察到或计划观察到的假日
  • 遍历连续的营业日序列
  • 对日期进行基本的营业日算术运算
  • 在日期和月序营业日之间进行转换

用法

此crate旨在与表示公历日期的外国日期类型一起工作。默认情况下,使用 chrono::NaiveDate 作为日期类型,但通过启用可选crate功能 time,也添加了对 time::Date 的支持。

查找假日和营业日信息的主要接口是特质 HolidayCal。此特质为所有支持的外国日期类型实现。

执行营业日算术的主要接口是结构 DeltaBusinessDays。此结构表示整数个营业日,可以通过标准库中的 AddSub 特质与支持的外国日期类型进行算术运算。

为什么不选择其他crate?

在Rust生态系统中有几个其他假日日历crate,它们提供开发假日日历功能的框架。

然而,这些crate不适用于实现NYSE假日日历,因为它们都假设可以确定任何日期的假日状态。通常,只有在发布最新官方NYSE假日日历的年份之前,才能确定日期是否是NYSE市场假日。

设计

该创建的设计简单,它根据纽交所发布的官方日程,维护一个观察和计划中的市场假日列表。这个已知的市场假日列表定义了一个范围,从MIN_YEAR年的1月1日到MAX_YEAR年的12月31日。在范围内的日期,只有在它们等于假日列表中的某个日期时,才被认为是市场假日。对于范围之外的日期,无法确定它们是否为纽交所市场假日,因此通常在涉及此类日期的查询中返回Err(OutOfRange)

当纽交所发布新一年的市场假日日历时,假日列表将相应更新,MAX_YEAR将相应增加,并且这个crate的补丁版本也将增加。

通常,纽交所会提前1-2年发布当前日期的假日日历。

依赖项

~1–1.4MB
~21K SLoC