okx

DolphinDB 交易日历使用指南

交易所

交易日历是数据分析经常用到的工具,可以帮助快速获取对应交易所的交易日及进行相应的日期计算。DolphinDB2.00.9/1.30.21 版本开始提供交易日历功能,并内置世界五十多个交易所的交易日历。用户既可以直接使用内置的交易日历,也可以自定义交易日历,基于场景进行个性化定制。

本教程将会从交易日历的查询和应用如何自定义交易日历、以及交易日历的来源等三个方面介绍如何使用 DolphinDB 的交易日历。

1. 交易日历的查询和应用

DolphinDB 内置的交易日历可以支持多个场景的应用:

  1. 搭配 getMarketCalendar 函数查询指定范围内的交易日;
  2. 搭配 temporalAdd , transFreq , asFreq , resample 等内置函数,基于交易日进行计算。

1.1 查询交易日历-getMarketCalendar

可使用函数 getMarketCalendar(marketName, [startDate], [endDate]) 获取对应交易所在 startDate 和 endDate 确定的时间范围内的的交易日历。以纽交所(XNYS)为例,获取2022年1月1日至2022年1月10日间的交易日历的脚本如下:

getMarketCalendar("XNYS",2022.01.01, 2022.01.10)

#output
[2022.01.03,2022.01.04,2022.01.05,2022.01.06,2022.01.07,2022.01.10]

1.2 基于交易日历的日期偏移计算 - temporalAdd

如需对交易日历做时间偏移,可以使用 temporalAdd(date, duration, exchangeId) 函数,获取给定时间的偏移的交易日。以纽交所(XNYS)为例,获取2023年1月1日至2023年1月6日增加2个交易日的日期的脚本如下:

dates=[2023.01.01, 2023.01.02, 2023.01.03, 2023.01.04, 2023.01.05, 2023.01.06]
temporalAdd(dates,2,"XNYS")

#output
[2023.01.04,2023.01.04,2023.01.05,2023.01.06,2023.01.09,2023.01.10]

1.3 基于交易日历取最近的交易日 - transFreq

getMarketCalendar 函数可以获取相应时间范围内的交易日。但是如若某天不是交易日,又想获得该日期前最近的一个交易日,可以使用 transFreq(X,rule)函数。指定 rule 参数为对应交易所编码,可获取对应日期的最近的交易日。以纽交所 (XNYS) 为例,获取2023年1月1日至1月6日最近的交易日历的脚本如下:

dates=[2023.01.01, 2023.01.02, 2023.01.03, 2023.01.04, 2023.01.05, 2023.01.06]
dates.transFreq("XNYS")

#output
[2022.12.30,2022.12.30,2023.01.03,2023.01.04,2023.01.05,2023.01.06]

1.4 基于交易日的数据采样 - asFreq/resample

基于交易日的数据采样,可使用函数 asFreq(X,rule) 或者函数 resample(X,rule,func),两者的区别在于是否对数据做聚合操作,resample 可以配合聚合函数使用,而 asFreq 函数是纯粹的取值。

函数 [asFreq(X,rule)] 会将数据按交易日(维度为天)展开,如果某一天的交易日数据有多个,只取第一个值。如若数据中没有交易日序列中的数据,会以 NULL 填充。以纽交所 (XNYS) 某支股票数据为例,获取2022年12月30日至2023年01月06日的交易日数据的脚本如下:

timestampv = [2022.12.30T23:00:00.000,2023.01.01T00:00:00.000,2023.01.03T00:10:00.000,2023.01.03T00:20:00.000,2023.01.04T00:20:00.000,2023.01.04T00:30:00.000,2023.01.06T00:40:00.000]
close = [100.10, 100.10, 100.10, 78.89, 88.99, 88.67, 78.78]
s=indexedSeries(timestampv, close)
s.asFreq("XNYS")

#output
           #0                 
           ------
2022.12.30|100.10
2023.01.03|100.10
2023.01.04|88.99 
2023.01.05|                   
2023.01.06|78.78

