交易日历作为金融领域的重要参考工具,能帮助交易者与机构精准把握市场开闭市时间、科学规划交易策略、并准确计算各类金融产品的现金流与持有期。
目前,DolphinDB 内置了涵盖全球近六十个主要交易所的交易日历,并支持用户灵活定制,以满足多样化、场景化的业务需求。
2026年即将到来,DolphinDB 交易日历年度更新如期而至,并带来一项重要功能扩展!
交易日历升级:新增关键金融市场日历
在 DolphinDB 的交易日历中,支持通过指定 dateType
参数为 “tradingDate” 来定义一组明确的交易日列表,这完美解决了因调休导致的周末交易日等特殊场景问题。
今年,我们在此基础上,新增「中国外汇交易中心」的官方交易日历 CFET
。
此日历对于固定收益、外汇及衍生品(FICC)业务至关重要。许多 FICC 相关函数(如计算债券应计利息、现金流日期调整等)都依赖于此日历来判定资金结算日。与常见的股票、期货交易所日历不同,银行间市场遵循其独特的作息安排,在 CFET
日历中,周末也可能被定义为交易日。因此,CFET
日历文件中的数据直接提供了交易日期(Trading Date),而非休市日期。
用户同样可以通过 addMarketHoliday
函数并设置 dateType="tradingDate"
来添加或更新此类日历。例如,若要创建一个包含特殊交易日安排的日历:
// 假设2026年某几个周末为交易日tradingDates =[2026.04.04,2026.04.05,2026.04.11,2026.04.12]addMarketHoliday(marketName="FICC", holiday=tradingDates, dateType=`tradingDate)getMarketCalendar("FICC")// 输出:2026.04.04 2026.04.05 2026.04.11 2026.04.12
核心区别
dateType = “tradingDate”
:传入的列表是所有交易日。系统将据此反推休息日。适用于CFET
或自定义特殊日历。dateType = “holidayDate”
(默认):传入的列表仅为非周末的休市日(如法定节假日)。系统默认周末休市。适用于大多数交易所日历。
您可以使用以下函数查询已有日历的类型:
getTradingCalendarType("CFET")// 返回 “tradingDate”
如何更新 2026 年交易日历?
我们提供离线和在线两种更新方式,确保您的生产环境平稳过渡。
方式一:离线更新(推荐用于生产环境)
访问 DolphinDB 交易日历模块仓库(链接见文末)
下载最新的
marketHoliday
文件夹。用其替换您 DolphinDB 服务器安装目录
<DolphinDB>/server
下的同名文件夹。集群部署请注意:需在每个物理节点上执行此替换操作。
替换完成后,重启整个集群即可生效。此方式能保证数据一致性,是生产环境的首选。
方式二:在线更新
同样从上述仓库下载最新的
marketHoliday
文件夹。将其放置在与 DolphinDB 服务同机的任意目录(例如
/<path>/newMarketHoliday
),切勿直接覆盖原文件夹。在 DolphinDB 中执行以下更新脚本:
def update_2026_holiday(market_code, old_holiday_dir, new_holiday_dir){old_holiday_files = exec filename.strReplace(".csv","") from files(old_holiday_dir)new_holiday_files = exec filename.strReplace(".csv","") from files(new_holiday_dir)if (!(market_code in new_holiday_files)){return "There is no market holiday file of the exchange."}this_holiday = loadText(new_holiday_dir+'/'+market_code+".csv")if (market_code in old_holiday_files){updateMarketHoliday(market_code,this_holiday.col(0))}else{getMarketType = extractTextSchema(new_holiday_dir+'/'+market_code+".csv").name[0]addMarketHoliday(market_code, this_holiday.col(0),getMarketType)}}market_code = "CFET" //需要更新的交易所标识码old_holiday_dir = "<dolphindb>/server/marketHoliday" //原 marketHoliday 文件夹路径new_holiday_dir = "<dolphindb>/server/newMarketHoliday" //新 marketHoliday 文件夹路径update_2026_holiday(market_code, old_holiday_dir, new_holiday_dir)
4.集群部署:通过 pnodeRun(update_2026_holiday, market_code, old_holiday_dir, new_holiday_dir)
函数在所有数据节点上执行更新。
注意:在线更新虽便捷,但在高并发场景下可能存在短暂的不一致窗口。对于关键业务,我们仍强烈推荐使用离线更新方式。
验证更新结果
更新完成后,您可以轻松验证日历是否已生效
def update_2026_holiday(market_code, old_holiday_dir, new_holiday_dir){old_holiday_files = exec filename.strReplace(".csv","") from files(old_holiday_dir)new_holiday_files = exec filename.strReplace(".csv","") from files(new_holiday_dir)if (!(market_code in new_holiday_files)){return "There is no market holiday file of the exchange."}this_holiday = loadText(new_holiday_dir+'/'+market_code+".csv")if (market_code in old_holiday_files){updateMarketHoliday(market_code,this_holiday.col(0))}else{getMarketType = extractTextSchema(new_holiday_dir+'/'+market_code+".csv").name[0]addMarketHoliday(market_code, this_holiday.col(0),getMarketType)}}market_code = "CFET" //需要更新的交易所标识码old_holiday_dir = "<dolphindb>/server/marketHoliday" //原 marketHoliday 文件夹路径new_holiday_dir = "<dolphindb>/server/newMarketHoliday" //新 marketHoliday 文件夹路径update_2026_holiday(market_code, old_holiday_dir, new_holiday_dir)
DolphinDB 2026 年交易日历的更新,不仅包含了全球主要交易所的最新假日安排,更重要的是一次对金融业务场景支持广度的深化。
新增的「中国外汇交易中心(CFET)日历」直接服务于蓬勃发展的FICC业务,使得 DolphinDB 在债券定价、风险管理和衍生品结算等核心金融计算领域提供了更专业、更精准的时间基准。
立即更新您的 DolphinDB 交易日历,为2026年的金融数据分析与交易系统准备好最坚实的时间基石!
相关资源:
交易日历模块 GitHub: https://github.com/dolphindb/DolphinDBModules/tree/master/MarketHoliday
DolphinDB 官方网站: www.dolphindb.cn

扫码添加 DolphinDB 小助手,
进入技术/高校交流群 点击阅读原文,试用 DolphinDB~
往期 · 推荐
Gemini 3.0 实测:迭代效率提升174%、正确率97%,DolphinDB AI Agent 迎来“跃迁时刻”!




