【问题标题】:How to keep timestamp of price series when doing asof join in KDB?在 KDB 中加入 asof 时如何保持价格序列的时间戳?
【发布时间】:2014-04-08 10:45:29
【问题描述】:

在 KDB 中执行 asof 连接 aj[`stocks`time;`tradesTable;`priceSeries] 时,来自 `priceSeries`time 列不包含在输出中。

是否可以选择从`priceSeries 包含`time

【问题讨论】:

    标签: join kdb


    【解决方案1】:

    更新查找表以使用源表中不存在的新名称创建新列:

    t:([] time:07:00 08:30 09:59 10:00 12:00 16:00; 
      sym:`a`a`a`a`b`a; 
      price:0.9 1.5 1.9 2 9. 10.; 
      size:100*1 7 2 4 5 8);
    

    q:([] 时间:08:00+60*直到 8; 符号:ababbaba; 出价:1 9 2 8 8.5 3 7 4.);

    aj[symtime;吨;从 q 更新 qtime:time]

    【讨论】:

      【解决方案2】:

      使用aj0 而不是aj

      这会将时间列替换为右表中的值,而不是左表。如果您想要两次都必须使用 Ryan 的解决方案。

      【讨论】:

        猜你喜欢
        • 2012-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-23
        相关资源
        最近更新 更多