temporalDeltas

别名:datetimeDeltas

语法

temporalDeltas(X, [unit])

参数

X 是一个时间类型的向量、矩阵,或包含时间类型列的表。

unit 可选参数,是一个字符串标量,指定时间单位。取值可以是:

  • "d" 表示自然日
  • "B" 表示工作日
  • 一个交易日历标识,例如 "XNYS",对应的交易日历文件必须保存在 marketHolidayDir 配置项指定的目录中。
注: 若指定 unitX 必须是 DATE 类型。

详情

temporalDeltas 函数计算 X 中每个元素与前一个元素之间的时间差,NULL 值在计算中返回 NULL,且输出的第一个值总是 NULL。

  • X 是向量,返回一个包含 X 中两个元素之差的向量。
  • X 是矩阵,在每列内进行上述计算,返回一个与 X 维度相同的矩阵。
  • X 是表,在每个时间类型列内进行上述计算,返回一个与 X 行数与列数都相同的表。

当提供 unit 参数时,时间差的计算将基于指定的时间单位(天、工作日或特定交易所的交易日)。

例子

timestamps = [2020.06.13T13:30:10.000, 2020.06.13T13:30:10.010, 2020.06.13T13:30:10.021, 2020.06.13T13:30:10.033, 2020.06.13T13:30:10.046]
temporalDeltas(timestamps)
// Output: [,10,11,12,13]

若指定 unit 参数,X 必须为日期(DATE)类型:

times = [2019.12.31, 2020.01.03, 2020.01.10, 2020.01.15, 2020.01.17]
temporalDeltas(times, "d");
// Output: [NULL, 3, 7, 5, 2] 

temporalDeltas(times, "B");
// Output: [NULL, 3, 5, 3, 2] 

temporalDeltas(times, "XNYS");
// Output: [NULL, 2, 5, 3, 2]

sym = `A`B`C`D`E
num = 5 4 3 2 1
t = table(times, sym, num)
temporalDeltas(t);

/*
times sym num
----- --- ---
      A   5  
3     B   4  
7     C   3  
5     D   2  
2     E   1  
*/