函数resample(X,rule,func)可以在采样的基础上,搭配聚合函数获取想要的交易日数据。以纽交所 (XNYS) 某支股票收盘价数据为例,查询每日收盘价的脚本如下:

timestampv = [2022.12.30T23:00:00.000,2023.01.01T00:00:00.000,2023.01.03T00:10:00.000,2023.01.03T00:20:00.000,2023.01.04T00:20:00.000,2023.01.04T00:30:00.000,2023.01.06T00:40:00.000]
close = [100.10, 100.10, 100.10, 78.89, 88.99, 88.67, 78.78]
s=indexedSeries(timestampv, close)
s.resample("XNYS", last)

#output
           #0                 
           ------
2022.12.30|100.10
2023.01.03|78.89
2023.01.04|88.67 
2023.01.05|                   
2023.01.06|78.78

2. 自定义及更新内置交易日历

DolphinDB 自 1.30.21/2.00.9 版本开始提供交易日历功能。内置的世界上五十多个交易所的节假日的 csv 文件存放于 marketHolidayDir 配置项对应的文件夹下(默认为 marketHoliday 文件夹),并以交易所的编码命名该文件,例如:“XNYS”(纽交所)。

DolphinDB 启动时会解析 marketHolidayDir 下所有的 csv 文件,启动后便可在 resample, asfreq, transFreq, temporalAdd 等函数内使用该交易所的编码。

DolphinDB 也支持管理员用户自定义交易日历,或者对现有交易日历修改和更新。管理员用户可通过 DolphinDB 内置函数更新交易日历:

  • 使用 addMarketHoliday 新建交易日历
  • 使用 updateMarketHoliday 更新交易日历

本章节余下部分将介绍如何通过上述两个函数自定义及更新内置交易日历。

2.1 新增交易日历

假设需要新增交易所 “DDB” 的交易日历,可以通过 addMarketHoliday(marketName, holiday) 函数,添加 “DDB” 的交易日历。addMarketHoliday 函数会在 /marketHoliday/ 目录下添加新的 DDB.csv 文件。

DolphinDB 在处理 holiday 文件时会自动过滤周末(周六、周日),因此在提交 holiday 文件时,不需要添加周末日期,只添加非周末的节假日信息即可。

新增交易日历后,可直接调用 getMarketCalendar 等函数对新的交易日历进行操作:

//将 2023.01.03 2023.01.04(周二, 周三) 设置为节假日
holiday = 2023.01.03 2023.01.04  
//用户登录
login(`admin,`123456)
//添加交易日历
addMarketHoliday("DDB",holiday)

//获取指定日期区间的交易日历
getMarketCalendar("DDB",2023.01.01, 2023.01.10)
#output
[2023.01.02,2023.01.05,2023.01.06,2023.01.09,2023.01.10]

temporalAdd(2023.01.01,2,"DDB")
#output
2023.01.05

新增的交易所与模块的适用范围一样,目前都是只对当前节点有效。如果需要对其他节点生效,在其他节点进行同样的操作即可。

2.2 替换交易日历

假设需要更新已建好的 “DDB” 交易所的交易日历,可以使用函数 updateMarketHoliday(marketName, holiday) 重新设置该文件的节假日信息,进而更新该交易所的交易日历。

注意:该函数设置的节假日信息将覆盖旧的交易日历文件,不可单独对该文件更新或新增节假日信息。

以下做法可以将已有的 “DDB” 交易所重新指定 2023.03.07、2023.03.08 为交易所节假日,且不保留之前的 holiday 日期。通过 temporalAdd 查询 2022.01.01 的下一个交易日的脚本如下:

//将 2023.03.07 2023.03.08(周二, 周三) 重新设置为节假日
updateMarketHoliday("DDB",2023.03.07 2023.03.08)

//2023.01.03 2023.01.04(周二, 周三) 不再是节假日
getMarketCalendar("DDB",2023.01.01, 2023.01.10)
#output
[2023.01.02,2023.01.03,2023.01.04,2023.01.05,2023.01.06,2023.01.09,2023.01.10]

