KDB-使用时间戳将列映射到表

时间:2019-02-28 16:39:17

标签: kdb

想象两个kdb表,(t1)记录带有时间戳的滴答数据(来自差异源的安全价格,即多列),(t2)记录带有时间戳的交易。

我的目标:

在t2上附加一列,以便它将针对t2中的每个时间戳从t1中的一列中提取值,该列中的时间戳最接近(或匹配)t2中的时间戳。所以我几乎想根据时间戳将t1中某一列的值映射到t2。

我知道这有点令人费解,但我认为可能还有其他方法可以对t2中的每个条目运行查询。

谢谢!

1 个答案:

答案 0 :(得分:1)

这可能并不完全是您想要的,但是考虑加入时可能会有所帮助:

aj[`sym`time;t2;t1]

假设记录按两个表中的时间列排序,则此命令将返回t1中的行,该行实际上是t2中的时间“截至”。 具体来说,对于t2中的给定时间值,匹配会选择t1中小于或等于t2中给定值的最大时间。

有关更多信息,请参阅https://code.kx.com/q/ref/joins/#aj-aj0-ajf-ajf0-asof-join