DolphinDb时序自动填充

这篇具有很好参考价值的文章主要介绍了DolphinDb时序自动填充。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

asFreq

语法

asFreq(X, rule, [closed], [label], [origin=’start_day’])

参数

X 是有时间类型索引的矩阵(由 setIndexedMatrix! 创建)或序列(由 setIndexedSeries! 创建)。

rule 可以是一个字符串,可取以下值,亦可为一个时间类型的向量。

Y参数取值

对应DolphinDB函数

“B”

businessDay

“W”

weekEnd

“WOM”

weekOfMonth

“LWOM”

lastWeekOfMonth

“M”

monthEnd

“MS”

monthBegin

“BM”

businessMonthEnd

“BMS”

businessMonthBegin

“SM”

semiMonthEnd

“SMS”

semiMonthBegin

“Q”

quarterEnd

“QS”

quarterBegin

“BQ”

businessQuarterEnd

“BQS”

businessQuarterBegin

“REQ”

FY5253Quarter

“A”

yearEnd

“AS”

yearBegin

“BA”

businessYearEnd

“BAS”

businessYearBegin

“RE”

FY5253

“D”

date

“H”

hourOfDay

“min”

minuteOfHour

“S”

secondOfMinute

“L”

millisecond

“U”

microsecond

“N”

nanosecond

New in version 2.00.9: 交易日历

rule 上述字符串亦可配合使用数字,例如 “2M” 表示频率为每两个月月末。除上述取值外,rule 也可指定交易日历的标识,以便基于交易日历进行计算。例如:国外交易所的 ISO Code、国内交易所简称或自定义交易日历名称。

New in version 2.00.6: 参数 closedlabelorigin

closed 字符串,表示分组区间哪一个边界是闭合的。

  • rule 为 ‘M’, ‘A’, ‘Q’, ‘BM’, ‘BA’, ‘BQ’ 和 ‘W’ 时,closed 的默认取值为 ‘right’ ,否则,closed 的默认取值为 ‘left’。

  • origin 取 ‘end’ 或者 ‘end_day’ 时,closed 的默认值为 ‘right’。

  • 2.00.6 版本,当 rule 的精度为天以上时,不支持使用默认值以外的选项。

label 字符串,表示将分组区间的哪一个边界作为 label 输出。

  • rule 为 ‘M’, ‘A’, ‘Q’, ‘BM’, ‘BA’, ‘BQ’ 和 ‘W’ 时,label 的默认取值为 ‘right’ ,否则,label 的默认取值为 ‘left’。

  • origin 取 ‘end’ 或者 ‘end_day’ 时,label 的默认值为 ‘right’。

  • 2.00.6 版本,当 rule 的精度为天以上时,不支持使用默认值以外的选项。

origin 字符串或和 X 具有相同时间类型的标量,表示基于时间戳调整分组。取值为 ‘epoch’, start’, ‘start_day’, ‘end’, ‘end_day’ 或自定义的时间对象,默认值为 ‘start_day’。

  • ‘epoch’:分组起始点为1970-01-01。

  • ‘start’:分组起始点为时间序列的第一个值。

  • ‘start_day’:分组起始点是时间序列的第一个值对应日期的午夜零点。

  • ‘end’:分组起始点是时间序列的最后一个时间戳。

  • ‘end_day’:分组起始点是时间序列的最后一个时间戳对应日期的午夜24点(即下一日的零点)。

详情

转换给定数据的时间频率。与 resample 函数不同,该函数不可使用聚合函数对数据进行处理。

例子

$ index = [2000.01.01, 2000.01.31, 2000.02.15, 2000.02.20, 2000.03.31, 2000.04.16, 2000.05.06, 2000.08.31]
$ s = indexedSeries(index, 1..8)
$ s

lable

0

2000.01.01

1

2000.01.31

2

2000.02.15

3

2000.02.20

4

2000.03.31

5

2000.04.16

6

2000.05.06

7

2000.08.31

8

$ s.asFreq("M")

lable

0

2000.01.31

2

2000.02.29

2000.03.31

5

2000.04.30

2000.05.31

2000.06.30

2000.07.31

2000.08.31

8

$ s.asFreq("2M")

lable

0

2000.01.31

2

2000.03.31

5

2000.05.31

2000.07.31

$ index = [2020.01.01, 2020.01.03, 2020.01.06]
$ s = indexedSeries(index, 1..3)
$ s

lable

0

2020.01.01

1

2020.01.03

2

2020.01.06

3

$ s.asFreq("D")

lable

0

2020.01.01

1

2020.01.02

2020.01.03

2

2020.01.04

2020.01.05

2020.01.06

3

$ s.asFreq("2D")

lable

0

2020.01.01

1

2020.01.03

2

2020.01.05