//2023.03.07, 2023.03.08(周二, 周三) 作为节假日,不会出现在交易日历中
getMarketCalendar("DDB",2023.03.01, 2023.03.10)
#output
[2023.03.01,2023.03.02,2023.03.03,2023.03.06,2023.03.09,2023.03.10]

3. 交易日历出处

本章里列举了 marketHoliday 目录下的所有交易所的信息。为了方便国内用户使用,除了用交易所的 ISO Code 标识交易所名(交易所 ISO CODE 列表)之外,增加了对国内六大交易所(上交所、深交所、中金所、上期所、郑商所、大商所、上能源)采用国内交易所简称作为标识名(中国交易所简称列表)。

3.1 国际交易所 ISO CODE 列表

针对世界各国知名交易所(含上交所和深交所),统一采用 ISO Code 作为交易所的标识码。交易日历数据来源于各交易所官网公布的交易所节假日以及各地政府公布的法定节假日公告。

标识码(ISO Code)

交易所

国家

交易所节假日的公布网站

交易日历备注

CSV 文件路径

开始年份

AIXK

Astana International Exchange

Kazakhstan

https://aix.kz/trading/trading-calendar/

add 2022.12.01

marketHoliday/AIXK.csv

2017

ASEX

Athens Stock Exchange

Greece

https://www.athexgroup.gr/market-alternative-holidays

delete 2022.06.13、2022.05.02、2022.04.22、2022.03.07、2023.02.27、2023.04.17、2023.04.14、2023.06.05

marketHoliday/ASEX.csv

2004

BVMF

BMF Bovespa

Brazil

https://www.b3.com.br/en_us/solutions/platforms/puma-trading-system/for-members-and-traders/trading-calendar/holidays/

添加了 2022.12.01

marketHoliday/BVMF.csv

2004

CMES

Chicago Mercantile Exchange

USA

https://www.cmegroup.com/tools-information/holiday-calendar.html#cmeGlobex

marketHoliday/CMES.csv

2004

IEPA

ICE US

US

https://www.theice.com/holiday-hours?utm_source=website&utm_medium=search&utm_campaign=spotlight

添加了 2023.04.07

marketHoliday/IEPA.csv

2004

XAMS

Euronext Amsterdam

Netherlands

https://www.euronext.com/en/trade/trading-hours-holidays

marketHoliday/XAMS.csv

2004

XASX

Austrialian Securities Exchange

Australia

https://www2.asx.com.au/markets/market-resources/asx-24-trading-calendar

marketHoliday/XASX.csv

2004

XBKK

Stock Exchange of Thailand

Thailand

https://www.set.or.th/en/about/event-calendar/holiday?year=2023

添加了 2023.01.03、2022.01.03、2022.05.02、2022.12.12, 删除了 2022.12.11、2022.10.14、2022.07.29、2022.07.13、2022.06.05、2022.05.05、2022.05.01、2022.02.16、2022.01.02、2023.03.06、2023.05.05、2023.08.01

marketHoliday/XBKK.csv

2004

XBOG

Colombia Securities Exchange

Colombia

https://www.set.or.th/en/about/event-calendar/holiday?year=2023

添加了 2023.12.29

marketHoliday/XBOG.csv

2004

XBOM

Bombay Stock Exchange

India

https://www.bseindia.com/static/markets/marketinfo/listholi.aspx

删除了 2023holidays

marketHoliday/XBOM.csv

2004

XBRU

Euronext Brussels

Belgium

https://www.euronext.com/en/trade/trading-hours-holidays#:~:text=Calendar%20of%20business%20days%202023%20%20%20Euronext:%20%20Closed%20%2012%20more%20rows%20

marketHoliday/XBRU.csv

2004

XBSE

Bucharest Stock Exchange

Romania

https://www.bvb.ro/TradingAndStatistics/TradingSessionSchedule

删除了 2022.04.25、2022.04.22、2022.06.13、2023.04.17、2023.04.14、2023.06.05

marketHoliday/XBSE.csv

2004

XBUD

Budapest Stock Exchange

Hungary

https://www.bse.hu/Products-and-Services/Trading-information/trading-calendar-2023

marketHoliday/XBUD.csv

2004

XBUE

Buenos Aires Stock Exchange

Argentina

