SuperAPI AI 工具集

exchange-session-detector

通用与其它

查看项目

更新于 10-16 01:28

技能介绍

用途:为时间序列数据添加交易所交易时段标记(如 is_nyse_session、is_lse_session),判断时间戳是否落在主要交易所交易时段内,并识别节假日与亚洲交易所午休。适用于从简化小时区间判断升级到生产级精度,以及构建 ClickHouse 物化列做会话分类。

主要能力:通过 ISO 10383 MIC 代码支持 10 家交易所(NYSE、LSE、SIX、FWB、TSX、NZX、JPX、ASX、HKEX、SGX),内置 IANA 时区自动处理夏令时;支持节假日检测(NYSE、LSE 及两者同时休市的 major holiday)与午休(东京、香港、新加坡)。SessionDetector 预计算交易分钟集合并用 pandas .isin() 向量化查询,比逐行 apply 快约 2.2 倍。新增交易所只需在注册表加一条 ExchangeConfig。

使用方式:安装 pip install exchange_calendars;单交易所可用 xcals.get_calendar("XNYS").is_open_on_minute(...);完整检测用 SessionDetector().detect_sessions_and_holidays(dates_df)。ClickHouse 侧可用 toTimezone() 处理夏令时,但节假日与午休需在 Python 计算后回写或维护节假日表。

限制:ClickHouse toTimezone() 不处理节假日与午休;exchange_calendars 安装约 10MB,依赖 pandas 与 numpy,日历数据随包内置无需联网。资料未提供收费、价格或平台信息。