假设有两个kdb表,(t1)正在记录带有时间戳的节拍数据(来自不同来源的证券价格,即多个列),(t2)正在记录带有时间戳的交易。
我的目标是:
向t2追加一列,以便对于t2中的每个时间戳,从t1中时间戳最接近(或匹配) t2中的时间戳的一列中提取值。因此,我几乎想根据时间戳将t1中某一列的值映射到t2。
我知道这有点令人费解,但我在想,除了对t2中的每个条目运行查询之外,可能还有其他方法。
谢谢!
发布于 2019-03-01 01:03:00
这可能不是您想要的,但考虑as of join可能会有所帮助:
aj[`sym`time;t2;t1]
假设两个表中的记录都是按时间列排序的,则此命令将返回在t1中有效的行,该行是t2中的“截至”时间。具体地说,对于以t2表示的给定时间值,匹配将选取小于或等于以t2表示的给定值的以t1表示的最大时间。
欲了解更多信息,请访问https://code.kx.com/q/ref/joins/#aj-aj0-ajf-ajf0-asof-join
https://stackoverflow.com/questions/54930390
复制相似问题