删除了 2022.12.09、2023.06.

相关内容

扎实推动高质量发展在湖南农信系统落地生根

洪 樱 成依潇 刘雯娟 黄利飞 新型农业经营主体贷款余额177.2亿元,累计涉农贷款余额达6264.5亿元; 普惠型小微企业贷款余额达2182亿元,支持普惠型小微企业户数50.8万户; 新版手机银行客户数1244万户,收单商户数79万户,线···

全国港口前三季度吞吐量出炉

1-9月,全国港口集装箱吞吐量前10名分别是:上海港(第1)、宁波舟山港(第2)、深圳港(第3)、青岛港(第4)、广州港(第5)、天津港(第6)、厦门港(第7)、苏州港(第8)、北部湾港(第9)、日照港(第10)。图片来源于港口圈1-9月,···

定安打出组合拳推动知名企业纷纷落地

海南日报记者 李豌 特约记者 孙国富蜜雪冰城全球供应链总部基地和全国冷链物流总部基地项目、煌上煌集团……近年来,大企名企纷纷落地定安。国际投资单一窗口综合管理系统数据显示,2020年5月至今年9月,定安县在库项目36个,签约金额达158.9···

45年·45人·45个典型改革案例丨熊维政:一定要把信阳茶油做上市

□本报记者 胡巨成 刘宏冰潜心医药行业40余年,将一家作坊式医药小厂,做成大别山革命老区和全国贴膏剂药业首家上市企业,打造出“百亿级贴膏剂生产基地”的羚锐制药前“掌门人”熊维政,在他60岁时急流勇退,放手交棒,转身创办了信阳信锐油茶股份有限···

山东区划设想,二分滨州,组建渤海市,利津改区,邹平与高青互换

近年来,随着我国产业结构的不断调整,经济增长方式也在持续优化,特别是随着交通等基础设施的完善,区域经济开始朝着一体化发展方向迈进。如果用《射雕英雄传》中的一句话来形容,江苏是“东邪”、广东是“南帝”、四川是“西毒”,那么山东则是“北丐”,此···

为什么河南经济是最没有希望的?上车,带你深度了解河南的问题

“河南小孩出生就是为了离开河南”,这是我最近一个关于河南经济评论文章下点赞最高的评论。这句话我深深刺痛着自己,因为我自己就是河南人,深知这里面包含了多少无奈和心酸。当人们在聊地域之争的话题时,大家都会为自己的省份争辩几句,然而只有河南人,会···

关注双11丨“88VIP”淘宝天猫全网商品都能用花呗分期免息

2023天猫“双11”活动今晚8点正式开始。今年“88VIP”大额券总规模达到200亿,用户可领券额度最高可达860元。支付宝针对“88VIP”淘宝天猫用户还推出花呗分期免息服务,消费者购买大件商品又多了一重实惠。“88VIP”用户购买单价···

每日新闻,60秒知晓世界热点

2023年10月31日,星期二,农历九月十七1、31省份前三季度人均可支配收入公布:上海北京首超6万元位居全国前列,浙江天津江苏同属4万+梯队紧随其后;长三角万亿城市经济三季报:合肥增速第一,宁波增速超上半年;2、工行、农行、中行、建行、邮···

2024年城乡居民参保调整,一次性补缴5.9万,每月能领2300元吗?

随着时间的推移,社会保障制度也在不断地完善和调整。2024年城乡居民参保也将迎来新的一轮调整。据相关政策规定,未来居民参保需要一次性补缴5.9万,每月能领2300元。这个政策引起了很多人的关注和讨论。对于这个政策,有些人认为一次性补缴5.9···

老百姓:第三季度净利润同比增长32.78% “聚焦发展”战略优势凸显

中证网讯(记者 段芳媛)老百姓10月30日晚间披露2023年第三季度报告。公司前三季度实现营业收入160.42亿元,同比增长16.44%;实现归属于上市公司股东的净利润7.17亿元,同比增长17.54%。其中,第三季度实现营业收入52.31···

紧抓机遇开展差异化竞争 骆驼股份积极开拓国际市场

