我有一个交易表Trades
:
TradeID Stock Timestamp
1 GOOG 2014.03.03 09:13:59.054
2 GOOG 2014.03.03 09:28:12.003
3 GOOG 2014.03.03 09:28:18.199
4 GOOG 2014.03.03 09:52:03.628
5 GOOG 2014.03.03 11:18:52.629
...
以及价格标记数据表Prices
:
Stock Timestamp Bid Ask
GOOG 2014.03.03 08:02:34.297 102.21 102.41
GOOG 2014.03.03 08:02:40.118 102.32 102.42
GOOG 2014.03.03 08:02:44.090 102.33 102.43
GOOG 2014.03.03 08:03:20.197 102.34 102.44
GOOG 2014.03.03 08:05:09.325 102.35 102.45
...
当我进行asof加入时......
aj[
`Stock`Timestamp;
Trades;
update TimestampPrice:Timestamp from Prices / let's me track which price gets joined
]
...我收到了错误的结果:
TradeID Stock Timestamp TimestampPrice Bid Ask
1 GOOG 2014.03.03 09:13:59.054 2014.03.03 08:05:09.325 102.35 102.45
2 GOOG 2014.03.03 09:28:12.003 2014.03.03 08:05:09.325 102.35 102.45
3 GOOG 2014.03.03 09:28:18.199 2014.03.03 08:05:09.325 102.35 102.45
4 GOOG 2014.03.03 09:52:03.628 2014.03.03 08:05:09.325 102.35 102.45
5 GOOG 2014.03.03 11:18:52.629 2014.03.03 10:31:45.043 102.24 102.35
6 GOOG 2014.03.03 11:33:52.021 2014.03.03 10:31:45.043 102.24 102.35
Timestamp
显示交易时间,而TimestampPrice
显示已加入的价格数据的时间戳。尽管价格数据大约每30秒滴答一次, aj
加入价格的结果距离实际交易还有几个小时!例如,TradeID=1
在09:13:59
进行了交易,但加入了08:05:09
的价格。
此外,我发现加入的TimestampPrice
突然从08:05:09
跳到10:31:45
,我觉得很奇怪。
我已手动检查数据中是否存在可能导致此问题的空白。
可能出现什么问题?
答案 0 :(得分:0)
此外,还要确保将Timestamp列排序为aj 假设它是
- user2393012 4月9日8:47