$ index = temporalAdd(2022.10.01 23:30:00,7*(0..8),`m)
$ s = indexedSeries(index, 3*(0..8))
$ s.asFreq("8min")

label

col1

2022.10.01T23:28:00

2022.10.01T23:36:00

2022.10.01T23:44:00

6

2022.10.01T23:52:00

2022.10.02T00:00:00

2022.10.02T00:08:00

2022.10.02T00:16:00

2022.10.02T00:24:00

$ s.asFreq(rule=`8min,closed=`right)

label

col1

2022.10.01T23:36:00

2022.10.01T23:44:00

6

2022.10.01T23:52:00

2022.10.02T00:00:00

2022.10.02T00:08:00

2022.10.02T00:16:00

2022.10.02T00:24:00

2022.10.02T00:32:00

$ s.asFreq(rule=`8min,closed=`right,origin=`end)

label

col1

2022.10.01T23:30:00

0

2022.10.01T23:38:00

2022.10.01T23:46:00

2022.10.01T23:54:00

2022.10.02T00:02:00

2022.10.02T00:10:00

2022.10.02T00:18:00

2022.10.02T00:26:00

24文章来源地址https://www.toymoban.com/news/detail-478645.html

到了这里,关于DolphinDb时序自动填充的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Typora上使用Mermaid语法展示流程图、时序图、甘特图

    你已经安装Typora并打开了一个新文档后,可以按照以下详细步骤在Typora上使用Mermaid语法展示流程图、时序图、甘特图 使用graph LR声明开始,并使用箭头和连接符号定义节点之间的关系。 例如,A -- B表示从节点A指向节点B的箭头连接。 效果: 使用sequenceDiagram声明开始,并使用

    2024年02月11日
    浏览(31)
  • MybatisPlus自动填充创建(更新)时间

    目录 一、实现MetaObjectHandler 二、使用注解 在大多数情况下,我们在创建数据库时都会加上创建、更新时间这些字段,为了保证数据的可追溯性,当然肯定还是有操作日志记录表用来做追溯记录。开发中每一次的创建更新都需要手动去设置这一次操作的时间,会有很多的代码

    2024年02月12日
    浏览(31)
  • MybatisPlus自动填充-MetaObjectHandler接口

    MetaObjectHandler是MybatisPlus提供的一个扩展接口,使用这个接口可以在插入和更新时为一些自段设置默认值(类似自动填充策略)。

    2024年02月09日
    浏览(78)
  • Mybtisplus对时间字段进行自动填充

            这里我主要对字段createTime和updateTime进行自动填充,你们可以修改为自己对应的字段即可。         在需要填充的字段上加入 @TableField(fill = FieldFill.INSERT)或者 @TableField(fill = FieldFill.UPDATE),当执行SQL语句时就会拦截语句随后对SQL语句添加了@TableField的时间字段进行时

    2024年01月25日
    浏览(30)
  • mybatis-plus自动填充

    在项目开发中,我们会发现有一些数据库表字段是每个表都有的,在之前针对这些字段我们的目前的处理方式就是 增加或者修改的时候一个一个的去赋值,如果都按这样的方法进行操作的话,那我们就需要在每个业务方法中进行操作,这样会显得我们的代码过于冗余、繁琐。

    2024年02月16日
    浏览(36)
  • Allegro如何用Label Tune功能自动调整丝印到器件中心

    Allegro 如何用Label Tune功能自动调整丝印到器件中心     在做PCB设计的时候,调整丝印是比较费时的工作,如果需要把整板的丝印位号调整到器件的中心做装配图使用,Allegro的Label Tune功能支持快速把丝印位号居中到器件中心。 以下图为例,快速把所有丝印位号居中 调整前 调

    2024年02月06日
    浏览(37)
  • Mybatis Plus 公共字段自动填充功能

    目录   1、问题引入 2、 基本功能实现 3、功能完善 3.1 ThreadLocal 3.1.1 介绍 3.1.2 常用方法 3.2 思路分析 3.3 代码实现 在我们的项目开发中,我们会发现有一些数据库表字段是每个表都有的,例如 : 创建时间,创建人 ,更新时间,更新人。 而我们目前的针对这些字段我们的目前

    2024年02月05日
    浏览(36)
  • openpyxl库自动填充excel实例分享

    openpyxl可以通过编写Python脚本实现自动化Excel操作,包括自动填充数据、格式化单元格、生成图表等操作。 以下是一个常见的自动化Excel操作示例: 自动填充数据: from openpyxl import Workbook from openpyxl.utils import get_column_letter from openpyxl.styles import Font   # 创建新的Excel工作簿 wb =

    2023年04月08日
    浏览(38)
  • RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! Selenium出来已经有很多年了,从最初的Selenium1到后来的Selenium2,也变得

    2024年04月08日
    浏览(62)
  • elasticsearch自动填充时间,并转换为上海时区

    由于ES默认时区为UTC,比我上海时区慢八个小时且是TZ格式,当我们需要自动填充为yyyyy-MM-dd HH:mm:ss格式时我们就需要对其进行处理。 1、定义预处理管道:chage_utc_to_asiash(管道名可更改) 2、创建索引,指定管道 3、写入数据 4.查看结果  

    2024年02月11日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包