骆驼股份 黄剑波/供图 彭春霞/制图证券时报记者 韩忠楠越来越“卷”的新能源汽车赛道,既充满挑战,也酝酿着新的机遇。近期,受益于华为与赛力斯联合打造的全新问界M7的热销,与之相关的汽车产业链在A股市场的热度也随之升温。这当中,为问界M5/M···

宝山罗店:罗南二村 半年跌幅近乎恐怖 郊区老破小太可怕

前几天,我们写了几个宝山区二手房系列,美兰湖板块的万科琥珀郡园以半年跌幅近五分之一位列榜首,我以为就是跌幅极限。然后,今天现场去看了位于美兰湖南侧的罗南新村,在那周围详细地看了看,然后比较了一下罗南二村最近成交与4月份左右的成交记录,愕然发···

压倒许家印并不是造车,而是恒大童世界,砸几千亿搞了十几个鬼城

恒大集团以其高调的投资和建设项目而闻名,最近引起了人们的广泛关注。与传统地产业务不同,恒大集团的新尝试是在娱乐旅游领域建设恒大童世界。这一巨大的投资计划引发了广泛的争议和讨论。恒大童世界的建设规模之大令人瞩目。据报道,恒大集团计划投资数千亿···

《人民日报》警告奏效?98款,突破1亿台!华为正式宣布

导语:在科技的浪潮中,华为从遭遇“极限施压”,到芯片突破和鸿蒙生态的自研,始终展现出卓越的技术实力和坚韧不拔的创新决心。华为面对挑战:技术封锁与自主创新在2019年,《人民日报》发送《人民日报评华为遭"极限施压":科技自立,时不我待》一文,···

中国钢铁大王戴国芳,入狱5年东山再起,再造500强民企狂赚1957亿

他从一个收废品的穷小子,摇身一变,登上了中国400富豪榜。他的钢铁厂年销售额已超过1个亿,手下员工超过1千人,他就是钢铁大王戴国芳但是这个钢铁界的王者,却因为一时错误,被捕入狱,还坐了5年牢。出狱后,他不忘初心重操旧业,不仅再次创办炼钢厂,···

油价暴跌倒计时,专家透露:11月国内高油价将消失!

随着外资油站的进入,国内加油站市场的竞争格局正在发生重大变化。近日,多位专家在接受记者采访时表示,预计11月国内高油价将不复存在。这一预测的背后,是外资油站的入驻带来的市场冲击和国内油价的持续波动。外资油站的进入,打破了国内加油站的垄断格局···

共话中国经济新机遇丨专访:中国经济展现出发展韧性

新华社日内瓦10月30日电 专访:中国经济展现出发展韧性——访联合国贸发会议资深经济学家梁国勇新华社记者陈斌杰联合国贸发会议资深经济学家梁国勇日前接受新华社记者书面专访时表示,中国经济今年前三个季度的增长态势展现出了发展韧性和潜力。中国国家···

润达医疗:目前在上海、北京等地区部分医疗机构已开展LDT相关业务的试行

润达医疗近期接受投资者调研时称,目前在上海、北京等地区部分医疗机构已开展LDT相关业务的试行,公司在上海等地区积极和相关部分医疗机构展开合作,共同推进LDT相关业务在医疗机构的开展。未来随着相关政策法规进一步完善,LDT相关业务将给公司带来···

国航率先公布第三季度财报,疫情后首度扭亏

在阅读此文之前,希望用您发财的小手点一下“关注”,文章内容来源于网络但是最后会有小编的个人感悟,如有不足之处可以评论指出,谢谢您的支持。民航行业近期公布的积极消息显示了行业的积极向上趋势。多家航空公司在财报中宣布扭亏为盈,旅客运输量也逐步恢···

竹塑革命!中国发改委推动“以竹代塑”三年行动计划。

近日,中国国家发展和改革委员会发布了一份重要通知,名为《加快“以竹代塑”发展三年行动计划》,这一举措旨在推动“以竹代塑”产业体系的快速建立。这个消息将给与竹制品、造纸等行业密切相关的产业带来利好消息。竹子作为中国特色植物,广泛应用于造纸、包···